Sintassi di XLink e XPointer

Sintassi XLink

In HTML, sappiamo che l'elemento <a> definisce un collegamento ipertestuale. Tuttavia, non è così in XML. In un documento XML, è possibile utilizzare qualsiasi nome desiderato - quindi per il browser è impossibile prevedere quale elemento di collegamento ipertestuale può essere utilizzato nel documento XML.

Il metodo di definizione di un collegamento ipertestuale in un documento XML è quello di posizionare un'etichetta utilizzabile come collegamento ipertestuale sull'elemento.

Esempio semplice di creazione di link utilizzando XLink in un documento XML:

<?xml version="1.0"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
  <homepage xlink:type="simple"
  xlink:href="http://www.codew3c.com">Visit CodeW3C.com</homepage>
  <homepage xlink:type="simple"
  xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

Per accedere alle proprietà e alle caratteristiche di XLink, dobbiamo dichiarare il namespace XLink all'inizio del documento.

Il namespace di XLink è: "http://www.w3.org/1999/xlink".

Le proprietà xlink:type e xlink:href dell'elemento <homepage> definiscono i tipi e gli attributi href del namespace XLink.

xlink:type="simple" può creare un collegamento a due estremità semplice (cioè “da qui a dove”). Più tardi esploreremo i collegamenti a più estremità (multi-direzionali).

Sintassi di XPointer

In HTML, possiamo creare un collegamento ipertestuale che punti sia a una pagina HTML che a un segnalibro all'interno della pagina HTML (usando #).

A volte, è utile poter puntare a contenuti più specifici. Esempio, dobbiamo puntare al terzo elemento di una lista specifica o al secondo riga del quinto paragrafo. È facile farlo tramite XPointer.

Se un collegamento ipertestuale punta a un documento XML, possiamo aggiungere la parte XPointer all'URL alla fine, in modo da poter navigare (tramite espressioni XPath) a una posizione specifica del documento.

Esempio, nel seguente esempio, utilizziamo l'id unico “rock” per puntare al quinto elemento di una lista tramite XPointer.

href="http://www.example.com/cdlist.xml#id('rock').child(5,item)"