XML -zelfstudie

XML HOME XML-introductie XML Hoe te gebruiken XML-structuur XML-syntaxis XML-elementen XML-kenmerken XML-naamruimten XML-weergave XML HTTP-verzoek XML-parser XML-DOM XML XPath XML XSLT XML XQuery XML XLink XML-validator XML-DTD XML Schema XML-server XML-voorbeelden XML-quiz XML-certificaat

XML AJAX

Ajax-introductie AJAX XMLHttp Ajax-verzoek Ajax-reactie AJAX XML-bestand AJAX PHP Ajax ASP AJAX-database AJAX-toepassingen Ajax-voorbeelden

XML-DOM

DOM-introductie DOM-knooppunten DOM-toegang DOM Node Info Lijst met DOM-knooppunten DOM doorkruisen DOM-navigatie DOM Waarden ophalen DOM-wijzigingsknooppunten DOM Knooppunten verwijderen DOM Knooppunten vervangen DOM Knooppunten maken DOM Knooppunten toevoegen DOM-kloonknooppunten DOM-voorbeelden

XPath- zelfstudie

XPath-introductie XPath-knooppunten XPath-syntaxis XPath-assen XPath-operators XPath-voorbeelden

XSLT- zelfstudie

XSLT-introductie XSL-talen XSLT-transformatie XSLT <sjabloon> XSLT <waarde-van> XSLT <voor elk> XSLT <sorteren> XSLT <if> XSLT <kiezen> XSLT toepassen XSLT op de client XSLT op de server XSLT Bewerk XML XSLT-voorbeelden

XQuery- zelfstudie

XQuery-introductie XQuery-voorbeeld XQuery FLWOR XQuery HTML XQuery-voorwaarden XQuery-syntaxis XQuery toevoegen XQuery selecteren XQuery-functies

XML -DTD

DTD Introductie DTD-bouwstenen DTD-elementen DTD-kenmerken DTD Elements vs Attr DTD-entiteiten DTD-voorbeelden

XSD- schema

XSD-introductie XSD Hoe kan ik? XSD <schema> XSD-elementen XSD-kenmerken XSD-beperkingen

XSD- complex

XSD-elementen XSD Leeg Alleen XSD-elementen Alleen XSD-tekst XSD gemengd XSD-indicatoren XSD <elke> XSD <anyAttribute> XSD-vervanging XSD-voorbeeld

XSD- gegevens

XSD-string XSD-datum XSD Numeriek XSD Diversen XSD-referentie

Webservices _

XML-services XML-WSDL XML SOAP XML-RDF XML-RSS

Referenties

Typen DOM-knooppunten DOM Node DOM-knooppuntlijst DOM NamedNodeMap DOM-document DOM-element DOM-kenmerk DOM-tekst DOM CDATA DOM-opmerking DOM XMLHttpRequest DOM-parser XSLT-elementen XSLT/XPath-functies

XML , XLink en XPointer


XLink wordt gebruikt om hyperlinks in XML-documenten te maken.


XPath
  • XLink wordt gebruikt om hyperlinks binnen XML-documenten te maken
  • Elk element in een XML-document kan zich gedragen als een link
  • Met XLink kunnen de links worden gedefinieerd buiten de gekoppelde bestanden
  • XLink is een W3C-aanbeveling

XLink-browserondersteuning

Er is geen browserondersteuning voor XLink in XML-documenten.

Alle grote browsers ondersteunen echter XLinks in SVG .


XLink-syntaxis

In HTML definieert het <a>-element een hyperlink. Dit is echter niet hoe het werkt in XML. In XML-documenten kunt u elke gewenste elementnaam gebruiken - daarom is het voor browsers onmogelijk om te voorspellen welke linkelementen in XML-documenten zullen worden aangeroepen.

Hieronder ziet u een eenvoudig voorbeeld van hoe u XLink kunt gebruiken om koppelingen in een XML-document te maken:

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

Om toegang te krijgen tot de XLink-functies moeten we de XLink-naamruimte declareren. De XLink-naamruimte is: "http://www.w3.org/1999/xlink".

De xlink:type en de xlink:href attributen in de <homepage> elementen komen uit de XLink namespace.

De xlink:type="simple" creëert een eenvoudige "HTML-achtige" link (betekent "klik hier om daarheen te gaan").

Het xlink:href attribuut specificeert de URL waarnaar gelinkt moet worden.


XLink-voorbeeld

Het volgende XML-document bevat XLink-functies:

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

Voorbeeld uitgelegd:

  • De XLink-naamruimte wordt bovenaan het document gedeclareerd (xmlns:xlink="http://www.w3.org/1999/xlink")
  • De xlink:type="simple" maakt een eenvoudige "HTML-achtige" link
  • Het xlink:href attribuut specificeert de URL waarnaar gelinkt moet worden (in dit geval - een afbeelding)
  • De xlink:show="new" geeft aan dat de link in een nieuw venster moet openen


XLink - Verder gaan

In het bovenstaande voorbeeld hebben we eenvoudige XLinks gedemonstreerd. XLink wordt interessanter bij het benaderen van externe locaties als bronnen, in plaats van op zichzelf staande pagina's.

Als we de waarde van het xlink:show attribuut op "embed" zetten, moet de gekoppelde bron inline binnen de pagina worden verwerkt. Als je bedenkt dat dit een ander XML-document zou kunnen zijn, zou je bijvoorbeeld een hiërarchie van XML-documenten kunnen bouwen.

U kunt ook specificeren WANNEER de bron moet verschijnen, met het xlink:actuate attribuut.


XLink-kenmerkreferentie

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

XPointer

XPath
  • Met XPointer kunnen koppelingen naar specifieke delen van een XML-document verwijzen
  • XPointer gebruikt XPath-expressies om in het XML-document te navigeren
  • XPointer is een W3C-aanbeveling

XPointer-browserondersteuning

Er is geen browserondersteuning voor XPointer. Maar XPointer wordt gebruikt in andere XML-talen.


XPointer-voorbeeld

In dit voorbeeld gebruiken we XPointer in combinatie met XLink om naar een specifiek deel van een ander document te verwijzen.

We beginnen door te kijken naar het doel-XML-document (het document waarnaar we linken):

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

Merk op dat het bovenstaande XML-document id-attributen gebruikt voor elk element!

Dus in plaats van naar het hele document te linken (zoals bij XLink), kun je met XPointer linken naar specifieke delen van het document. Om naar een specifiek deel van een pagina te linken, voegt u een hekje (#) en een XPointer-expressie toe na de URL in het xlink:href attribuut, zoals dit: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))". De uitdrukking verwijst naar het element in het doeldocument, met de id-waarde "Rottweiler".

XPointer staat ook een stenomethode toe om te linken naar een element met een id. U kunt de waarde van de id direct gebruiken, zoals dit: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".

Het volgende XML-document bevat links naar meer informatie over het hondenras voor elk van mijn honden:

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