Neueste Web-Entwicklung Tutorials
 

XML XLink und XPointer


XLink wird verwendet Hyperlinks in XML-Dokumenten zu erstellen.


XPath
  • XLink wird verwendet Hyperlinks in XML-Dokumenten zu erstellen
  • Jedes Element in einem XML-Dokument kann als Link verhalten
  • Mit XLink können die Links außerhalb der verknüpften Dateien definiert werden
  • XLink ist eine W3C-Empfehlung

XLink Browser-Unterstützung

Es gibt keine Browser-Unterstützung für XLink in XML-Dokumenten. Allerdings werden alle gängigen Browser unterstützen XLinks in SVG .


XLink Syntax

In HTML, das <a> definiert Element einen Hyperlink. Dies ist jedoch nicht, wie es in XML funktioniert. In XML-Dokumenten können Sie, was Elementnamen Sie verwenden - daher ist es unmöglich, für Browser, welche Verbindungselemente zur Vorhersage wird in XML-Dokumenten genannt werden.

Unten ist ein einfaches Beispiel, wie XLink verwenden Links in einem XML-Dokument zu erstellen:

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

Um Zugang zu den XLink Funktionen zu erhalten müssen wir den XLink-Namensraum deklarieren. Der XLink - Namensraum ist: "http://www.w3.org/1999/xlink" .

Die xlink: Art und xlink:href Attribute im <homepage> Elemente stammen aus dem XLink - Namensraum.

Das xlink: type = "simple" erstellt ein einfaches "HTML-like" Link (bedeutet "hier klicken, dorthin zu gehen").

Das xlink:href Attribut gibt die URL zu verknüpfen.


XLink Beispiel

Die folgende XML-Dokument enthält XLink Merkmale:

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

Erklärt Beispiel:

  • Der XLink - Namensraum befindet sich am Anfang des Dokuments erklärt (xmlns:xlink="http://www.w3.org/1999/xlink")
  • Das xlink: type = "simple" erstellt ein einfaches "HTML-like" Link
  • Das xlink:href Attribut gibt die URL zu verknüpfen (in diesem Fall - ein Bild)
  • Die xlink: show = "new" gibt an, dass der Link in einem neuen Fenster geöffnet werden soll

XLink - weiter zu gehen

In dem obigen Beispiel haben wir einfach XLinks demonstriert. XLink wird immer interessanter, wenn Remote-Standorten wie den Zugriff auf Ressourcen, anstelle von Standalone-Seiten.

Wenn wir den Wert des eingestellten xlink:show - Attribut auf "embed" , sollte die verknüpfte Ressource inline innerhalb der Seite bearbeitet werden. Wenn man bedenkt, dass dies ein weiterer XML-Dokument sein könnte, könnten Sie zum Beispiel eine Hierarchie von XML-Dokumenten erstellen.

Sie können auch festlegen , wann die Ressource angezeigt werden soll, mit dem xlink:actuate Attribut.


XLink Attribut Reference

Attribut Wert Beschreibung
xlink:actuateonLoad
onRequest
other
none
Legt fest, wann die verknüpfte Ressource ausgelesen und angezeigt:
  • onLoad - sollte die Ressource geladen und angezeigt werden, wenn das Dokument Lasten
  • onRequest - die Ressource gelesen oder nicht dargestellt, bevor der Link angeklickt wird
xlink:href URL Gibt die URL zu verknüpfen
xlink:showembed
new
replace
other
none
Gibt an, wo Sie den Link zu öffnen. Die Standardeinstellung ist "replace"
xlink:typesimple
extended
locator
arc
resource
title
none
Gibt die Art der Verbindung

XPointer

XPath
  • XPointer ermöglicht Links auf bestimmte Teile eines XML-Dokuments zu Punkt
  • XPointer verwendet XPath-Ausdrücken im XML-Dokument zu navigieren
  • XPointer ist eine W3C-Empfehlung

XPointer Browser-Unterstützung

Es gibt keine Browser-Unterstützung für XPointer. Aber XPointer in anderen XML-Sprachen verwendet.


XPointer Beispiel

In diesem Beispiel werden wir XPointer in Verbindung mit XLink verwenden, um einen bestimmten Teil eines anderen Dokuments zu zeigen.

Wir werden, indem man die XML-Zieldokument beginnen (das Dokument, das wir eine Verknüpfung zu):

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

Beachten Sie, dass das XML-Dokument über id Attribute für jedes Element verwendet!

Anstatt also auf das gesamte Dokument verknüpft (as with XLink) , XPointer ermöglicht auf bestimmte Teile des Dokuments zu verknüpfen. Zu einem bestimmten Teil einer Seite zu verlinken, ein Nummernzeichen hinzufügen (#) und ein XPointer Expression nach der URL im xlink:href Attribut, wie diese: xlink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( 'Rottweiler')) ". Der Ausdruck bezieht sich auf das Element in das Zieldokument mit dem id - Wert von "Rottweiler" .

XPointer ermöglicht auch eine Kurz Verfahren für mit einer ID zu einem Element zu verknüpfen. Sie können den Wert der ID direkt zu verwenden, wie folgt aus: xlink: href = "http://dog.com/dogbreeds.xml#Rottweiler".

Die folgende XML-Dokument enthält Links zu weiteren Informationen der Hundezucht für jedes meiner Hunde:

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