XML , XLink a XPointer
XLink se používá k vytváření hypertextových odkazů v dokumentech XML.
|
Podpora prohlížeče XLink
V dokumentech XML neexistuje žádná podpora prohlížeče pro XLink.
Všechny hlavní prohlížeče však podporují XLinks v SVG .
Syntaxe XLink
V HTML element <a> definuje hypertextový odkaz. Takto to však v XML nefunguje. V dokumentech XML můžete použít libovolné názvy prvků, které chcete - proto je nemožné, aby prohlížeče předpověděly, jaké prvky odkazů budou v dokumentech XML nazývány.
Níže je jednoduchý příklad, jak použít XLink k vytvoření odkazů v dokumentu XML:
<?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>
Abychom získali přístup k funkcím XLink, musíme deklarovat jmenný prostor XLink. Jmenný prostor XLink je: "http://www.w3.org/1999/xlink".
Atributy xlink:type a xlink:href v prvcích <homepage> pocházejí z jmenného prostoru XLink.
Xlink:type="simple" vytvoří jednoduchý odkaz "jako HTML" (znamená "kliknutím sem přejdete").
Atribut xlink:href určuje adresu URL, na kterou se má odkazovat.
Příklad XLink
Následující dokument XML obsahuje funkce 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>
Vysvětlený příklad:
- Jmenný prostor XLink je deklarován v horní části dokumentu (xmlns:xlink="http://www.w3.org/1999/xlink")
- Xlink:type="simple" vytvoří jednoduchý odkaz "podobný HTML".
- Atribut xlink:href určuje adresu URL, na kterou se má odkazovat (v tomto případě obrázek)
- Xlink:show="new" určuje, že se odkaz má otevřít v novém okně
XLink – Jdeme dále
Ve výše uvedeném příkladu jsme demonstrovali jednoduché XLlinky. XLink je čím dál zajímavější při přístupu ke vzdáleným umístěním jako ke zdrojům namísto samostatných stránek.
Pokud nastavíme hodnotu atributu xlink:show na „embed“, odkazovaný zdroj by měl být zpracován inline na stránce. Když uvážíte, že by to mohl být další dokument XML, můžete například vytvořit hierarchii dokumentů XML.
Můžete také určit, KDY se má zdroj objevit, pomocí atributu xlink:actuate.
Odkaz na atribut XLink
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
|
Podpora prohlížeče XPointer
Neexistuje žádná podpora prohlížeče pro XPointer. Ale XPointer se používá v jiných jazycích XML.
Příklad XPointer
V tomto příkladu použijeme XPointer ve spojení s XLink k ukázání na určitou část jiného dokumentu.
Začneme tím, že se podíváme na cílový dokument XML (dokument, na který odkazujeme):
<?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>
Všimněte si, že výše uvedený dokument XML používá atributy id u každého prvku!
Namísto odkazování na celý dokument (jako u XLink) vám XPointer umožňuje odkazovat na konkrétní části dokumentu. Chcete-li odkazovat na konkrétní část stránky, přidejte za adresu URL v atributu xlink:href znak čísla (#) a výraz XPointer, například takto: xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))“. Výraz odkazuje na prvek v cílovém dokumentu s hodnotou id "Rottweiler".
XPointer také umožňuje zkrácenou metodu pro propojení s prvkem s id. Hodnotu id můžete použít přímo takto: xlink:href="https://dog.com/dogbreeds.xml#Rottweiler".
Následující dokument XML obsahuje odkazy na další informace o plemeni psa pro každého z mých psů:
<?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>