2001年3月20日(火)更新 |
■XPathってなぁに?
さらら: ねぇ、たけち。いきなりXPathっていわれても困るんだけど・・・なぁに? XSLと関係があるの? たけち: さらら、そんなに心配しなくってもいいよ。実は、これまでのサンプルでもうXPathを使ってきているんだよ。 さらら: えっ。。。。。そっ、そうなの?! たけち: XPathは、XMLテキストの構造をたどって、要素や属性、文字列なんかを指し示すための言語なんだよ。そうして、そのXPathはXSLで使われてているんだよ。 さらら: というと・・・XSLで要素や属性、文字列なんかを指し示す、ってことだから。。。えっ〜と たけち: XSLでつぎのような文を使ったよね。
さらら: うん。 たけち: それぞれの"万葉集/巻"や"@url"っていう書き方がXPathというもので決められているんだよ。 さらら: あっ、そうなんだ〜。なんとなく分かっているつもりだったけど、あらためてそんな風に言われると、。。。。 たけち: それは、さららがWindowsなんかのファイルの階層関係を知っているからだと思うよ。それとXPathってなんとなく似た感じだものね。 さらら: あっ、そうなの。。 |
■XPathのデータモデル
たけち: じゃぁXPathについて説明してゆこうね。XPathを学ぶためには、XPathでのXMLデータモデルを知っておかないといけないね。 さらら: えっ? データモデル?! また難しい言葉を使って・・・もっとやさしく説明してよ!! たけち: う〜ん。。。XMLテキストの要素や属性、文字列なんかの内容がどんな風に関係し合って構造を作っているかをイメージするためのもの、っていったらいいかな。 さらら: ふ〜ん・・・・分かったような分かんないような・・・ |
たけち: じっ、じゃぁ、XMLテキストのサンプルでXPathのデータモデルを見ていこうね。いままで見てきた「万葉集」のXMLテキストをXPathではどんな風に見るかを説明するね。まずは、次の「万葉集」のXMLテキストをみてみよう。 |
<?xml version="1.0" encoding="Shift_JIS"?> |
さらら: うん。だいぶ見慣れたからいいわ。で、XPathのデータモデルってどうなるのかしら・・・ (^ ^* たけち: あっ、やな言い方・・・ (^ ^; さらら: ごめんなさい、つい・・・(^ ^* |
さらら: なぁ〜んだ。これまでの説明に出てきた図とそんなにかわらないじゃない・・・・・でも、よくみるとちょっと違うわね。ルートノードとか要素ノードとか。。。 たけち: この図のひとつひとつのかたまり、つまりXMLテキストを構成している単位を「ノード」っていうんだ。どんなXMLテキストもひとつの「ルートノード」があるんだよ。あっ、そうそうこの図を「ノードツリー」っていうんだ。 さらら: ノードツリー? ツリーって、樹木のこと? たけち: そうなんだ。まるで「樹木」の枝分かれのようなイメージだね。 さらら: でも、「ルート」って「根っこ」のことでしょ。「根っこ」が一番上にあるってなんだか変なの。 たけち: そうだね。。。でも、その方がXMLテキストの構造を図でイメージするときには「ルート」が上にあったほうが分かりやすいよね。 さらら: そうね。 たけち: じゃあ、次回はこの図を元にXPathについて少し詳しく説明するね。 さらら: は〜い!! (^ ^* →次はXPath-その2です (^ ^; |