2001年7月15日(日)更新 |
■簡単なXMLドキュメントとDOM
たけち: これからJavaScriptでDOMを使うサンプルを作りながら勉強していきたいんだけど、まずはXMLドキュメントやJavaScriptの関係を確認しておこうね。 さらら: あぁ、いよいよ始まるのね。なんだかドキドキするわ。難しくないかしら… たけち: そんなに心配はいらないよ。いままでと同じように、Internet Explorerとmsxmlだからね。 さらら: あっ、そうなの? JavaScriptを使うのに何か特別なものはいらないの? たけち: あっ、それはInternet Explorerがあればいいんだよ。だいたいどんな風になるのかを図に載せておくね。 |
|
さらら: 図にあるようにJavaScriptで、XMLドキュメントを読み込んだり、DOMにアクセスしたりするプログラムを書くってことね。それと、DOMにアクセスするには、msxmlが要るのね。 たけち: そうそう。じゃぁ、まずごくごく基本的なところからやっていこう。そのためには、簡単なXMLドキュメントを作っておこうね。 さらら: そうね。簡単なのをお願いね。 たけち: じゃ、次のXMLドキュメントを見て。 |
■簡単なXMLドキュメントサンプル
<?xml version="1.0" encoding="Shift_JIS"?> |
さらら: あら、ずい分簡単ね。これなら問題なさそう。 たけち: で、このサンプルXMLドキュメントがDOMではどうツリー構造として表現されるかを次の図に描いておくね。 |
たけち: DOCUMENTノードの下に、poemという名前のELEMENTノードがあって、その子供としてTEXTノードがあるよね。 さらら: DOCUMENTノードってどんなXMLドキュメントにもあるのね。 たけち: そうだね。サンプルXMLドキュメントの概要がわかったところで、次は、JavaScriptでXMLドキュメントを読み込んだり、DOMを使ってノードの情報を読んだりするための基本的なことを説明しようね。 さらら: うん。 |
■XMLドキュメントを読むための基本
たけち: だいたい、つぎのような流れになるんだ。 さらら: オブジェクトってなぁに? たけち: う〜ん。。。ひとことでは説明しにくいんだけど、ここでは、XMLドキュメントを扱ってくれるもの、って考えておいて。今はすっきりしないかもしれないけど、サンプルを勉強していくと分かってくると思うからね。 さらら: うっ、うん。「もの」ねぇ・・・・まぁ、いいわ。 たけち: じゃ。順に説明していくね。 |
|
■XMLドキュメントをDOMで扱うためのオブジェクトを作る
たけち: 次の図に、XMLドキュメントをDOMで扱うためのオブジェクトを作るためのJavaScript文を載せておくね。 |
さらら: 意味はよく分からないわ。でも、とにかくこう書けばいいのよね。 (^ ^; たけち: そうだね。ここでは、こう書くんだ、て覚えておくだけでいいよ。ところで、変数の名前を変えたいときには、図のxml_documentのところを変えればいいから。このあとは、この変数名を使って、XMLドキュメントを読み込んだり、DOMを使って各ノードにアクセスすることができるんだよ。 さらら: じゃ、ともかくこう書くっていうことね。いいわ。 たけち: じゃ。次ね。 |
■XMLドキュメントを読み込む
たけち: 次の図に、XMLドキュメントを読み込む作るためのJavaScript文を載せておくね。 |
さらら: これならなんとなくわかった気になるわ。 たけち: そうだね。あとは、読み込んだXMLドキュメントのノードや内容をDOMを使って読むんだけど、こんかいはごく簡単なことをやってみるからサンプルについて説明するね。。 さらら: うん、そうして。 |
|
■サンプルJavaScriptの主な流れ
たけち: 次の図に、今回のサンプルで行うことの主な流れを描いておくね。実際にDOMを使うのは一箇所だけで、サンプルとして作ったXMLドキュメントのルートELEMENTの名前をとってくるだけなんだ。 |
さらら: だいたいの流れはわかったわ。でも、って、ずい分と長いのね。 たけち: そうだね。でも、その分、分かりやすいとは思うんだけど・・・ (^ ^;
さらら: そうなんだぁ。。。。わかったわ。ねぇ、たけち、そろそろ実際のサンプルを見てみたいわ。 たけち: そうだね。じゃぁ、次にJavaScriptを書いたHTMLテキストを載せておくね。 |
|
■JavaScriptサンプル
<html> |
さらら: あら、いままで出てこなかった文があるけど・・・・ たけち: いくつか説明をしてこなかったけど、innerHTMLだけは説明をしておこうね。innerHTMLは、HTMLの中のノードを指定したノードで置き換えるんだ。Microsoftの独自の仕様なんだけどね。
さらら: そうなんだ。。。。 たけち: じゃあ、このHTMLテキストをいつものようにファイルにしておくからクリックしてみて。 |
|
たけち: どう? さらら。少しはわかった? さらら: だいたいの感じはわかったわ。でも、すぐ忘れちゃいそう・・・・ たけち: そうだね。でも、これからいくつもサンプルをやっていけばだんだん頭に残っていくと思うんだ。 さらら: うん、そうね。 たけち: 長くなっちゃったから今回はここまでにしておくね。おつかれさま。 さらら: は〜い!! (^ ^* →次回は、子ノードを調べる、他です。 (^ ^; |
|
補足です・・・・・ (^ ^;
|