Question

Le sens général d'un simple, XLink à un autre noeud dans le même document semble être:

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

Sans utiliser XPointer ou XPath, est-ce autant que vous pouvez faire avec XLink? Pourriez-vous faire une XLink qui, par exemple, fait référence à un customId au lieu, quelque chose qui ressemblait à:

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

S'il vous plaît ne me réfère pas seulement à la spec W3 - Je ne sais pas pour vous, mais il faut un type de personne pour être en mesure de les interpréter, et je ne suis pas cette personne aujourd'hui

Quoi qu'il en soit, je comprends que la plupart XLink semblent être de référence aux ressources externes, et la plupart des exemples que je l'ai vu utiliser des liens http vers des ressources web ... Je suis curieux de savoir ce que vous pouvez faire avec XLink en termes de se référer à une partie spécifique dans un document XML.

Merci!

Était-ce utile?

La solution

Je ne pense pas qu'il y ait une manière qui fonctionne sans utiliser XPointer ou XPath. Je sais que vous ne voulez pas être soumis à la spécification, mais:

De la XLink spécifications :

  

le format de l'identifiant de fragment   [...] utilisé dans la référence URI est   spécifié par la spécification XPointer.

De la XPointer spécifications :

  

XPointer [...] est basé sur le langage XML Path (XPath)

Je dirais que c'est quelque chose comme:

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top