XML , XLink en XPointer
XLink word gebruik om hiperskakels in XML-dokumente te skep.
|
XLink-blaaierondersteuning
Daar is geen blaaierondersteuning vir XLink in XML-dokumente nie.
Alle groot blaaiers ondersteun egter XLinks in SVG .
XLink-sintaksis
In HTML definieer die <a>-element 'n hiperskakel. Dit is egter nie hoe dit in XML werk nie. In XML-dokumente kan jy enige elementname gebruik wat jy wil hê - daarom is dit onmoontlik vir blaaiers om te voorspel watter skakelelemente in XML-dokumente genoem sal word.
Hieronder is 'n eenvoudige voorbeeld van hoe om XLink te gebruik om skakels in 'n XML-dokument te skep:
<?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 tot die XLink-kenmerke te kry, moet ons die XLink-naamruimte verklaar. Die XLink-naamruimte is: "http://www.w3.org/1999/xlink".
Die xlink:type en die xlink:href eienskappe in die <homepage> elemente kom van die XLink naamruimte af.
Die xlink:type="simple" skep 'n eenvoudige "HTML-agtige" skakel (beteken "klik hier om daarheen te gaan").
Die xlink:href-kenmerk spesifiseer die URL om na te skakel.
XLink voorbeeld
Die volgende XML-dokument bevat XLink-kenmerke:
<?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 verduidelik:
- Die XLink-naamruimte word bo-aan die dokument verklaar (xmlns:xlink="http://www.w3.org/1999/xlink")
- Die xlink:type="simple" skep 'n eenvoudige "HTML-agtige" skakel
- Die xlink:href-kenmerk spesifiseer die URL om na te skakel (in hierdie geval - 'n prent)
- Die xlink:show="new" spesifiseer dat die skakel in 'n nuwe venster moet oopmaak
XLink - Gaan verder
In die voorbeeld hierbo het ons eenvoudige XLinks gedemonstreer. XLink word meer interessant wanneer toegang tot afgeleë liggings as hulpbronne verkry word, in plaas van selfstandige bladsye.
As ons die waarde van die xlink:show-kenmerk op "embed" stel, moet die gekoppelde hulpbron inlyn binne die bladsy verwerk word. As jy dink dat dit nog 'n XML-dokument kan wees, kan jy byvoorbeeld 'n hiërargie van XML-dokumente bou.
Jy kan ook spesifiseer WANNEER die hulpbron moet verskyn, met die xlink:actuate-kenmerk.
XLink-kenmerkverwysing
Attribute | Value | Description |
---|---|---|
xlink:actuate | onLoad onRequest other none |
Defines when the linked resource is read and shown:
|
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
|
XPointer-blaaierondersteuning
Daar is geen blaaierondersteuning vir XPointer nie. Maar XPointer word in ander XML-tale gebruik.
Voorbeeld van XPointer
In hierdie voorbeeld sal ons XPointer in samewerking met XLink gebruik om na 'n spesifieke deel van 'n ander dokument te wys.
Ons sal begin deur na die teiken XML-dokument te kyk (die dokument waarna ons skakel):
<?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>
Let daarop dat die XML-dokument hierbo id-kenmerke op elke element gebruik!
Dus, in plaas daarvan om na die hele dokument te koppel (soos met XLink), laat XPointer jou toe om na spesifieke dele van die dokument te skakel. Om na 'n spesifieke deel van 'n bladsy te skakel, voeg 'n getalteken (#) en 'n XPointer-uitdrukking by na die URL in die xlink:href-kenmerk, soos hierdie: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))". Die uitdrukking verwys na die element in die teikendokument, met die id-waarde van "Rottweiler".
XPointer laat ook 'n snelskrifmetode toe om na 'n element met 'n id te koppel. Jy kan die waarde van die id direk gebruik, soos volg: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".
Die volgende XML-dokument bevat skakels na meer inligting oor die honderas vir elkeen van my honde:
<?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>