2009-06-09 4 views
1

一般的な要点はあると思われる:同じドキュメント内のノードを参照するためのXLinkを使用すると、同じドキュメント内の別のノードへの単純なXLinkのの

<root xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <firstChild id="ID1" /> 
    ... 
    <ref xlink:href="#ID1" /> 
</root> 

のXPointerまたはXPathを使用しなければ、することができますように、この限りでありますXLinkとは? - 私はあなたのことは知らないが、それは、Aかかる

<root xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <firstChild id="ID1" customId="{1234-5678}" /> 
    ... 
    <ref xlink:href="#customId/{1234-5678}" /> 
</root> 

だけW3 specに私を参照しないでください:あなたの代わりにcustomId言及、たとえば、XLinkの、ように見えた何かができます彼らを解釈できるように特別な人がいて、私は今日その人ではありません!

とにかく、私はほとんどのXLinkが外部リソースを参照しているようですが、私が見たほとんどの例はWebリソースへのhttpリンクを使用していると思います...私はあなたがXLinkを使ってできることXML文書内の特定の部分を参照する用語。

ありがとうございます!

答えて

5

XPointerやXPathを使用せずに動作する方法はないと思います。私はあなたが仕様を参照することにしたくない知っているが、:

XLink specから:

フラグメント識別子 の形式[...] URI参照内で使用 が指定されていますXPointer仕様に従う。 XPointer specから

:XPointerのが[...] XMLパス言語(XPath)

に基づいています

だから私はそれのようなものだと思います

<root xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <firstChild id="ID1" customId="{1234-5678}" /> 
    ... 
    <ref xlink:href="#xpointer(/root/firstChild[@customId = '{1234-5678}'])" /> 
</root> 
+1

href = "#ID1"はhref = "xpointer(id( 'ID1'))"の短縮形です。 XPointerなしではできません。 – Onots

+0

さて、それはもっと意味をなさないようになっています。私はそれにかなり精通しているので、実際はすべてがXPathに実際に戻ってくるのはいいことです。 XPointerの詳細を今すぐ学ぶ必要があります。ありがとう。 – Gavin

+1

XLink仕様で参照されているXPointer文書は、XPointerフレームワーク(http://www.w3.org/TR/xptr-framework/)に取って代わりました。 xpointer()スキームは、http://www.w3.org/TR/xptr-xpointer/で定義されています。 – Tomalak

関連する問題