XLink służy do tworzenia hiperłączy w dokumentach XML.
|
Wsparcie Przeglądarka XLink
Nie ma wsparcia przeglądarki dla XLink w dokumentach XML. Jednak wszystkie główne przeglądarki obsługują XLinks w SVG .
XLink Składnia
W przypadku HTML, <a> element definiuje hiperłącze. Jednak to nie jest, jak to działa w XML. W dokumentach XML można używać niezależnie elementem nazwy chcesz - w związku z tym niemożliwe jest przewidzieć, co przeglądarek Link elementy będą uruchamiane w dokumentach XML.
Poniżej znajduje się prosty przykład, jak korzystać z XLink do tworzenia odnośników w dokumencie XML:
<?xml version="1.0" encoding="UTF-8"?>
<homepages xmlns:xlink="http://www.w3.org/1999/xlink">
<homepage xlink:type="simple"
xlink:href="http://www.w3ii.com">Visit w3ii</homepage>
<homepage xlink:type="simple"
xlink:href="http://www.w3.org">Visit W3C</homepage>
</homepages>
Aby uzyskać dostęp do funkcji xlink musimy zadeklarować nazw XLink. Przestrzeń nazw XLink jest: "http://www.w3.org/1999/xlink" .
Xlink: rodzaj i xlink:href atrybuty w <homepage> elementy pochodzą od nazw XLink.
Xlink: type = "proste" tworzy prosty "HTML-like" odnośnik (czyli "kliknij tutaj, aby tam").
xlink:href atrybut określa URL połączyć.
Przykład XLink
Poniższy dokument XML zawiera xlink funkcje:
<?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>
Przykład wyjaśnił:
- Przestrzeń nazw XLink jest zadeklarowane na początku dokumentu (xmlns:xlink="http://www.w3.org/1999/xlink")
- Xlink: type = "proste" tworzy prosty "HTML-like" odnośnik
- xlink:href atrybut określa URL do połączenia (w tym przypadku - obraz)
- Xlink show = "nowa" określa, że związek powinien otworzyć w nowym oknie
XLink - Dalsze badania
W przykładzie powyżej wykazaliśmy prostych XLinks. XLink jest coraz bardziej interesująca, gdy dostęp do zdalnych lokalizacji jako zasoby, zamiast samodzielnych stron.
Jeśli ustawiona wartość xlink:show przypisują "embed" , połączona zasób powinien być przetwarzane inline w obrębie strony. Jeśli wziąć pod uwagę, że może to być inny dokument XML można na przykład zbudować hierarchię dokumentów XML.
Można również określić, kiedy powinien pojawić się zasób, z xlink:actuate atrybut.
XLink Atrybut Reference
Atrybut | Wartość | Opis |
---|---|---|
xlink:actuate | onLoad onRequest other none | Definiuje kiedy związany zasób jest czytać i pokazano:
|
xlink:href | URL | Określa adres URL, aby połączyć się |
xlink:show | embed new replace other none | Określa gdzie otworzyć łącze. Domyślnie jest "replace" |
xlink:type | simple extended locator arc resource title none | Określa typ łącza |
XPointer
|
Wsparcie Przeglądarka XPointer
Nie ma wsparcia przeglądarki dla XPointer. Jednak XPointer stosuje się w innych językach XML.
Przykład XPointer
W tym przykładzie użyjemy XPointer w połączeniu z XLink zwrócić się do konkretnej części innego dokumentu.
Zaczniemy patrząc na dokumencie docelowym XML (dokument jesteśmy z linkami do):
<?xml version="1.0" encoding="UTF-8"?>
<dogbreeds>
<dog breed="Rottweiler" id="Rottweiler">
<picture url="http://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="http://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>
Należy zauważyć, że dokument XML powyżej wykorzystuje atrybuty id na każdym elemencie!
Tak więc, zamiast z linkami do całego dokumentu (as with XLink) , XPointer umożliwia powiązanie poszczególnych części dokumentu. Aby połączyć się do konkretnej części strony, dodać znak numeru (#) i wyraz xpointer po URL w xlink:href atrybutu, na przykład: XLink: href = "http://dog.com/dogbreeds.xml #xpointer (id ( "Rottweiler")) ". Wyrażenie odnosi się do elementu w dokumencie docelowym, o wartości id "Rottweiler" .
XPointer pozwala również skrótowy sposób linkowania do elementu o id. Można użyć wartości identyfikatora bezpośrednio, na przykład: XLink: href = "http://dog.com/dogbreeds.xml#Rottweiler".
Poniższy dokument XML zawiera linki do dodatkowych informacji rasy psów dla każdego z moich psów:
<?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="http://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="http://dog.com/dogbreeds.xml#FCRetriever">
Fact about flat-coated Retriever
</fact>
</mydog>
</mydogs>