Literatura
żð PrzemysÅ‚aw Kazienko, Krzysztof Gwiazda:
XML na poważnie. Helion, Gliwice 2002
XML
eXtensible Markup Language
144
XML podstawowe cechy XML podstawowe składniki dokumentu
żð XML jest jÄ™zykiem tekstowym, tzn. dokumenty XML sÄ… plikami 1. Elementy
tekstowymi
Stanowią one główny składnik dokumentu XML. Złożone są z
żð XML jest jÄ™zykiem rozszerzalnym można dodawać w nim treÅ›ci elementu poprzedzonej znacznikiem poczÄ…tkowym
własne znaczniki i tworzyć na ich podstawie nowe standardy (start-tag) i zakończonej znacznikiem końcowym (end-tag).
Znaczniki te zawierajÄ… nazwÄ™ elementu.
żð XML dostosowany jest do opisu informacji przedstawionej w
Jan Kowalski różnych językach narodowych
Ä…ð
żð XML jest standardem otwartym, nielicencjonowanym,
niezależnym od platformy sprzętowej i programowej
2. Atrybuty
żð XML pozwala na oddzielenie treÅ›ci od formy jej prezentacji
Służą one do podania dodatkowych informacji o elemencie.
żð XML nie jest jÄ™zykiem programowania, ale sposobem
Treść tekstowego zapamiętania informacji
Dany element może mieć zdefiniowanych kilka atrybutów. Ich
definicje są wówczas oddzielone spacjami.
Elementy puste mogą zawierać atrybuty.
145 146
XML podstawowe składniki dokumentu XML hierarchiczna struktura dokumentu
3. Podelementy
Politechnika
Elementy mogą zawierać podelementy, dla których są
elementami nadrzędnymi. Podelementy mogą być z kolei
elementami nadrzędnymi dla własnych podelementów. W ten
sposób tworzona jest zagnieżdżone struktura hierarchiczna.
Wydziały Inne_jednostki
Elektryczny
Wydział Wydział Jednostka Jednostka
Wiejska 45D
...
nazwa adres nazwa adres nazwa adres nazwa adres
Radio Akadera
Zwierzyniecka 4
...
147 148
1
XML rodzaje elementów XML rodzaje elementów c.d.
Jeżeli element zawiera w sobie jakieś dane, to nazywany jest
3. Zawartość tekstowa (data content)
pojemnikiem (container element). Pojemnik może mieć
Pojemnik zawiera tylko i wyłącznie tekst.
następujące rodzaje zawartości:
Jan Kowalski 1. Zawartość elementowa (element content)
Pojemnik zawiera wówczas tylko i wyłącznie inne elementy.
Jan
Kowalski
2. Zawartość mieszana (mixed content) nie zalecana
Pojemnik zawiera zarówno tekst jak i inne elementy.
To jest autor artykułu Jan
Kowalski
149 150
Deklaracja XML
Przetwarzanie dokumentów XML
Aby dany dokument mógł zostać zidentyfikowany jako dokument
Dokument
XML, należy na jego początku umieścić deklarację XML.
XML
Parser
version określa wersję języka XML użytego w dokumencie. Jest to
parametr obowiązkowy i obecnie może mieć wartość tylko 1.0 .
encoding opcjonalny parametr określający sposób kodowania
Dokument Dokument
znaków
poprawny niepoprawny
składniowo składniowo
standalone opcjonalny parametr informujący o pominięciu lub nie
przetwarzania zewnętrznych definicji DTD oraz zewnętrznych
jednostek
Dalsze Komunikat o
przetwarzanie błędzie
151 152
XML składniki języka z informacjami dla parserów XML sekcja CDATA
1. Deklaracje Sekcja CDATA pozwala na umieszczenie dowolnego tekstu, który
nie będzie następnie analizowany pod kątem zawartych w nim
Umieszczane sÄ… one w tzw. Znacznikach deklaracji: .
elementów języka XML takich jak znaki < , > , & .
Deklaracje mogą być grupowane w zbiory przy użyciu znaczników
[ i ] . Sekcja CDATA ma postać:
Przykład
]> >> aby kontynuować]]>
Standard XML 1.0 wyróżnia deklaracje podstawowe (umieszczane
w dokumentach XML) oraz deklaracje wykorzystywane w
Inna możliwość rozwiązania tego zagadnienia, to użycie encji:
definicjach typu dokumentu (DTD).
Do deklaracji podstawowych zalicza siÄ™ komentarze oraz sekcje
aby kontynuować]]>
CDATA.
153 154
2
XML składniki języka z informacjami dla parserów XML składniki języka z informacjami dla parserów
2. Instrukcje przetwarzania 3. Jednostki (encje entity)
Zawierają one informacje przeznaczone dla programów Encja umożliwia zdefiniowanie fragmentu dokumentu jako tzw.
przetwarzajÄ…cych dokument XML. SÄ… one umieszczone w bloku Jednostki identyfikowanej poprzez przyporzÄ…dkowanÄ… jej nazwÄ™.
ograniczonym znakami i ?> i składają się z nazwy celu oraz
Encja definiowana jest poprzez deklaracjÄ™ ENTITY umieszczonÄ… w
instrukcji do wykonania. Celem jest słowo kluczowe identyfikujące
zbiorze deklaracji typu dokumentu DOCTYPE.
określoną aplikację.
]>
Przykłady
Użycie zdefiniowanej encji:
To jest tekst o XML, czyli o &XML; Treść danej encji może pochodzić też z pliku zewnętrznego:
http://serwer.pl/encje/XML_akronim.xml >
Response.Write (
& wyrażenie_ASP & )
?> Standard XML określa też jednostki predefiniowane, nie
podlegające zmianom i nie wymagające deklaracji. Należą do nich
m.in.: < (<) > (>) & (&) " ( )
155 156
XML nośniki informacji DTD opis struktury dokumentu XML
żðTreść elementów DTD (Document Type Definition) opisuje formalnÄ… strukturÄ™
dokumentu XML. W szczególności może DTD może określać:
żðNazwy elementów
żðnazwy dopuszczonych do użycia elementów
żðWartoÅ›ci atrybutów
żðmiejsca ich wystÄ…pienia
żðNazwy atrybutów
żðtypy danych zawartych w elementach
żðHierarchia (struktura elementów)
żðsposoby zagnieżdżania
żðdefinicje atrybutów
żðwartoÅ›ci domyÅ›lne atrybutów
żðmiejsca wystÄ…pienia atrybutów
Pojedyncze DTD definiuje konkretny język wyprowadzony z
metajęzyka XML, czyli określa język opisu dokumentu.
157 158
DTD opis struktury dokumentu XML DTD wewnętrzne i zewnętrzne
Jeżeli dokument spełnia formalne wymagania dotyczące sposobu DTD wewnętrzne umieszczone jest w jednym pliku razem z
zapisu elementów to jest to tzw. dokument dobrze uformowany (well- dokumentem XML. Składa się ono ze zbioru deklaracji o nazwie
formed) lub inaczej poprawny składniowo. DOCTYPE.
Jeżeli dokument jest poprawny składniowo, zawiera DTD i jego
zawartość odpowiada strukturze opisanej w tym DTD, to jest to
dokument poprawny strukturalnie.
]>
Treść Dokument
DTD
XML
Wewnętrzne DTD jest zawsze przetwarzane przez parser (ewentualnie
z wyjątkiem parserów specjalizowanych lub własnych)
Parser
Dokument Dokument
poprawny niepoprawny
strukturalnie strukturalnie
159 160
3
DTD wewnętrzne i zewnętrzne DTD deklaracja elementu
DTD zewnętrzne przechowywane jest w zewnętrznym pliku, a w
Deklaracja elementu ma postać:
dokumencie XML umieszczone jest odwołanie do odpowiedniego pliku
DTD. Sam plik DTD jest także dokumentem XML, ale nie zawiera
deklaracji DOCTYPE:
Rodzaje zawartości elementów:
(#PCDATA) zawartość tekstowa (Parsed Character DATA)
Zewnętrzne DTD możebyć prywatne lub publiczne.
EMPTY element pusty
Odwołanie do prywatnego DTD:
ANY element możezawierać dowolną wartość (w tym podelementy)
Odwołania do publicznego DTD poprzez FPI (Formal Public Identifier)
oraz URL:
http://www.wapforum.org/DTD/wml12.dtd >
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd >
161 162
DTD deklaracja podelementów DTD deklaracja podelementów c.d.
Do deklaracji podelementów służy tzw. model grupy nazywany też Jeżeli podelementów jest więcej niż jeden, to mogą być one
modelem elementowym. organizowane w sposób sekwencyjny lub wyboru.
Przykład dla jednego podelementu: Sekwencja podelementów:
Organizacja sekwencyjna oznacza, że podelementy muszą wystąpić w
podanej w deklaracji kolejności.
Przykładowy element zgodny z powyższą deklaracją:
Elektryczny
]>
163 164
DTD deklaracja podelementów c.d. DTD wskazniki liczby wystąpień
Wybór podelementów: Służą do określenia liczby wystąpień danego elementu lub grupy
elementów.
W dokumencie XML musi wystąpić tylko jeden z wymienionych w
deklaracji podelementów. Znaki specjalne: ? , + , *
)
]>
Połączenie sekwencji i wyboru:
]>
165 166
4
DTD deklaracja atrybutów DTD deklaracja atrybutów c.d.
Atrybuty elementów są definiowane w deklaracji listy atrybutów
Ostatni parametr w deklaracji listy atrybutów stanowi informację o
identyfikowanej poprzez słowo kluczowe ATTLIST, po którym
wartości domyślnej danego atrybutu oraz o konieczności wystąpienia
następuje nazwa elementu, który ma zawierać dane atrybuty.
tego atrybutu. Parametr ten możemieć następujące wartości:
Pozostała część deklaracji to tzw. definicja atrybutu, w której skład
#REQUIRED atrybut jest obowiązkowy bez określania wartości
wchodzÄ…:
żð nazwa atrybutu
#IMPLIED atrybut jest opcjonalny
żð typ atrybutu
wartość wartość domyślna, która jest przyjmowana gdy inna
żð wartość domyÅ›lna lub okreÅ›lenie koniecznoÅ›ci wystÄ™powania
wartość nie zostanie podana
Przykładowe typy atrybutów:
#FIXED wartość wartość stała, zawsze taka sama
CDATA łańcuch znaków
NMTOKEN ciąg znaków (tzw. słowo, nie może zawierać białych
znaków typu spacja, tabulacja itp.)
NMTOKENS zbiór słów oddzielonych znakami spacji
ENTITY osobna jednostka np. plik, obraz, tekst; jest to rodzaj
zmiennej, która zawiera dalszą informację
ENTITIES zbiór jednostek oddzielonych od siebie spacjami
Typ wyliczeniowy lista wszystkich możliwych wartości atrybutu
167 168
oddzielonych znakiem | umieszczona w nawiasach okrągłych
DTD przykład deklaracji elementu z atrybutami XML przykładowe programy narzędziowe
Altova XMLSpy
http://www.altova.com/
imie CDATA #REQUIRED
nazwisko CDATA #REQUIRED
pesel NMTOKEN #IMPLIED Stylus Studio XML
rok_studiow (1|2|3|4|5) 1 >
http://www.stylusstudio.com
]>
XML Writer
nazwisko= Kowalski http://www.xmlwriter.net
rok_studiow= 2 />
nazwisko= Nowak
Microsoft XML Notepad (bezpłatny)
pesel= 83051601234
rok_studiow= 1 />
.....
169 170
Przestrzenie nazw (namespaces) w języku XML
Każdy z języków wyprowadzonych z XML (np. poprzez określone
DTD) może być traktowany jako zbiór nazw tworzący określoną
przestrzeń nazw.
Aby udostępnić możliwość wykorzystania w jednym dokumencie XML
kilku języków (DTD) wprowadzono możliwość przypisania danemu
XML - przestrzenie nazw
językowi dodatkowej nazwy (prefiksu) i poprzedzanie tym prefiksem
każdego odwołania do zbioru elementów i atrybutów danego języka:
prefiks_przestrzeni: nazwa_z_tej_przestrzeni
Deklaracja przestrzeni nazw odbywa siÄ™ poprzez atrybut xmlns
określający prefiks tej przestrzeni oraz jej zródło (np. DTD lub URI):
Treść traktowana jako akapit języka HTML
172
5
Przestrzenie nazw (namespaces) w języku XML Przestrzenie nazw (namespaces) w języku XML
Deklaracja przestrzeni nazw umieszczona w danym elemencie W jednym dokumencie można zadeklarować i korzystać z kilku
umożliwia stosowanie nazw z tej przestrzeni w ramach tego elementu przestrzeni nazw.
oraz w jego podelementach bez ponownej deklaracji.
Jednocześnie możliwe jest korzystanie z nazw własnych danego
xmlns:HTML= http://www.w3c.org/TR/REC-html40 >
dokumentu (bez żadnych prefiksów).
Tytuł sprawozdania
Tekst dyrektywy
Komórka utworzona w HTML
Sprawozdanie za rok 2005
Jedna z przestrzeni może być wskazana jako domyślna poprzez
Sprawozdanie zawiera dołączony wykres
pominięcie prefiksu:
Autor
xmlns:HTML= http://www.w3c.org/TR/REC-html40 >
Element tytul zdefiniowany w sprawozdanie.dtdTekst dyrektywy Komórka utworzona w HTML
173 174 Przestrzenie nazw (namespaces) w jÄ™zyku XML Standardowe jÄ™zyki pochodzÄ…ce z XML majÄ… zazwyczaj okreÅ›lone identyfikatory URI dla ich przestrzeni nazw. Aplikacja (parser) obsÅ‚ugujÄ…ca dany jÄ™zyk powinna mieć wbudowane DTD tego jÄ™zyka ponieważ URI sÅ‚uży tylko do wskazania jÄ™zyka i nie zawiera żadnego DTD. Schematy dokumentów XML PrzykÅ‚adowe URI dla wybranych jÄ™zyków: JÄ™zyk Identyfikator URI Zalecany XML Schema prefiks HTML http://www.w3.org/TR/REC-html40 html: XHTML http://www.w3.org/1999/xhtml html: XML Schema http://www.w3.org/2001/XMLSchema xsd: XSLT http://www.w3.org/1999/XSL/Transform xsl: XSL http://www.w3.org/1999/XSL/Format fo: 175 Schematy dokumentów XML Podstawowe skÅ‚adniki schematu XML Schema stanowi osobny jÄ™zyk z przestrzeniÄ… nazw oznaczonÄ… żðDeklaracja elementu prefiksem xsd. Głównym elementem (korzeniem) schematu XML jest
element o nazwie schema. Ogólna struktura schematu: żðDeklaracja atrybutu
Typy danych użyte w deklaracjach elementów i atrybutów mogą być typami wbudowanymi w standard XMLSchema lub typami zdefiniowanymi przez użytkownika. 177 178 6 Schematy dokumentów XML - definiowanie typów danych Schematy dokumentów XML - definiowanie typów danych Przykład definicji typu prostego W zawartych w schematach deklaracjach elementów i atrybutów określa się typ ich zawartości poprzez umieszczenie w deklaracji Typ tWiek stanowiący liczbę całkowitą z przedziału <1,150>. atrybutu type. Atrybut ten może stanowić:
żðtyp wbudowany (zdefiniowany bezpoÅ›rednio w standardzie XML
Schema np. string, integer, boolean, time itd.);
żðtyp prosty, zdefiniowany w schemacie poprzez element
. Stanowi on bezpośrednią zawartość elementu
lub atrybutu.
żðtyp zÅ‚ożony, zdefiniowany w schemacie poprzez element
. Może on określać istnienie podelementów oraz atrybutów. 179 180 Schematy dokumentów XML - definiowanie typów danych Aączenie schematu z dokumentem XML Przykład definicji typu złożonego 1. Odwołanie do schematu nie określającego docelowej Typ tAdres (ulica, nr domu, miasto, rodzaj) przestrzeni nazw
W tym przypadku schemat nie zawiera określenia docelowej
przestrzeni nazw dla deklarowanych w nim elementów i atrybutów.
plik_ze_schematem.xsd
... pozostałe deklaracje ...
181 182
Aączenie schematu z dokumentem XML Aączenie schematu z dokumentem XML 1. Odwołanie do schematu nie określającego docelowej 1. Odwołanie do schematu nie określającego docelowej przestrzeni nazw przestrzeni nazw 1a. Poprzez użycie atrybutu xsi:noNameSpaceschemaLocation, 1b. Poprzez użycie atrybutu xsi:schemaLocation, w którym podaje się lokalizację schematu, gdzie xsi jest prefiksem w którym określa się domyślną przestrzeń nazw dla schematu standardowej przestrzeni nazw XMLSchema-instance. oraz lokalizację tego schematu. Tworzone jest więc bezpośrednie odniesienie do lokalizacji schematu.
xmlns:xsi= http://www.w3org/2001/XMLSchema-instance xsi:schemaLocation= przestrzen_domyslna plik_ze_schematem.xsd > xsi:noNameSpaceschemaLocation= plik_ze_schematem.xsd >
Użyta przestrzeń nazw z prefiksem xsi jest przestrzenią nazw dla dokumentów korzystających z XML Schema (tzw. przestrzeń nazw instancji schematu). 183 184 7 Aączenie schematu z dokumentem XML Aączenie schematu z dokumentem XML 2. Odwołanie do schematu określającego docelową przestrzeń 2. Odwołanie do schematu określającego docelową przestrzeń nazw nazw W tym przypadku docelowa przestrzeń nazw dla elementów i
atrybutów zadeklarowanych w użytym schemacie wskazywana jest xmlns:xsi= http://www.w3org/2001/XMLSchema-instance wewnątrz tego schematu. xsi:schemaLocation= nazwa_przestrzeni_nazw schemat2.xsd >
schemat2.xsd
targetNamespace= nazwa_przestrzeni_nazw xmlns= nazwa_przestrzeni_nazw elementFormDefault= qualified | unqualified attributeFormDefault= qualified | unqualified > [form= qualified | unqualified ] /> ... pozostałe deklaracje ...
185 186 Transformacje dokumentów XML poprzez XSLT " XSLT (eXtensible Stylesheet Language Transformation) stanowi język umożliwiający wykonywanie przekształceń (transformacji) dokumentów XML zgodnie z założonymi zasadami. " W szczególności często stosowane jest przekształcenie dokumentu XML w dokument XHTML, co pozwala na jego czytelne wyświetlenie w przeglądarce. Transformacje dokumentów XML " XSLT stanowi osobny język z przestrzenią nazw oznaczoną prefiksem xsl. Głównym elementem (korzeniem) dokumentu XSLT XSLT jest element o nazwie stylesheet. " Element output określa rodzaj dokumentu wyjściowego. " Element template tworzy wzorzec do którego porównywany jest dokument wejściowy. Atrybut match tego elementu określa zakres stosowania wzorca (np. / oznacza cały dokument). " Element value-of pobiera daną z elementu wejściowego dokumentu XML określonego przez atrybut select. 187 188 Transformacje dokumentów XML poprzez XSLT Literatura Ogólna struktura arkusza XSLT:
żð Steven Holzner: XSLT. Vademecum profesjonalisty. version="1.0"> Helion, Gliwice 2002
Przyłączenie arkusza XSLT do dokumentu XML:
189 190 8
Wyszukiwarka
Podobne podstrony: function xml parse into struct pai XML 2001 04 Xml Content Management TI1 NAT ref xml Wykład 12 XML NOWOCZESNY STANDARD ZAPISU I WYMIANY DOKUMENTU function xml set notation decl handler Jezyk XML w aplikacjach z bazami danych xml sgml xml function xml set external entity ref handler TI1 WS Wykorzystanie XML w relacyjnych?zach?nych function xml set element handler
więcej podobnych podstron
|