Ejemplo de XPointer

Vamos a aprender algunas gramáticas básicas de XPointer mediante el estudio de un ejemplo.

Ejemplo de XPointer

En este ejemplo, le mostraremos cómo usar XPointer junto con XLink para apuntar a una parte específica de otro documento.

Vamos a comenzar estudiando el documento XML de destino (es decir, el documento al que queremos hacer referencia).

Documento XML de destino

El documento XML de destino se llama "dogbreeds.xml", y enumera varias especies de perros:

<?xml version="1.0" encoding="ISO-8859-1"?>
<dogbreeds>
<dog especie="Rottweiler" id="Rottweiler">
  <imagen url="http://dog.com/rottweiler.gif" />
  <historia>
  Los antepasados del Rottweiler probablemente eran romanos
  perros de pastoreo.....
  </historia>
  <temperamento>
  Confiable, audaz, alerta y impresionante, el Rottweiler
  es una opción popular por su capacidad de proteger...
  </temperamento>
</dog>
<dog especie="FCRetriever" id="FCRetriever">
  <imagen url="http://dog.com/fcretriever.gif" />
  <historia>
  Una de las primeras usos de los perros retriever fue para
  ayudar a los pescadores a recuperar peces del agua...
  </historia>
  <temperamento>
  El perro retriever plano es dulce, exuberante,
  perro vivaz que ama jugar y recuperar...
  </temperamento>
</dog>
</dogbreeds>

Vea el archivo "dogbreeds.xml" en su navegador

Notas:El documento XML anterior ha utilizado el atributo id en cada elemento que necesitamos enlazar!

Documento de enlace XML

No solo puede enlazar a todo el documento (cuando se utiliza XLink), XPointer permite enlazar a partes específicas del documento. Si desea enlazar a una parte específica de la página, agregue un símbolo de número (#) y una expresión de XPointer al final de la URL en el atributo xlink:href.

Expresión:#xpointer(id("Rottweiler")) Se puede hacer referencia al elemento con el valor de id "Rottweiler" en el documento de destino.

Por lo tanto, el atributo xlink:href será algo así:xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

Sin embargo, cuando se usa un enlace id a un elemento, XPointer permite una forma abreviada. Puede usar directamente el valor del id, como así:xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"

El siguiente documento XML puede referenciar la información de la raza de cada perro, que se refiere a través de XLink y 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 es mi perro favorito. Ha ganado mucho.....
  </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 es el perro más dulce del mundo......
  </description>
</mydog>
</mydogs>