Gramatyka XLink i XPointer
- Poprzednia strona Podstawy XLink
- Następna strona Przykład XLink
Gramatyka XLink
W HTML wiemy, że element <a> definiuje hiperłącze. Jednakże w dokumencie XML działa to inaczej. W dokumencie XML możesz używać dowolnej nazwy - więc przeglądarka nie może przewidzieć, które elementy hiperłączy mogą być wywoływane w dokumencie XML.
Sposób definiowania hiperłączy w dokumencie XML polega na umieszczeniu znacznika dostępного jako hiperłącze w elemencie.
Poniżej znajduje się prosty przykład użycia XLink do tworzenia linków w dokumencie XML:
<?xml version="1.0"?> <homepages xmlns:xlink="http://www.w3.org/1999/xlink"> <homepage xlink:type="simple" xlink:href="http://www.codew3c.com">Odwiedź CodeW3C.com</homepage> <homepage xlink:type="simple" xlink:href="http://www.w3.org">Odwiedź W3C</homepage> </homepages>
Aby uzyskać dostęp do atrybutów i cech XLink, musimy zadeklarować przestrzeń nazw XLink na początku dokumentu.
Przestrzeń nazw XLink to: "http://www.w3.org/1999/xlink".
Atrybuty xlink:type i xlink:href w elemencie <homepage> definiują atrybuty type i href z przestrzeni nazw XLink.
xlink:type="simple" tworzy prosty link dwustronny (oznacza to "od tutaj do tam`). Później zbadamy wielokierunkowe linki (wielokierunkowe).
Gramatyka XPointer
W HTMLu, możemy utworzyć hiperłącze, które wskazuje zarówno na stronę HTML, jak i na zakładkę wewnątrz strony HTML (używając #).
Czasami, wskazanie bardziej konkretnych treści może być bardziej korzystne. Przykład, musimy wskazać na trzeci element pewnej listy lub na drugie wiersz piątego akapitu. Dzięki XPointer jest to łatwe do zrobienia.
Jeśli hiperłącze wskazuje na pewien dokument XML, możemy dodać część XPointer do URL w atrybucie xlink:href, aby nawigować (poprzez wyrażenia XPath) do konkretnej pozycji w dokumencie.
Przykład, w poniższym przykładzie, używamy unikalnego id "rock" do wskazania piątego elementu w pewnej liście.
href="http://www.example.com/cdlist.xml#id('rock').child(5,item)"
- Poprzednia strona Podstawy XLink
- Następna strona Przykład XLink