XLink, XPointer, XMLBase oraz XInclude
Transkrypt
XLink, XPointer, XMLBase oraz XInclude
XLink, XPointer, XMLBase oraz XInclude XLink, XPointer, XMLBase oraz XInclude Plan prezentacji XLink, XPointer, XMLBase oraz XInclude Przedmiot: XML i jego zastosowania XLink Dr inż. Stanisław Polak Akademia Górniczo - Hutnicza w Krakowie, Katedra Informatyki XPointer http://www.icsr.agh.edu.pl/~polak/ Dr inż. Stanisław Polak 1 XLink Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude Ogólna charakterystyka 2 Przedmiot: XML i jego zastosowania XLink XLink, XPointer, XMLBase oraz XInclude Model odsyłacza w HTML I Umożliwia tworzenie odsyłaczy I Odpowiednik elementu a znanego z HTML I Możliwość definiowania odsyłaczy wielokierunkowych oraz baz odsyłaczy Dr inż. Stanisław Polak Dr inż. Stanisław Polak 3 Dokument źródłowy Dokument docelowy <a href="..."> <a name="..."> Ograniczenia Przedmiot: XML i jego zastosowania I Odsyłacze rozpoznawane przez nazwy elementów (a, img, . . . ) I Semantyka odsyłacza jest zdefiniowana w specyfikacji HTML I Punkt zakotwiczenia musi być zdefiniowany w dokumencie docelowym I Definicja odsyłacza musi się znajdować w dokumencie źródłowym I Tylko poszczególne węzły mogą być wskazywane przed odsyłacz I Odsyłacz zawsze prowadzi od jednego źródła do jednego celu Dr inż. Stanisław Polak 4 Przedmiot: XML i jego zastosowania XLink XLink, XPointer, XMLBase oraz XInclude Model odsyłacza w XLink XLink XLink, XPointer, XMLBase oraz XInclude Podstawowe pojęcia Odsyłacz rozszerzony Zasób zdalny Zasób — dowolna adresowalna jednostka informacji łuk Odsyłacz (link) — jawnie wyrażona relacja pomiędzy dwoma lub więcej zasobami Element wiążący — element XML który zapewnia istnienie oraz opisuje charakterystyki odsyłacza Zasób lokalny Lokator — wskaźnik do zasobów zewnętrznych w stosunku do samego odsyłacza Element wiążący Zasób lokalny — pewne miejsce dokumentu zawarte w elemencie wiążącym Łuk — określa możliwości przejścia między punktami startowymi a końcowymi (punkty te określone są przez lokatory lub zasoby lokalne) Zasób zdalny Zasób zdalny Dr inż. Stanisław Polak 5 XLink Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak XLink, XPointer, XMLBase oraz XInclude Odsyłacz rozszerzony 6 XLink Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude Inne atrybuty XLink Przykład 1 2 3 4 5 <mó j L i n k xmlns:xlink=" http: // www . w3 . org /1999/ xlink " xlink:type=”extended”> <mó j Z a s ób xlink:type=”locator” x l i n k : h r e f =" studenci . xml # Adam " xlink:label=" student " /> <mó j Z a s ób xlink:type=”locator” x l i n k : h r e f =" nauczyciele . xml # Jan " xlink:label=" nauczyciel " /> <mó j Łuk xlink:type=”arc” xlink:from=" student " xlink:to=" nauczyciel " /> </mó j L i n k> MójLink nauczyciele.xml#Jan Dr inż. Stanisław Polak I xlink:show="embed|replace|new|other|none" I xlink:actuate="onLoad|onRequest|other|none" I xlink:role="URI" I xlink:arcrole="URI" I xlink:title="Opis" studenci.xml#Adam 7 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 8 Przedmiot: XML i jego zastosowania XLink XLink, XPointer, XMLBase oraz XInclude Odsyłacz prosty XPointer XLink, XPointer, XMLBase oraz XInclude Ogólna charakterystyka Przykład 1 <mó j O d s y ł a c z x l i n k : t y p e=" simple " x l i n k : h r e f =" ... " x l i n k : s h o w=" ... " . . . /> Odsyłacz prosty 1 2 3 4 5 <mó j O d s y ł a c z x l i n k : t y p e=" extended "> <mó j Z a s ób x l i n k : t y p e=" resource " x l i n k : l a b e l =" lokalny " /> <mó j Z a s ób x l i n k : t y p e=" locator " x l i n k : l a b e l =" zdalny " x l i n k : h r e f =" ... " /> <mó j Łuk x l i n k : t y p e=" arc " x l i n k : f r o m=" lokalny " x l i n k : t o =" zdalny " x l i n k : s h o w=" ... " . . . /> </mó j O d s y ł a c z> I Adresacja miejsc lub fragmentów dokumentu XML I Brak potrzeby wstawiania punktów zakotwiczeń I Hierarchia — drzewo elementów I Rozszerzone wyrażenia Xpath I Przykładowe wyrażenie XPointer: http://www.abc.pl/art.xml# xpointer(artykul/rozdzial[position()<=5]) Reprezentacja odsyłacza prostego za pomocą odsyłacza rozszerzonego Dr inż. Stanisław Polak 9 XPointer Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude Elementy składowe identyfikatora fragmentu 1 2 3 4 5 6 7 I Schemat xmlns() I Schemat element() I Schemat xpointer() — inaczej „szkielet” 10 XPointer Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude Podstawowe pojęcia <f o o b a r i d=" foo "> <b a r /> <baz> <bom a=" 1 " /> </ baz> <bom a=" 2 " /> </ f o o b a r> Przykładowy dokument XML 1 2 3 4 Dr inż. Stanisław Polak I Punkt /point()[position()=n] I Zakres /range-to(punkt-końcowy) I Lokalizacje = punkty + zakresy + węzły xmlns ( agh=http: // www . agh . edu . pl / ns ) element ( / foo / 2 / 1 ) => bom ( a=1) xpointer ( id ( " foo " ) ) => foobar xpointer ( / foobar / 1 ) => bar Przykładowe identyfikatory fragmentu Dr inż. Stanisław Polak 11 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 12 Przedmiot: XML i jego zastosowania Przykłady XPointer XLink, XPointer, XMLBase oraz XInclude Forma skrócona lub bazująca na schematach 1 2 3 4 5 6 7 8 9 10 11 12 I Forma skrócona: b1 I Forma bazująca na schematach: element(/1/1) <! DOCTYPE [ <!ELEMENT <! ELEMENT <! ATTLIST ] > Przykłady XPointer Określanie punktu początkowego 1 2 3 4 5 6 7 8 9 AAA AAA (BBB+)> BBB EMPTY> BBB i d ID #REQUIRED> I xpointer(start-point(string-range(//*,’element’))) I xpointer(start-point(/)) <? xml version=" 1.0 " ?> <AAA> <BBB bbb=" 111 ">Text in the first element BBB.</BBB> <BBB bbb=" 222 ">Text in another element BBB. <DDD ddd=" 999 ">Text in more nested element.</DDD> </BBB> <CCC c c c=" 123 " x x x=" 321 ">Again some text in some element.</CCC> </AAA> <AAA> <BBB id="b1"/> <BBB i d=" b2 " /> </AAA> Legenda I I Dr inż. Stanisław Polak Przykłady 13 XPointer Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude Określanie punktu końcowego 1 2 3 4 5 6 7 8 XLink, XPointer, XMLBase oraz XInclude — punkt Kontener Dr inż. Stanisław Polak Przykłady 14 XPointer XLink, XPointer, XMLBase oraz XInclude Zakresy I xpointer(end-point(/)) I xpointer(range(//AAA/BBB[2])) I xpointer(end-point(//AAA)) I xpointer(range-inside(//AAA/BBB[2])) <? xml version=" 1.0 " ?> <AAA> <BBB bbb=" 111 ">Text in the first element BBB .</BBB> <BBB bbb=" 222 ">Text in another element BBB . <DDD ddd=" 999 ">Text in more nested element .</DDD> </BBB> <CCC c c c=" 123 " x x x=" 321 ">Again some text in some element .</CCC> </AAA> I — punkt Kontener Dr inż. Stanisław Polak 1 2 3 4 5 6 7 <AAA> <BBB bbb=" 111 ">Text in the first element BBB .</BBB> <BBB bbb=”222”>Text in another element BBB. <DDD ddd="999">Text in more nested element.</DDD> </BBB> <CCC c c c=" 123 " x x x=" 321 ">Again some text in some element .</CCC> </AAA> Legenda Legenda I Przedmiot: XML i jego zastosowania 15 Przedmiot: XML i jego zastosowania I Lokalizacja I Kontener Dr inż. Stanisław Polak 16 Przedmiot: XML i jego zastosowania Przykłady XPointer XLink, XPointer, XMLBase oraz XInclude Zakresy łańcuchowe 1 2 3 4 5 6 7 XML Base i XInclude XLink, XPointer, XMLBase oraz XInclude XML Base I xpointer(string-range(//*,’element’)) I xpointer(string-range(//*,’another’,2,3)) I <AAA> <BBB bbb=" 111 ">Text in the first element BBB .</BBB> <BBB bbb=" 222 ">Text in another element BBB . <DDD ddd=" 999 ">Text in more nested element .</DDD> </BBB> <CCC c c c=" 123 " x x x=" 321 ">Again some text in some element .</CCC> </AAA> 1 2 3 4 XML Base — specyfikacja W3C służąca do określania ścieżki bazowej dla adresów URL w dokumentach XML < . . . x m l : b a s e=" http: // www . icsr . agh . edu . pl / "> < . . . h r e f=" ~ polak / index . html " . . . /> <!−− powy ż s z y URL z o s t a n i e z i n t e r p r e t o w a n y j a k o b e z w z g l ę dny a d r e s h t t p : //www . i c s r . agh . edu . p l /˜ p o l a k / i n d e x . h t m l −−> < / . . .> Legenda I Lokalizacja Dr inż. Stanisław Polak 17 XML Base i XInclude Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude XInclude I 1 2 3 4 5 6 7 Dr inż. Stanisław Polak 18 XML Base i XInclude Przedmiot: XML i jego zastosowania XLink, XPointer, XMLBase oraz XInclude Powiązanie standardów XInclude — standard który pozwala nam dołączać zewnętrzne dokumenty lub ich fragmenty do pliku XML. <? xml version=" 1.0 " e n c o d i n g=" utf -8 " ?> <xml x m l n s : x i=" http: // www . w3 . org /2001/ XInclude "> M ó j ulubiony kolor to < x i : include h r e f=" http: // example . com / kolor . txt " p a r s e=" text " e n c o d i n g=" utf -8 "> < x i : fallback>zielony</ x i : fallback> </ x i : include>. </ xml> plik.xml 1 niebieski kolor.txt 1 2 3 4 <? xml version=" 1.0 " e n c o d i n g=" utf -8 " ?> <xml> M ó j ulubiony kolor to niebieski . </ xml> Żródło: http://bienkowski.net/stud/content/sr/xml/html/all.html Dokument ’plik.xml’ po dołączeniu zawartości ’kolor.txt’ Dr inż. Stanisław Polak 19 Przedmiot: XML i jego zastosowania Dr inż. Stanisław Polak 20 Przedmiot: XML i jego zastosowania Źródła XLink, XPointer, XMLBase oraz XInclude Źródła Elliotte Rusty Harold. XML. Księga eksperta. Helion, 2001. W3C. XML Linking Language (XLink) Version 1.0. http://www.w3.org/TR/xlink/. Fundacja Wikipedia. Wolna encyklopedia Wikipedia. http://pl.wikipedia.org/. Zvon. XPointer tutorial. http://aloha.webhop.net/WebStatic/IT/SOFTWARE/XML/www.zvon. org/XPOINTER/xPointer.Examples/. Dr inż. Stanisław Polak 21 Przedmiot: XML i jego zastosowania