Использование XLink для ссылки на узлы в одном документе
Общая суть простого 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 - я не знаю о вас, но для их интерпретации нужен особый тип людей, а я сегодня не такой человек!
В любом случае, я понимаю, что большинство XLink, похоже, имеют в виду ссылки на внешние ресурсы, и большинство примеров, которые я видел, используют ссылки http на веб-ресурсы... Мне просто любопытно, что вы можете сделать с XLink с точки зрения ссылки на определенная часть в документе XML.
Спасибо!
1 ответ
Я не думаю, что есть способ, который работает без использования XPointer или XPath. Я знаю, что вы не хотите, чтобы вас ссылались на спецификацию, но:
формат идентификатора фрагмента, [...] используемого в ссылке на 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>