XLink viene utilizzato per creare collegamenti ipertestuali in documenti XML.
|
Supporto browser XLink
Non vi è alcun supporto del browser per XLink in documenti XML. Tuttavia, tutti i principali browser supportano Xlink in SVG .
XLink Sintassi
In HTML, il <a> elemento definisce un collegamento ipertestuale. Tuttavia, questo non è come funziona in XML. Nei documenti XML, è possibile utilizzare qualunque nome elemento che si desidera - quindi è impossibile per i browser di prevedere quali elementi collegamento sarà chiamata 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="http://www.w3ii.com">Visit w3ii</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
Per avere accesso alle funzioni XLink dobbiamo dichiarare il namespace XLink. Lo spazio dei nomi XLink è: "http://www.w3.org/1999/xlink" .
Il xlink: tipo ed il xlink:href attributi nella <homepage> gli elementi provengono dal namespace XLink.
Il xlink: type = "semplice" crea un semplice "HTML-like" collegamento (significa "clicca qui per andare là").
Il xlink:href attributo specifica l'URL a cui collegarsi.
XLink Esempio
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="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 al all'inizio del documento (xmlns:xlink="http://www.w3.org/1999/xlink")
- Il xlink: type = "semplice" crea un semplice "HTML-like" collegamento
- Il xlink:href attributo specifica l'URL di un collegamento a (in questo caso - una immagine)
- Il xlink: show = "new" specifica che il link dovrebbe aprire in una nuova finestra
XLink - Andando ulteriormente
Nell'esempio precedente abbiamo dimostrato Xlink semplici. XLink è sempre più interessante quando si accede a siti remoti come risorse, invece di pagine indipendenti.
Se si imposta il valore del xlink:show attributo di "embed" , la risorsa collegata deve essere elaborato in linea all'interno della pagina. Se si considera che questo potrebbe essere un altro documento XML si potrebbe, ad esempio, creare una gerarchia di documenti XML.
È inoltre possibile specificare quando si visualizza la risorsa, con il xlink:actuate attributo.
XLink Attributo di riferimento
Attributo | Valore | Descrizione |
---|---|---|
xlink:actuate | onLoad onRequest other none | Definisce quando la risorsa collegata viene letta e mostrata:
|
xlink:href | URL | Specifica l'URL come link a |
xlink:show | embed new replace other none | Specifica dove aprire il link. L'impostazione predefinita è "replace" |
xlink:type | simple extended locator arc resource title none | Specifica il tipo di collegamento |
XPointer
|
Supporto browser XPointer
Non vi è alcun supporto del browser per XPointer. Ma XPointer è utilizzato in altri linguaggi XML.
XPointer Esempio
In questo esempio, useremo XPointer in combinazione con XLink per puntare a una parte specifica di un altro documento.
Inizieremo cercando in documento XML di destinazione (il documento che si collegano a):
<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
<picture url="http://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="http://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>
Si noti che il documento XML precedente utilizza attributi id su ogni elemento!
Così, invece di collegare a tutto il documento (as with XLink) , XPointer consente di collegare a parti specifiche del documento. Per creare un collegamento a una parte specifica di una pagina, aggiungere un simbolo di cancelletto (#) e l'espressione XPointer dopo l'URL nella xlink:href attributo, in questo modo: xlink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( 'Rottweiler')) ". L'espressione si riferisce all'elemento nel documento di destinazione, con il valore id di "Rottweiler" .
XPointer permette anche un metodo scorciatoia per il collegamento a un elemento con un ID. È possibile utilizzare il valore della id direttamente, in questo modo: xlink: href = "http://dog.com/dogbreeds.xml#Rottweiler".
Il seguente documento XML contiene collegamenti a ulteriori informazioni della 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="http://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="http://dog.com/dogbreeds.xml#FCRetriever">
Fact about flat-coated Retriever
</fact>
</mydog>
</mydogs>