XML, XLink i XQuery
- Poprzednia strona XML XQuery
- Następna strona Walidator XML
XLink jest używany do tworzenia hiperłączy w dokumentach XML
XPath
- XLink jest używany do tworzenia hiperłączy w dokumentach XML
- Każdy element w dokumencie XML może pełnić rolę linku
- Przez XLink, można zdefiniować linki poza plikiem, do którego są one linkowane
- XLink jest zalecanym standardem W3C
Wsparcie przeglądarek dla XLink
Przeglądarki nie wspierają XLink w dokumentach XML.
Jednakże, wszystkie główne przeglądarki go wspierają XLink w SVG.
Gramatyka XLink
W HTML, element <a> definiuje hiperłącze. Jednakże, w XML działa inaczej.
W dokumencie XML możesz używać dowolnej nazwy elementu - zatem przeglądarka nie może przewidzieć, które elementy będą używane jako elementy linków.
Poniżej znajduje się prosty przykład, jak używać XLink do tworzenia linków w dokumentach 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.codew3c.com">Odwiedź CodeW3C.com</homepage> <homepage xlink:type="simple" xlink:href="http://www.w3.org">Odwiedź W3C</homepage> </homepages>
Jeśli potrzebujemy dostępu do funkcji XLink, musimy zadeklarować przestrzeń nazw XLink. Przestrzeń nazw XLink to: "http://www.w3.org/1999/xlink".
Atrybuty xlink:type i xlink:href w elemencie <homepage> pochodzą z tej przestrzeni nazw XLink.
xlink:type="simple" tworzy prosty "podobny do HTML" link (oznacza to "kliknij tutaj, aby przejść gdzie indziej").
Atrybut xlink:href określa URL do którego ma być linkowany.
Przykład XLink
Poniższy dokument XML zawiera funkcje 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"> 『雅舍谈吃』to przewodnik po potrawach Chaozhou, który oferuje potrzebne wskazówki i pomoc dla miłośników jedzenia i poszukiwaczy smaku; Ta książka może być również uznana za humanistyczną lekturę o potrawach Chaozhou, w której przedstawia się potrawy Chaozhou, a nie tylko zwyczaje żywieniowe Chaozhou, głęboko odkrywając i prezentując ukrytą kulturę miejscową, zwyczaje żywieniowe i szczegóły historyczne ukryte za jedzeniem. </description> </book> <book title="Niesamowity ojciec liska"> <description xlink:type="simple" xlink:href="/images/mrfox.jpg" xlink:show="new"> Bogis, Bons i Bean to najżałosnejsze i najmniej hojne osoby, jakich możesz spotkać, nienawidzą pana Liska i zdecydowali się usunąć jego całą rodzinę. I tak, ci trzej ludzie, trzymając broń, podstępnie czekali przed norą pana Liska…… Ale pan Lisek miał na to swoje sprytne plany! I tak, zaczęła się rywalizacja o mądrość i siłę…… </description> </book> </bookstore>
Przykład wyjaśnienia:
- Przestrzeń nazw XLink jest deklarowana na górze dokumentu (xmlns:xlink="http://www.w3.org/1999/xlink")
- xlink:type="simple" tworzy prosty link "podobny do HTML"
- Atrybut xlink:href określa URL do połączenia (w tym przypadku obraz)
- xlink:show="new" wskazuje, że link powinien się otworzyć w nowym oknie
XLink - Idź dalej
W powyższym przykładzie pokazaliśmy prosty XLink.
Kiedy używamy zdalnej lokalizacji jako zasobu zamiast dostępu do niezależnej strony, XLink staje się bardziej interesujący.
Jeśli ustalimy wartość atrybutu xlink:show na "embed", połączone zasoby będą przetwarzane wewnątrz strony. Na przykład, jeśli uważasz, że to może być inny dokument XML, możesz zbudować hierarchię dokumentu XML.
Możesz również użyć atrybutu xlink:actuate, aby określić, kiedy zasób powinien się pojawić.
Przegląd atrybutów XLink
Atrybut Wartość Opis xlink:actuate onLoad onRequest other none Definiowanie kiedy odczytywać i wyświetlać połączone zasoby: onLoad - Zasoby powinny być ładowane i wyświetlane podczas ładowania dokumentu onRequest - zasób nie zostanie odczytany ani wyświetlony przed kliknięciem linku xlink:href URL określa URL do którego ma być skierowany link. xlink:show embed new replace other none określa gdzie otworzyć link. Domyślnie jest "replace". xlink:type simple extended locator arc resource title none określa typ linku.XPointer
XPath- XPointer pozwala na linki wskazujące na określone części dokumentu XML
- XPointer używa wyrażeń XPath do nawigacji w dokumentach XML
- XPointer jest rekomendowanym standardem W3C
Obsługa przeglądarek XPointer
Brak przeglądarek obsługujących XPointer. Ale XPointer jest również używany w innych językach XML.
Przykład XPointer
W tym przykładzie, będziemy łączyć używanie XPointer i XLink, aby wskazać na określony odcinek innego dokumentu.
Najpierw przyjrzyjmy się temu docelowemu dokument XML (do którego się odnosimy):
<?xml version="1.0" encoding="UTF-8"?> <dogbreeds> <dog breed="Rottweiler" id="Rottweiler"> <picture url="https://dog.com/rottweiler.gif" /> <history>Przodkowie Rottweilera prawdopodobnie byli Rzymianami drover dogs.....</history> <temperament>Confident, bold, alert and imposing, the Rottweiler jest popularnym wyborem ze względu na swoją zdolność do ochrony....</temperament> </dog> <dog breed="FCRetriever" id="FCRetriever"> <picture url="https://dog.com/fcretriever.gif" /> <history>Jednym z najwcześniejszych zastosowań psów wyłapywaczy było pomóc rybakom wyłapywać ryby z wody....</history> <temperament>The flat-coated retriever is a sweet, exuberant, żywiołowy pies, który lubi bawić się i odzyskiwać....</temperament> </dog> </dogbreeds>
Proszę zauważyć, że powyższy dokument XML używa atrybutu id w każdym elemencie!
Zatem XPointer pozwala na linkowanie do konkretnej części dokumentu, zamiast linkowania do całego dokumentu (jak w XLink).
Aby linkować do konkretnej części strony, dodaj znak # i wyrażenie XPointer do URL w atrybucie xlink:href, tak jak pokazano poniżej:
xlink:href="https://dog.com/dogbreeds.xml#xpointer(id('Rottweiler'))"Wyrażenie to odnosi się do elementu w docelowym dokumencie o wartości id "Rottweiler".
xlink:href="https://dog.com/dogbreeds.xml #xpointer(id('Rottweiler'))"。XPointer pozwala również na użycie skróconych metod linkowania do elementów z id. Możesz bezpośrednio użyć wartości id, tak jak pokazano poniżej:
xlink:href="https://dog.com/dogbreeds.xml#RottweilerPoniższy dokument XML zawiera linki do dodatkowych informacji na temat każdego psa:
<?xml version="1.0" encoding="UTF-8"?> <mydogs xmlns:xlink="http://www.w3.org/1999/xlink"> <mydog> <description> Anton jest moim ulubionym psem. Wygrał mnóstwo..... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#Rottweiler"> Fakty o rottweilerze </fact> </mydog> <mydog> <description> Pluto jest najprzyjemniejszym psem na ziemi...... </description> <fact xlink:type="simple" xlink:href="https://dog.com/dogbreeds.xml#FCRetriever"> Fakt o Retrieverze o krótkiej sierści </fact> </mydog> </mydogs>
- Poprzednia strona XML XQuery
- Następna strona Walidator XML