Esempio di XPointer

Facciamo un esempio per imparare alcune basi della sintassi XPointer.

Esempio di XPointer

In questo esempio, vi mostreremo come utilizzare XPointer e XLink per puntare a una parte specifica di un altro documento.

Inizieremo studiando il documento XML di destinazione (ovvero il documento a cui dobbiamo collegarci).

Il documento XML di destinazione

Il documento XML di destinazione si chiama "dogbreeds.xml", elenca alcune diverse razze di cani:

<?xml version="1.0" encoding="ISO-8859-1"?>
<dogbreeds>
<dog razza="Rottweiler" id="Rottweiler">
  <immagine url="http://dog.com/rottweiler.gif" />
  <storia>
  I antenati del Rottweiler erano probabilmente romani
  cane mandriano.....
  </storia>
  <temperamento>
  Confidente, audace, allertato e imponente, il Rottweiler
  è una scelta popolare per la sua capacità di proteggere...
  </temperamento>
</dog>
<dog razza="FCRetriever" id="FCRetriever">
  <immagine url="http://dog.com/fcretriever.gif" />
  <storia>
  Una delle prime usi dei cani da caccia è stato per
  aiutava i pescatori a recuperare pesci dall'acqua...
  </storia>
  <temperamento>
  Il flat-coated retriever è dolce, esuberante,
  un cane vivace che ama giocare e recuperare...
  </temperamento>
</dog>
</dogbreeds>

Visualizza "dogbreeds.xml" nel tuo browser

Nota:Il documento XML sopra utilizza l'attributo id su ogni elemento che dobbiamo collegare!

Documento di link XML

Non solo può collegarsi a tutto il documento (quando si utilizza XLink), ma XPointer ti permette di collegarti a parti specifiche del documento. Per collegarti a una parte specifica della pagina, aggiungi un numero hash (#) e un'espressione XPointer alla fine dell'URL nell'attributo xlink:href.

Espressione:#xpointer(id("Rottweiler")) può riferirsi all'elemento con l'id "Rottweiler" nel documento di destinazione.

Quindi, l'attributo xlink:href sarà simile a questo:xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

Ma quando si utilizza un collegamento id a un elemento, XPointer permette una forma abbreviata. Puoi usare direttamente il valore dell'id, come questo:xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"

Il seguente documento XML può riferirsi alle informazioni di razza di ogni cane, tutte tramite XLink e XPointer:

<?xml version="1.0" encoding="ISO-8859-1"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog xlink:type="simple"
  xlink:href="http://dog.com/dogbreeds.xml#Rottweiler">
  <description xlink:type="simple"
  xlink:href="http://myweb.com/mydogs/anton.gif">
  Anton è il mio cane preferito. Ha vinto molti.....
  </description>
</mydog>
<mydog xlink:type="simple"
  xlink:href="http://dog.com/dogbreeds.xml#FCRetriever">
  <description xlink:type="simple"
  xlink:href="http://myweb.com/mydogs/pluto.gif">
  Pluto è il cane più dolce del mondo......
  </description>
</mydog>
</mydogs>