XML, XLink e XQuery

XLink viene utilizzato per creare hyperlink nei documenti XML

XPath

  • XLink viene utilizzato per creare hyperlink nei documenti XML
  • Qualsiasi elemento in un documento XML può agire come collegamento
  • Tramite XLink, è possibile definire i collegamenti al di fuori del file collegato
  • XLink è uno standard raccomandato dal W3C

Supporto dei browser XLink

I browser non supportano XLink nei documenti XML.

Ma tutti i browser mainstream lo supportano XLink in SVG.

Sintassi XLink

In HTML, l'elemento <a> definisce l'hyperlink. Tuttavia, questo non è il suo modo di funzionare in XML.

In un documento XML, puoi utilizzare qualsiasi nome di elemento desiderato - quindi il browser non può prevedere quali elementi di collegamento verranno chiamati nel documento XML.

Ecco un esempio semplice su come utilizzare XLink per creare collegamenti in un documento XML:

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

Se dobbiamo accedere alle funzionalità di XLink, dobbiamo dichiarare lo spazio dei nomi XLink. Lo spazio dei nomi XLink è: "http://www.w3.org/1999/xlink".

L'attributo xlink:type e xlink:href nell'elemento <homepage> provengono da questo spazio dei nomi XLink.

xlink:type="simple" crea un collegamento "simile HTML" (cioè "fai clic qui per andare altrove").

L'attributo xlink:href specifica l'URL da collegare.

Esempio di XLink

Il seguente documento XML contiene funzionalità XLink:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="Discorso dell'Accademia Yashu">
  <description
  xlink:type="simple"
  xlink:href="/images/cswd.jpg"
  xlink:show="new">
  Il "Discorso dell'Accademia Yashu" è considerato una guida per la cucina Swatow, che fornisce la guida e l'aiuto necessari agli amanti della cucina e agli enogastronomi.
  Questo libro può anche essere considerato un libro umanistico di cucina Swatow, che introduce la cucina Swatow e non il cibo Swatow, esplorando e mostrando pienamente la cultura locale, le abitudini alimentari e i dettagli storici nascosti dietro i cibi.
  </description>
</book>
<book title="Il fantastico papà della volpe">
  <description
  xlink:type="simple"
  xlink:href="/images/mrfox.jpg"
  xlink:show="new">
  Boghis, Bons e Bin sono le persone più meschine e meschine che puoi incontrare, odiavano il signor Faino e decisero di uccidere tutta la sua famiglia.
  Così, queste tre persone con le pistole aspettavano insidiosamente all'esterno della grotta del signor Faino... Ma il signor Faino aveva un piano perfetto per affrontarli!
  Così, è iniziata una sfida tra saggezza e forza...
  </description>
</book>
</bookstore>

Esempio di spiegazione:

  1. Lo spazio dei nomi XLink viene dichiarato in alto nel documento (xmlns:xlink="http://www.w3.org/1999/xlink")
  2. xlink:type="simple" crea un link "simile a HTML"
  3. L'attributo xlink:href specifica l'URL a cui il link deve essere collegato (nel presente esempio, un'immagine)
  4. xlink:show="new" indica che il link dovrebbe aprirsi in una nuova finestra

XLink - Andare oltre

Nell'esempio sopra, abbiamo dimostrato un XLink semplice.

Quando utilizziamo posizioni remote come risorse invece di accedere a pagine indipendenti, XLink diventa più interessante.

Se imposta il valore dell'attributo xlink:show a "embed", la risorsa collegata dovrebbe essere trattata inline nella pagina. Ad esempio, se pensi che possa essere un altro documento XML, puoi costruire la gerarchia del documento XML.

Puoi anche utilizzare l'attributo xlink:actuate per specificare quando la risorsa dovrebbe apparire.

Riferimento alle proprietà XLink

Proprietà Valore Descrizione xlink:actuate onLoad onRequest altro nessuno Definire quando leggere e visualizzare le risorse collegate: onLoad - Le risorse dovrebbero essere caricate e visualizzate durante il caricamento del documento onRequest - La risorsa non viene letta o visualizzata prima di cliccare sul link xlink:href URL stabilisce l'URL da cui il link deve essere raggiunto. xlink:show incorporato nuovo replace altro nessuno stabilisce dove aprire il link. Di default è "replace". xlink:type semplice esteso localizzatore arco risorsa title nessuno stabilisce il tipo di link.

XPointer

XPath
  • XPointer permette di linkare a parti specifiche di un documento XML
  • XPointer utilizza espressioni XPath per navigare nei documenti XML
  • XPointer è uno standard raccomandato dal W3C

Supporto dei browser XPointer

Non ci sono browser che supportano XPointer. Ma XPointer viene utilizzato anche in altri linguaggi XML.

Esempio di XPointer

In questo esempio, useremo sia XPointer che XLink per puntare a una parte specifica di un altro documento.

Prima di tutto, diamo un'occhiata a questo documento XML di destinazione (il documento a cui ci colleghiamo):

<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://dog.com/rottweiler.gif" />
  <history>gli antenati del Rottweiler erano probabilmente romani
  cattivi cani.....</history>
  <temperament>Confidente, audace, allertato e imponente, il Rottweiler
  è una scelta popolare per la sua capacità di proteggere....</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>Uno degli usi più antichi dei cani da recuperare era per
  aiutare i pescatori a recuperare il pesce dall'acqua....</history>
  <temperament>Il retriever a pelo liscio è dolce, vivace,
  un cane vivace che ama giocare e recuperare....</temperament>
</dog>
</dogbreeds>

Attenzione, il documento XML utilizza l'attributo id su ogni elemento!

Quindi, XPointer ti permette di collegarti a parti specifiche del documento, piuttosto che al documento intero (come XLink).

Per collegarsi a una parte specifica della pagina, aggiungi un cancelletto (#) e l'espressione XPointer alla fine dell'URL nell'attributo xlink:href, come nel seguente esempio:

xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"

L'espressione si riferisce all'elemento con il valore id "Rottweiler" nel documento di destinazione.

xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。

XPointer permette anche di utilizzare metodi abbreviati per collegarsi a elementi con id. Puoi utilizzare direttamente il valore dell'id, come nel seguente esempio:

xlink:href="https://dog.com/dogbreeds.xml#Rottweiler

Il seguente documento XML contiene collegamenti che si riferiscono a informazioni dettagliate su ogni razza di cane:

<?xml version="1.0" encoding="UTF-8"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog>
  <description>
  Anton è il mio cane preferito. Ha vinto molti.....
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Fatti sul Rottweiler
  </fact>
</mydog>
<mydog>
  <description>
  Pluto è il cane più dolce sulla terra......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Fatto su Retriever a pelo liscio
  </fact>
</mydog>
</mydogs>