XPointerの例
XPointerの基本的な文法について学ぶために、一つの例を研究しましょう。
XPointerの例
この例では、XPointerとXLinkを組み合わせて、別のドキュメントの特定の部分を指す方法を説明します。
私たちは目標XMLドキュメント(つまりリンクする予定のドキュメント)を研究することから始めます。
目標XMLドキュメント
目標XMLドキュメント「dogbreeds.xml」は、いくつかの異なる犬の種類をリストアップしています:
<?xml version="1.0" encoding="ISO-8859-1"?> <dogbreeds> <dog breed="Rottweiler" id="Rottweiler"> <picture url="http://dog.com/rottweiler.gif" /> <history> ロットウェイラーの祖先はおそらくローマ人... ドロバー犬... </history> <temperament> 自信満々で大胆、警備意識が高く、圧倒的なロットウェイラー... 防護能力で人気があります... </temperament> </dog> <dog breed="FCRetriever" id="FCRetriever"> <picture url="http://dog.com/fcretriever.gif" /> <history> リトリーブドッグの最も早い使用の一つは、 漁師が水から魚を引き上げる手助けをする... </history> <temperament> フラットコートリトリーバーは、甘く、活発な、 遊びが好きで拾い上げることを好む活発な犬... </temperament> </dog> </dogbreeds>
ブラウザで「dogbreeds.xml」ファイルを確認してください。
注釈:上記のXMLドキュメントは、リンクする必要がある各要素にid属性を使用しています!
XMLリンクドキュメント
XLinkを使用して全体のドキュメントにリンクすることもできますが、XPointerは特定のドキュメントの部分にリンクすることができます。ページの特定の部分にリンクするには、xlink:href属性のURLの後にハッシュ記号(#)とXPointer表現を追加してください。
表現:#xpointer(id("Rottweiler")) ターゲットドキュメント内の id 値が「Rottweiler」の要素を参照できます。
したがって、xlink:href 属性はこんな感じになります:xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"
ただし、idを使用して要素にリンクする場合、XPointerは短縮形式を使用できます。idの値を直接使用できます。例えば、このように:xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"。
以下のXMLドキュメントは、XLinkおよびXPointerを使用して各犬の品種情報を参照できます:
<?xml version="1.0" encoding="ISO-8859-1"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"> <description xlink:type="simple" xlink:href="http://myweb.com/mydogs/anton.gif"> アントンは私の好きな犬です。彼は多くの.....を勝ち取っています。 </description> </mydog> <mydog xlink:type="simple" xlink:href="http://dog.com/dogbreeds.xml#FCRetriever"> <description xlink:type="simple" xlink:href="http://myweb.com/mydogs/pluto.gif"> プルートは地球上で最も甘い犬です...... </description> </mydog> </mydogs>