Esercitazione XML

XML CASA Introduzione XML XML Come usare Albero XML Sintassi XML Elementi XML Attributi XML Spazi dei nomi XML Visualizzazione XML Richiesta HTTP XML Analizzatore XML XML DOM XPath XML XML XSLT XQuery XML XML XLink Validatore XML DTD XML Schema XML Server XML Esempi XML Quiz XML Certificato XML

XML AJAX

Introduzione AJAX AJAX XMLHttp Richiesta AJAX Risposta dell'AJAX File XML AJAX AJAX PHP AJAX ASP Database AJAX Applicazioni AJAX Esempi AJAX

XML DOM

DOM Introduzione Nodi DOM Accesso DOM Informazioni sul nodo DOM Elenco dei nodi DOM DOM attraversando Navigazione DOM DOM Ottieni valori Nodi di modifica DOM DOM Rimuovere i nodi DOM Sostituisci nodi DOM Crea nodi DOM Aggiungi nodi Clonazione dei nodi DOM Esempi DOM

Esercitazione XPath

Introduzione a XPath Nodi XPath Sintassi XPath Assi XPath Operatori XPath Esempi di XPath

Esercitazione XSLT

Introduzione a XSLT Lingue XSL Trasformazione XSLT XSLT <modello> XSLT <valore-di> XSLT <per-ciascuno> XSLT <ordina> XSLT <se> XSLT <scegli> Applicare XSLT XSLT sul Cliente XSLT sul server XSLT Modifica XML Esempi XSLT

Esercitazione XQuery

Introduzione a XQuery Esempio XQuery XQuery FLWOR XQuery HTML Termini di XQuery Sintassi XQuery Aggiungi XQuery XQuery Seleziona Funzioni XQuery

DTD XML

Introduzione alla DTD Blocchi di costruzione DTD Elementi DTD Attributi DTD Elementi DTD vs Attr Entità DTD Esempi di DTD

Schema XSD

Introduzione all'XSD XSD Come fare per XSD <schema> Elementi XSD Attributi XSD Restrizioni XSD

Complesso XSD

Elementi XSD XSD vuoto Solo elementi XSD Solo testo XSD XSD misto Indicatori XSD XSD <qualsiasi> XSD <qualsiasi attributo> Sostituzione XSD Esempio XSD

Dati XSD

Stringa XSD Data XSD Numerico XSD XSD Varie Riferimento XSD

Servizi Web

Servizi XML XML WSDL SAPONE XML XML RDF RSS XML

Riferimenti

Tipi di nodi DOM Nodo DOM Elenco nodi DOM DOM NamedNodeMap Documento DOM Elemento DOM Attributo DOM Testo DOM DOM CDATA Commento DOM DOM XMLHttpRichiesta Analizzatore DOM Elementi XSLT Funzioni XSLT/XPath

XML , XLink e XPointer


XLink viene utilizzato per creare collegamenti ipertestuali in documenti XML.


XPath
  • XLink viene utilizzato per creare collegamenti ipertestuali all'interno di documenti XML
  • Qualsiasi elemento in un documento XML può comportarsi come un collegamento
  • Con XLink, i collegamenti possono essere definiti al di fuori dei file collegati
  • XLink è una raccomandazione del W3C

Supporto del browser XLink

Non esiste il supporto del browser per XLink nei documenti XML.

Tuttavia, tutti i principali browser supportano XLink in SVG .


Sintassi XLink

In HTML, l'elemento <a> definisce un collegamento ipertestuale. Tuttavia, non è così che funziona in XML. Nei documenti XML, puoi utilizzare qualsiasi nome di elemento desideri, quindi è impossibile per i browser prevedere quali elementi di collegamento verranno chiamati nei documenti XML.

Di seguito è riportato un semplice esempio di 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.w3schools.com">Visit W3Schools</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>

Per ottenere l'accesso alle funzionalità di XLink, dobbiamo dichiarare lo spazio dei nomi XLink. Lo spazio dei nomi XLink è: "http://www.w3.org/1999/xlink".

Gli attributi xlink:type e xlink:href negli elementi <homepage> provengono dallo spazio dei nomi XLink.

Il xlink:type="simple" crea un semplice collegamento "simile a HTML" (significa "fai clic qui per andare lì").

L'attributo xlink:href specifica l'URL a cui collegarsi.


Esempio XLink

Il seguente documento XML contiene le funzionalità di XLink:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">

<book title="Harry Potter">
  <description
  xlink:type="simple"
  xlink:href="/images/HPotter.gif"
  xlink:show="new">
  As his fifth year at Hogwarts School of Witchcraft and
  Wizardry approaches, 15-year-old Harry Potter is.......
  </description>
</book>

<book title="XQuery Kick Start">
  <description
  xlink:type="simple"
  xlink:href="/images/XQuery.gif"
  xlink:show="new">
  XQuery Kick Start delivers a concise introduction
  to the XQuery standard.......
  </description>
</book>

</bookstore>

Esempio spiegato:

  • Lo spazio dei nomi XLink è dichiarato all'inizio del documento (xmlns:xlink="http://www.w3.org/1999/xlink")
  • xlink:type="simple" crea un semplice collegamento "simile a HTML".
  • L'attributo xlink:href specifica l'URL a cui collegarsi (in questo caso, un'immagine)
  • Il xlink:show="new" specifica che il collegamento dovrebbe aprirsi in una nuova finestra


XLink - Andare oltre

Nell'esempio sopra abbiamo dimostrato semplici XLink. XLink sta diventando più interessante quando si accede a località remote come risorse, anziché come pagine autonome.

Se impostiamo il valore dell'attributo xlink:show su "embed", la risorsa collegata dovrebbe essere elaborata in linea all'interno della pagina. Se si considera che questo potrebbe essere un altro documento XML, è possibile, ad esempio, creare una gerarchia di documenti XML.

Puoi anche specificare QUANDO dovrebbe apparire la risorsa, con l'attributo xlink:actuate.


Riferimento attributo XLink

Attribute Value Description
xlink:actuate onLoad
onRequest
other
none
Defines when the linked resource is read and shown:
  • onLoad - the resource should be loaded and shown when the document loads
  • onRequest - the resource is not read or shown before the link is clicked
xlink:href URL Specifies the URL to link to
xlink:show embed
new
replace
other
none
Specifies where to open the link. Default is "replace"
xlink:type simple
extended
locator
arc
resource
title
none
Specifies the type of link

Puntatore XP

XPath
  • XPointer consente ai collegamenti di puntare a parti specifiche di un documento XML
  • XPointer utilizza le espressioni XPath per navigare nel documento XML
  • XPointer è una raccomandazione del W3C

Supporto del browser XPer

Non è disponibile il supporto del browser per XPointer. Ma XPointer è usato in altri linguaggi XML.


Esempio di XPointer

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

Inizieremo osservando il documento XML di destinazione (il documento a cui ci stiamo collegando):

<?xml version="1.0" encoding="UTF-8"?>

<dogbreeds>

<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://dog.com/rottweiler.gif" />
  <history>The Rottweiler's ancestors were probably Roman
  drover dogs.....</history>
  <temperament>Confident, bold, alert and imposing, the Rottweiler
  is a popular choice for its ability to protect....</temperament>
</dog>

<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>One of the earliest uses of retrieving dogs was to
  help fishermen retrieve fish from the water....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  lively dog that loves to play and retrieve....</temperament>
</dog>

</dogbreeds>

Nota che il documento XML sopra usa gli attributi id su ogni elemento!

Quindi, invece di collegare all'intero documento (come con XLink), XPointer ti consente di collegarti a parti specifiche del documento. Per creare un collegamento a una parte specifica di una pagina, aggiungi un segno numerico (#) e un'espressione XPointer dopo l'URL nell'attributo xlink:href, in questo modo: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))". L'espressione si riferisce all'elemento nel documento di destinazione, con il valore id di "Rottweiler".

XPointer consente anche un metodo abbreviato per il collegamento a un elemento con un id. Puoi utilizzare direttamente il valore dell'id, in questo modo: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".

Il seguente documento XML contiene collegamenti a ulteriori informazioni sulla razza del cane per ciascuno dei miei cani:

<?xml version="1.0" encoding="UTF-8"?>

<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">

<mydog>
  <description>
  Anton is my favorite dog. He has won a lot of.....
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Fact about Rottweiler
  </fact>
</mydog>

<mydog>
  <description>
  Pluto is the sweetest dog on earth......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>

</mydogs>