XML_na_powaznie_xmlnap.pdf

(409 KB) Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TREŒCI
XML na powa¿nie
Autorzy: Przemys³aw Kazienko, Krzysztof Gwiazda
ISBN: 83-7197-765-4
Format: B5, stron: 444
Zawiera CD-ROM
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOŒCIACH
ZAMÓW CENNIK
Ksi¹¿ka ta to przegl¹d g³ównych standardów zwi¹zanych z jêzykiem XML:
XML 1.0.
DTD -- opis struktury dokumentu.
XSLT -- transformacje dokumentów.
XPath -- nawigacja i wyszukiwanie.
XPointer -- wskazania wewn¹trz dokumentów.
DOM (Level 1, 2, 3) -- dostêp do dokumentu jako drzewa wêz³ów.
SAX -- zdarzeniowe przetwarzanie dokumentów.
Namespaces -- przestrzenie nazw.
a tak¿e najnowszych standardów zatwierdzonych w 2001 r.:
XML Schema -- schematy zawartoœci.
XLink -- odsy³acze hipertekstowe.
XSL FO -- prezentacja danych.
XML Base -- adresy odniesienia.
SVG -- grafika wektorowa.
Interesuj¹co zapowiada siê czêœæ poœwiêcona zastosowaniom jêzyka XML:
serwisy internetowe,
elektroniczna wymiana danych (EDI),
bazy danych XML -- XDBMS,
pseudostrukturalne dane tekstowe,
systemy prezentacji i systemy interaktywne,
dane specjalistyczne (np. MathML, CML).
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Autorzy umieœcili informacje o ograniczeniach poszczególnych standardów, jak równie¿
ró¿norodne zalecenia bêd¹ce owocem ich przemyœleñ a dotycz¹cych np. sposobów
tworzenia (modelowania) dokumentów, strategii budowy schematów XML Schema czy
stosowania polskich liter.
Ksi¹¿ka mo¿e byæ z powodzeniem wykorzystywana jako podrêcznik jêzyka XML dla
studentów kierunków informatycznych. Przeznaczona jest tak¿e dla programistów,
projektantów oraz analityków, jak równie¿ zwyk³ych u¿ytkowników komputerów,
posiadaj¹cych jednak pewne obycie informatyczne.
„XML na powa¿nie” zawiera wiele przyk³adów, a wiêkszoœæ z nich jest dostêpna na
za³¹czonej p³ycie CD-ROM w postaci prawie 300 plików.
Wprowadzenie ....................................................................................................11
Rozdział 1. Geneza i stan obecny języka XML .....................................................19
1.1. Początki języka znaczników. Historia XML..............................................................19
1.2. Ograniczenia języka HTML.......................................................................................21
1.3. XML — wzbogacony HTML czy zubo ony SGML? ...............................................24
1.4. Języki znaczników......................................................................................................24
1.5. Standardy języka XML ..............................................................................................25
1.6. Przyszłość języków systemu WWW..........................................................................29
Rozdział 2. XML — pojęcia podstawowe .............................................................31
2.1. Dokument XML .........................................................................................................31
2.2. Podstawowe składniki dokumentu XML ...................................................................32
2.2.1. Elementy ...........................................................................................................32
2.2.2. Atrybuty ............................................................................................................35
2.2.3. Elementy puste..................................................................................................36
2.3. Podelementy. Hierarchia elementów..........................................................................38
2.4. Rodzaje elementów ....................................................................................................40
2.5. Postać elementów.......................................................................................................41
2.6. Deklaracja XML.........................................................................................................43
2.7. Poprawny dokument XML.........................................................................................44
2.8. Przetwarzanie dokumentów XML .............................................................................45
2.9. Inne składniki języka XML........................................................................................46
2.9.1. Deklaracje .........................................................................................................46
2.9.2. Instrukcje przetwarzania ...................................................................................49
2.9.3. Entity — jednostki ............................................................................................50
2.10. Nośniki informacji w dokumencie XML .................................................................52
2.11. Konwersja dokumentów HTML do XML ...............................................................53
Rozdział 3. DTD — opis struktury dokumentu .....................................................55
3.1. Poprawność strukturalna dokumentu ..............................................................................56
3.2. Struktura DTD............................................................................................................58
3.2.1. DTD wewnętrzne ..............................................................................................58
3.2.2. DTD zewnętrzne ...............................................................................................58
3.3. Deklaracja elementu...................................................................................................61
3.3.1. Deklaracja elementu tekstowego ......................................................................61
3.3.2. Deklaracja elementu pustego ............................................................................62
3.3.3. Deklaracja elementu dowolnego.......................................................................62
3.4. Deklarowanie podelementów — sekwencje i wybory...............................................63
3.4.1. Sekwencja podelementów.................................................................................63
3.4.2. Wybór podelementów.......................................................................................64
3.4.3. Połączenie sekwencji i wyboru.........................................................................65
6
XML na poważnie
3.5. Wskaźniki liczby wystąpień.......................................................................................67
3.6. Modele zawartości elementu......................................................................................71
3.7. Budowanie hierarchii elementów...............................................................................73
3.8. Problemy zawartości elementowej.............................................................................76
3.9. Deklaracje atrybutów .................................................................................................78
3.9.1. Typy atrybutów.................................................................................................78
3.9.2. Wartości domyślne atrybutów ..........................................................................81
3.10. Dylemat: podelementy czy atrybuty ........................................................................83
3.11. Namespaces — przestrzenie nazw ...........................................................................85
3.11.1. Wykorzystanie wielu nazw z przestrzeni........................................................87
3.11.2. Wiele przestrzeni. Przestrzenie domyślne ......................................................88
3.11.3. DTD a przestrzenie nazw................................................................................89
3.11.4. Przestrzenie standardowe................................................................................89
3.12. Atrybuty predefiniowane..........................................................................................91
3.12.1. Atrybuty xml:lang oraz xml:space..................................................................91
3.12.2. Atrybut xml:base.............................................................................................92
3.13. Jednostki (encje).......................................................................................................94
3.13.1. Jednostki parametryczne.................................................................................95
3.13.2. Jednostki ogólne..............................................................................................98
3.14. Deklaracje notacji...................................................................................................102
3.15. Sekcje warunkowe..................................................................................................102
3.16. Problemy i ograniczenia DTD................................................................................104
3.17. Podsumowanie .......................................................................................................105
Rozdział 4. XML Schema — schematy dokumentów .........................................107
4.1. Budowa schematu ....................................................................................................108
4.1.1. Przestrzeń nazw XML Schema. Korzeń schematu .........................................108
4.1.2. Zasadnicze składowe schematu ......................................................................109
4.2. Łączenie schematu z dokumentem XML.................................................................110
4.2.1. Przydzielanie schematów do przestrzeni nazw...............................................110
4.2.2. Odwołania do schematów bez przestrzeni nazw ............................................112
4.2.3. Odwołania do schematów z przestrzenią nazw ..............................................113
4.3. Sprawdzanie poprawności dokumentu XML...........................................................115
4.4. Typy proste a typy zło one ......................................................................................116
4.5. Wbudowane typy danych .........................................................................................119
4.6. Aspekty.....................................................................................................................125
4.6.1. Aspekty określające długość...........................................................................127
4.6.2. Aspekty ograniczające wartości liczbowe ......................................................128
4.6.3. Wzorce wartości..............................................................................................129
4.6.4. Wyliczenia ......................................................................................................134
4.6.5. Łączenie aspektów ..........................................................................................135
4.6.6. Blokowanie wartości aspektów.......................................................................135
4.7. Wymuszenia występowania .....................................................................................135
4.7.1. Liczby wystąpień elementu.............................................................................135
4.7.2. Liczby wystąpień w deklaracjach DTD a schematy XML Schema ...............136
4.7.3. Występowanie atrybutu ..................................................................................137
4.8. Wyprowadzanie typów.............................................................................................137
4.9. Typy zło one zawierające podelementy. Składacze ................................................140
4.10. Typy zło one z atrybutami — bez podelementów. Elementy puste ......................146
4.11. Deklaracje globalne i lokalne. Odesłania do elementów i atrybutów ....................148
4.12. Grupy elementów i atrybutów................................................................................151
4.13. Domyślne oraz stałe wartości elementów i atrybutów...........................................154
4.14. Wartości niepowtarzalne ........................................................................................155
Spis treści
7
4.15. Listy........................................................................................................................160
4.16. Kombinacje ............................................................................................................161
4.17. Elementy zastępcze ................................................................................................162
4.18. Strategie budowy schematów.................................................................................163
4.18.1. Metoda zagnie d ania...................................................................................163
4.18.2. Metoda płaskiego katalogu ...........................................................................167
4.18.3. Metoda definiowania typów .........................................................................171
4.18.4. Wnioski .........................................................................................................175
4.19. XML Schema a DTD .............................................................................................175
4.20. Podsumowanie .......................................................................................................179
Rozdział 5. XPath — nawigacja i wyszukiwanie ................................................181
5.1. Budowa wyra eń XPath ...........................................................................................181
5.2. Wędrówka po drzewie dokumentu XML.................................................................182
5.2.1. Drzewo węzłów ..............................................................................................183
5.2.2. Dostęp do węzłów drzewa ..............................................................................184
5.3. Wyszukiwanie węzłów.............................................................................................188
5.3.1. Operatory ........................................................................................................189
5.3.2. Numer kolejnego węzła ..................................................................................190
5.3.3. Wyszukiwanie poprzez zawartość elementu ..................................................192
5.3.4. Wyszukiwanie poprzez wartość atrybutu .......................................................192
5.4. Funkcje .....................................................................................................................193
5.4.1. Operacje dotyczące tekstu...............................................................................193
5.4.2. Operacje dotyczące liczb ................................................................................196
5.4.3. Operacje dotyczące wartości logicznych ........................................................197
5.4.4. Pozostałe operacje...........................................................................................198
5.5. Ograniczenia języka XPath ......................................................................................200
Rozdział 6. XLink — odsyłacze hipertekstowe ..................................................201
6.1. Podstawy języka XLink ...........................................................................................202
6.1.1. Deklaracja przestrzeni nazw ...........................................................................202
6.1.2. Rodzaje odsyłaczy ..........................................................................................202
6.2. Odsyłacze proste ......................................................................................................203
6.3. Podelementy odsyłaczy rozszerzonych....................................................................204
6.4. Atrybuty odsyłaczy XLink .......................................................................................205
6.5. Dwa sposoby wskazywania struktur XML ..............................................................208
6.6. Łuki. Reguły przechodzenia.....................................................................................209
6.7. Odsyłacze rozszerzone. Bazy odsyłaczy..................................................................211
6.7.1. Prezentacja łuków ...........................................................................................213
6.7.2. Wiązanie wielu zasobów za pomocą jednego łuku.........................................214
6.7.3. Prezentacja rozbudowanych łuków.................................................................218
6.7.4. Zastosowanie baz odsyłaczy ...........................................................................219
6.8. Zachowanie odsyłaczy .............................................................................................220
6.9. Definiowanie struktur zawierających odsyłacze ......................................................221
6.10. Podsumowanie .......................................................................................................224
Rozdział 7. XPointer — wskazania wewnñtrz dokumentów ................................225
7.1. Rodzaje wskazań ......................................................................................................225
7.2. Sekwencje dzieci ......................................................................................................228
7.3. Funkcje XPointer......................................................................................................228
7.4. Punkty.......................................................................................................................229
7.4.1. Punkt początkowy...........................................................................................229
7.4.2. Punkt końcowy................................................................................................230
8
XML na poważnie
7.5. Zakresy .....................................................................................................................231
7.5.1. Wskazanie zakresu poprzez wyszukanie ciągu znaków .................................231
7.5.2. Wskazanie zakresu poprzez podanie początku i końca ..................................233
7.5.3. Zamiana elementu na zakres...........................................................................234
7.6. Wskazania względne ................................................................................................234
7.7. Kodowanie znaków specjalnych ..............................................................................235
7.8. Wyra enia XPointer zawierające wyra enia XPath.................................................236
7.9. Podsumowanie .........................................................................................................237
Rozdział 8. XSLT — transformacje dokumentów ...............................................239
8.1. Transformacje...........................................................................................................241
8.2. Budowa dokumentu XSLT.......................................................................................242
8.3. Wzorce — definiowanie, wywoływanie....................................................................244
8.3.1. Definiowanie szablonów.................................................................................244
8.3.2. Wywoływanie szablonów ...............................................................................247
8.4. Wydobywanie informacji z dokumentu wejściowego .............................................250
8.5. Kontrola przebiegu transformacji.............................................................................251
8.6. Zmienne, zbiory atrybutów ......................................................................................255
8.7. Elementy sterujące ...................................................................................................258
8.8. Elementy kopiujące ..................................................................................................259
8.9. Klucze.......................................................................................................................261
8.10. Przetwarzanie białych znaków ...............................................................................263
8.11. Numerowanie .........................................................................................................263
8.12. Funkcje ...................................................................................................................270
8.13. Dołączanie arkuszy ................................................................................................273
8.14. Tworzenie nowego arkusza stylów ........................................................................275
8.15. Rodzaje dokumentu wynikowego ..........................................................................277
8.16. Wykorzystanie kaskadowych arkuszy stylów CSS................................................279
8.17. Transformacje do XSL FO.....................................................................................283
8.18. Transformacje do dokumentu XML o innej strukturze..........................................285
8.19. Przeglądarki internetowe a aplikacje serwerowe ...................................................287
Rozdział 9. XSL FO — prezentacja danych........................................................289
9.1. XSLT a XSL FO ......................................................................................................289
9.2. Budowa arkusza .......................................................................................................290
9.2.1. Deklaracja przestrzeni nazw. Element główny ...............................................290
9.2.2. Struktura dokumentu XSL ..............................................................................291
9.3. Struktura strony ........................................................................................................293
9.4. Szablony ...................................................................................................................296
9.5. Zawartość strony ......................................................................................................301
9.6. Atrybuty prezentacji.................................................................................................303
9.7. Obszar bloku ............................................................................................................310
9.7.1. Bloki................................................................................................................310
9.7.2. Tabele..............................................................................................................310
9.7.3. Listy ................................................................................................................314
9.8. Obiekty graficzne .....................................................................................................316
9.9. Linie rozdzielające ...................................................................................................318
9.10. FOP — transformacja do formatu PDF..................................................................319
9.11. Podsumowanie .......................................................................................................321
Rozdział 10. DOM — budowanie i dostęp do drzewa dokumentu XML..................323
10.1. Core — zasadnicza część DOM.............................................................................324
10.1.1. DOMImplementation....................................................................................324
10.1.2. Document......................................................................................................326
Zgłoś jeśli naruszono regulamin