Usando XLink para referirse a los nodos dentro de un mismo documento
Pregunta
La esencia general de una simple XLink a otro nodo en el mismo documento parece ser:
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<firstChild id="ID1" />
...
<ref xlink:href="#ID1" />
</root>
Sin utilizar XPointer o XPath, es esto lo más que se puede hacer con XLink? Podrías hacer un XLink, que, por ejemplo, se refiere a un customId
lugar, algo que parecía:
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<firstChild id="ID1" customId="{1234-5678}" />
...
<ref xlink:href="#customId/{1234-5678}" />
</root>
Por favor, no me acaba de hacer referencia a la especificación W3 - no sé sobre usted, pero se necesita un tipo especial de persona para poder interpretarlos, y yo no soy esa persona hoy
!De todos modos, entiendo que la mayoría XLink parece estar a punto se refiere a los recursos externos, y la mayoría de los ejemplos que he visto utilizar vínculos a recursos web http ... tengo curiosidad en cuanto a lo que puede hacer con XLink en términos de referirse a una parte específica dentro de un documento XML.
Gracias!
Solución
No creo que hay una manera que funciona sin necesidad de utilizar XPointer o XPath. Sé que no quiere hacer referencia a la especificación, pero:
Desde el XLink especificación :
el formato del identificador de fragmento [...] se utiliza dentro de la URI de referencia es especificada por la especificación XPointer.
Desde el XPointer especificación :
XPointer [...] se basa en el XML Path Language (XPath)
Así que yo diría que es algo como:
<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>