XML, XLink und XQuery

XLink wird verwendet, um Hyperlinks in XML-Dokumenten zu erstellen

XPath

  • XLink wird verwendet, um Hyperlinks in XML-Dokumenten zu erstellen
  • Jedes Element in einem XML-Dokument kann als Link dienen
  • Mit XLink können Links außerhalb der verlinkten Datei definiert werden
  • XLink ist ein von der W3C empfohlener Standard

XLink-Browser-Unterstützung

Browser unterstützen XLink in XML-Dokumenten nicht.

Jedoch unterstützen alle gängigen Browser dies XLink in SVG.

XLink-Syntax

In HTML definiert das Element <a> einen Hyperlink. Dies ist jedoch nicht seine Funktion in XML.

In XML-Dokumenten können Sie jeden gewünschten Elementnamen verwenden - daher kann der Browser nicht vorhersagen, welche Link-Elemente im XML-Dokument aufgerufen werden.

Hier ist ein einfaches Beispiel, wie man mit XLink Links in XML-Dokumenten erstellt:

<?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">Besuchen Sie CodeW3C.com</homepage>
  <homepage xlink:type="simple" xlink:href="http://www.w3.org">Besuchen Sie W3C</homepage>
</homepages>

Wenn wir auf die XLink-Funktionen zugreifen müssen, müssen wir den XLink-Namespace deklarieren. Der XLink-Namespace ist: "http://www.w3.org/1999/xlink".

Die Attribute xlink:type und xlink:href im Element <homepage> stammen aus diesem XLink-Namespace.

xlink:type="simple" erstellt einen einfachen "ähnlich HTML"en Link (das bedeutet "Klicken Sie hier, um zu einem anderen Ort zu gelangen").

Das Attribut xlink:href bestimmt die URL, zu der verlinkt werden soll.

XLink 实例

下面的 XML 文档包含 XLink 功能:

<?xml version="1.0" encoding="UTF-8"?>
<bookstore xmlns:xlink="http://www.w3.org/1999/xlink">
<book title="雅舍谈吃">
  <description
  xlink:type="simple"
  xlink:href="/images/cswd.jpg"
  xlink:show="new">
  《雅舍谈吃》堪称潮汕美食的指南书,其中为美食爱好者和寻味者提供了所需要的指导和帮助;
  这本书又可说是潮汕美食的人文读本,书中介绍的是潮汕美食而非潮汕饮食,充分地将食物背后所隐藏的乡土文化、饮食习俗和历史细节挖掘展现出来。
  </description>
</book>
<book title="了不起的狐狸爸爸">
  <description
  xlink:type="simple"
  xlink:href="/images/mrfox.jpg"
  xlink:show="new">
  博吉斯、邦斯和比恩是你所能遇到的最卑鄙、最小气的人,他们憎恨狐狸先生,决定把他全家除掉。
  于是,这三个人拿着枪,阴险地等在狐狸先生的洞外……但狐狸先生自有对付他们的妙计!
  于是,一场智慧和力量的较量开始了……
  </description>
</book>
</bookstore>

例子解释:

  1. XLink 命名空间在文档顶部声明 (xmlns:xlink="http://www.w3.org/1999/xlink")
  2. xlink:type="simple" 创建一个简单的“类似 HTML”的链接
  3. xlink:href 属性指定要链接到的 URL(在本例中为图像)
  4. xlink:show="new" 指示链接应在新窗口中打开

XLink - 走得更远

在上面的例子中,我们演示了简单的 XLink。

如果我们将远程的位置作为资源而不是独立页面访问时,XLink 将变得更加有趣。

如果我们将 xlink:show 属性值设置为 "embed",则被链接的资源应在页面内内联处理。例如,如果您认为这可能是另一个 XML 文档,则可以构建 XML 文档的层次结构。

您还可以使用 xlink:actuate 属性指定资源应出现的时间。

XLink 属性参考

属性 值 描述 xlink:actuate onLoad onRequest other none 定义何时读取并显示被链接的资源: onLoad - 资源应在文档加载时加载并显示 onRequest - Die Ressource wird vor dem Klicken auf den Link nicht gelesen oder angezeigt xlink:href URL regelt die zu verweisende URL. xlink:show embed new replace other none regelt, wo der Link geöffnet wird. Standard ist "replace". xlink:type simple extended locator arc resource title none regelt den Typ der Links.

XPointer

XPath
  • XPointer ermöglicht es, Links auf spezifische Teile von XML-Dokumenten zu verweisen
  • XPointer nutzt XPath-Ausdrücke, um in XML-Dokumenten zu navigieren
  • XPointer ist ein von der W3C empfohlener Standard

XPointer-Browser-Unterstützung

Es gibt keine Browser, die XPointer unterstützen. Aber XPointer wird auch in anderen XML-Sprachen verwendet.

XPointer-Beispiel

In diesem Beispiel verwenden wir XPointer und XLink, um auf ein bestimmtes Teil eines anderen Dokuments zu verweisen.

Wir schauen uns zunächst dieses Ziel XML-Dokument an (das verlinkte Dokument):

<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
  <picture url="https://dog.com/rottweiler.gif" />
  <history>Die Ahnen des Rottweilers waren wahrscheinlich römisch
  Schäferhunde.....</history>
  <temperament>Confident, bold, alert and imposing, the Rottweiler
  ist eine beliebte Wahl aufgrund ihrer Fähigkeit, zu schützen....</temperament>
</dog>
<dog breed="FCRetriever" id="FCRetriever">
  <picture url="https://dog.com/fcretriever.gif" />
  <history>Una der frühesten Nutzungen von Suchhunden war es,
  helfen Fischern, Fische aus dem Wasser zurückzuholen....</history>
  <temperament>The flat-coated retriever is a sweet, exuberant,
  lively dog that loves to play and retrieve....</temperament>
</dog>
</dogbreeds>

Bitte beachten Sie, dass die obige XML-Dokument für jedes Element die id-Eigenschaft verwendet!

Somit ermöglicht XPointer das Verlinken auf bestimmte Teile des Dokuments, nicht auf das gesamte Dokument (wie XLink).

Um auf einen bestimmten Teil der Seite zu verlinken, fügen Sie nach dem URL im xlink:href-Attribut ein Raute (#) und den XPointer-Ausdruck hinzu, wie folgt:

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

Dieser Ausdruck bezieht sich auf das Element im Ziel-Dokument mit dem id-Wert "Rottweiler".

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

XPointer ermöglicht auch die Verwendung von Kurzschreibweisen, um auf Elemente mit id zu verlinken. Sie können den Wert der id direkt verwenden, wie folgt:

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

Der folgende XML-Dokument enthält Links zu mehr Informationen über die Rassen jedes Hundes:

<?xml version="1.0" encoding="UTF-8"?>
<mydogs xmlns:xlink="http://www.w3.org/1999/xlink">
<mydog>
  <description>
  Anton ist mein Lieblingshund. Er hat viele gewonnen.....
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler">
  Tatsache über den Rottweiler
  </fact>
</mydog>
<mydog>
  <description>
  Pluto ist der süßeste Hund auf der Erde......
  </description>
  <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever">
  Fact about flat-coated Retriever
  </fact>
</mydog>
</mydogs>