Exemplo de XPointer

Vamos aprender algumas gramáticas básicas do XPointer estudando um exemplo.

Exemplo de XPointer

Neste exemplo, mostraremos como usar XPointer e XLink para apontar para uma parte específica de outro documento.

Vamos começar estudando o documento XML de destino (ou seja, o documento que queremos conectar).

Documento XML de destino

O documento XML de destino é chamado "dogbreeds.xml", ele lista algumas espécies de cães diferentes:

<?xml version="1.0" encoding="ISO-8859-1"?>
<dogbreeds>
<dog raça="Rottweiler" id="Rottweiler">
  <imagem url="http://dog.com/rottweiler.gif" />
  <história>
  Os antepassados do Rottweiler provavelmente eram romanos
  cães de pastoreio.....
  </história>
  <temperamento>
  Confiantes, enérgicos, alertas e imponentes, o Rottweiler
  é uma escolha popular por sua capacidade de proteger....
  </temperamento>
</dog>
<dog raça="FCRetriever" id="FCRetriever">
  <imagem url="http://dog.com/fcretriever.gif" />
  <história>
  Um dos usos mais antigos dos cães de recuperação foi
  ajudar os pescadores a pescar peixes da água....
  </história>
  <temperamento>
  O retriever liso é doce, exuberante,
  cão vibrante que adora brincar e recuperar...
  </temperamento>
</dog>
</dogbreeds>

Abra o arquivo "dogbreeds.xml" no seu navegador

Nota:O documento XML acima usou a propriedade id em cada elemento que precisamos linkar!

Documento de Linkagem XML

Não apenas pode linkar ao documento inteiro (ao usar XLink), XPointer permite que você link para uma parte específica do documento. Se precisar linkar a uma parte específica da página, adicione um número hexadecimal (#) e uma expressão XPointer após a URL na propriedade xlink:href.

Expressão:#xpointer(id("Rottweiler")) Pode referenciar o elemento com o valor id "Rottweiler" no documento alvo.

Portanto, a propriedade xlink:href será algo assim:xlink:href="http://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

No entanto, ao usar links de id para algum elemento, o XPointer permite a forma abreviada. Você pode usar diretamente o valor do id, assim:xlink:href="http://dog.com/dogbreeds.xml#Rottweiler"

O seguinte documento XML pode referenciar as informações de espécies de cada cachorro, todas referenciadas por 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 é o meu cachorro favorito. Ele ganhou muitos.....
  </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 é o cachorro mais doce do mundo......
  </description>
</mydog>
</mydogs>