Использование 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-документа.
Спасибо!
Решение
Я не думаю, что существует способ работать без использования XPointer или XPath.Я знаю, что вы не хотите, чтобы вас отсылали к спецификации, но:
Формат идентификатора фрагмента [...], используемого в ссылке URI, определяется спецификацией Xpointer.
XPointer [...] основан на языке XML Path (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>