Utilizzando XLink per riferirsi a nodi all'interno stesso documento
Domanda
La sostanza generale di un semplice XLink un altro nodo stesso documento sembra essere:
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<firstChild id="ID1" />
...
<ref xlink:href="#ID1" />
</root>
Senza usare XPointer o XPath, è questo tanto quanto si può fare con Xlink? Puoi fare un XLink che, per esempio, di cui un customId
, invece, qualcosa che sembrava:
<root xmlns:xlink="http://www.w3.org/1999/xlink">
<firstChild id="ID1" customId="{1234-5678}" />
...
<ref xlink:href="#customId/{1234-5678}" />
</root>
Per favore, non solo a me fare riferimento alla W3 spec - non so voi, ma ci vuole un particolare tipo di persona che deve essere in grado di interpretarli, e io non sono quella persona oggi
!In ogni caso, ho capito che la maggior parte XLink sembrano essere circa riferimento a risorse esterne, e la maggior parte esempi che ho visto utilizzare i collegamenti http a risorse web ... Sono solo curioso di sapere cosa si può fare con Xlink in termini di riferirsi a una parte specifica all'interno di un documento XML.
Grazie!
Soluzione
Non credo che ci sia un modo che funziona senza l'utilizzo di XPointer e XPath. So che non si vuole essere di cui alle specifiche, ma:
il formato del identificatore di frammento [...] utilizzato entro il riferimento URI è specificato dalla specifica XPointer.
XPointer [...] si basa su XML Path Language (XPath)
Quindi direi che è qualcosa di simile:
<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>