简单XLink到同一文档中另一个节点的一般要点似乎是:
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<firstChild id="ID1" />
...
<ref xlink:href="#ID1" />
</root>
不使用XPointer或XPath,这与XLink一样多吗?你可以做一个XLink,比如提到一个customId
,看起来像是这样的东西:
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<firstChild id="ID1" customId="{1234-5678}" />
...
<ref xlink:href="#customId/{1234-5678}" />
</root>
请不要仅仅引用我W3 spec - 我不了解你,但需要一个特殊的人来解释它们,我今天不是那个人!< / p>
无论如何,据我所知,大多数XLink似乎都是关于引用外部资源,而且我见过的大多数例子都使用http链接到网络资源......我只是好奇你能用XLink做些什么来做什么引用XML文档中的特定部分。
谢谢!
答案 0 :(得分:5)
我不认为有一种方法可以在不使用XPointer或XPath的情况下运行。我知道你不想参考规范,但是:
来自XLink spec:
片段标识符的格式 [...]在URI引用中使用的是 由XPointer规范指定。
XPointer [...]基于XML Path Language(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>