Ultimele tutoriale de dezvoltare web
 

XML XLink și XPointer


XLink este utilizat pentru a crea hyperlink-uri în documente XML.


XPath
  • XLink este utilizat pentru a crea hyperlink-uri din documente XML
  • Orice element dintr-un document XML se poate comporta ca un link
  • Cu XLink, link-urile pot fi definite în afara fișierelor legate
  • XLink este o recomandare W3C

XLink Suport pentru browser

Nu există nici un suport pentru browser-ul XLink în documentele XML. Cu toate acestea, toate browserele majore suporta XLinks în SVG .


XLink Sintaxa

In HTML, The <a> elementul definește un hyperlink. Cu toate acestea, acest lucru nu este modul în care funcționează în XML. În documentele XML, puteți utiliza orice nume de elemente pe care doriți - prin urmare, este imposibil pentru browsere pentru a prezice ce elemente link-ul va fi numit în documentele XML.

Mai jos este un exemplu simplu de modul de utilizare a XLink pentru a crea link-uri într-un document 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>

Pentru a avea acces la funcțiile XLINK trebuie să declare spațiul de nume XLink. XLink spațiul de nume este: "http://www.w3.org/1999/xlink" .

Xlink: Tipul și xlink:href atribute în <homepage> elemente provin din spațiul de nume XLink.

Xlink: type = "simplu" creează un simplu "HTML-like" link - ul (înseamnă "click aici pentru a merge acolo").

xlink:href atribut specifica URL - ul pentru a lega.


XLink Exemplu

Următorul document XML conține caracteristici 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>

Exemplu explicat:

  • XLink spațiul de nume este declarat la partea de sus a documentului (xmlns:xlink="http://www.w3.org/1999/xlink")
  • Xlink: type = "simplu" creează un simplu "HTML-like" link -
  • xlink:href atribut specifica adresa URL a link - ul (în acest caz - o imagine)
  • Xlink: Show = „nouă“ specifică faptul că link-ul ar trebui să deschidă într-o fereastră nouă

XLink - Mergeți mai departe

In exemplul de mai sus am demonstrat XLinks simple. XLink devine mai interesant atunci când accesați locații la distanță ca resurse, în loc de pagini independente.

Dacă am stabilit valoarea xlink:show atribuie "embed" , resursa legată ar trebui să fie prelucrate în linie în cadrul paginii. Atunci când consideră că acest lucru ar putea fi un alt document XML ai putea, de exemplu, să construiască o ierarhie a documentelor XML.

Puteți specifica , de asemenea , când doriți să apară resursa, cu xlink:actuate atribut.


XLink Referința atributului

Atribut Valoare Descriere
xlink:actuateonLoad
onRequest
other
none
Definește atunci când resursa legată este citit și prezentat:
  • onLoad - resursa trebuie să fie încărcate și afișate la încărcarea documentului
  • onRequest - resursa nu este citit sau prezentat înainte de link-ul se face clic
xlink:href URL Specifică adresa URL a link-ul
xlink:showembed
new
replace
other
none
Specifică în cazul în care pentru a deschide link-ul. Implicit este "replace"
xlink:typesimple
extended
locator
arc
resource
title
none
Specifică tipul de link-

XPointer

XPath
  • XPointer permite link-uri pentru a indica anumite părți ale unui document XML
  • XPointer folosește expresii XPath pentru a naviga în documentul XML
  • XPointer este o recomandare W3C

XPointer Suport pentru browser

Nu există nici un suport pentru browser-ul XPointer. Dar XPointer este folosit în alte limbi XML.


XPointer Exemplu

În acest exemplu, vom folosi XPointer în colaborare cu XLink pentru a indica o anumită parte dintr-un alt document.

Vom începe prin a uita la documentul XML țintă (documentul suntem conectarea la):

<?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>

Rețineți că documentul XML folosește mai sus atribute id pe fiecare element!

Deci, în loc de a lega la întregul document (as with XLink) și (as with XLink) , XPointer vă permite să conectați la anumite părți ale documentului. Pentru a lega la o anumită parte a unei pagini, adăugați un semn de număr (#) și o expresie XPointer după URL - ul din xlink:href atribut, ca aceasta: xlink: href = "http://dog.com/dogbreeds.xml # xpointer(id('Rottweiler') )“. Expresia se referă la elementul din documentul țintă, cu valoarea id a "Rottweiler" .

XPointer permite, de asemenea, o metodă de prescurtare pentru conectarea la un element cu un id. Puteți utiliza valoarea id-ul direct, ca aceasta: xlink: href = „http://dog.com/dogbreeds.xml#Rottweiler“.

Următorul document XML conține link-uri către mai multe informații din rasa de câine pentru fiecare dintre câinii mei:

<?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>