TI1 XML


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 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.dtd

Tekst 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