Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00478 010181 11041381 na godz. na dobę w sumie
XSLT dla każdego - książka
XSLT dla każdego - książka
Autor: Liczba stron: 576
Wydawca: Helion Język publikacji: polski
ISBN: 83-7197-785-9 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> xml i xslt - programowanie
Porównaj ceny (książka, ebook, audiobook).
Język XSLT jest jedną z najważniejszych technologii związanych z XML. Za pomocą XSLT możemy przekształcić dokumenty XML, możemy także wygenerować plik HTML lub nawet zwykły plik tekstowy. Specyfikacja tego języka opracowana przez konsorcjum W3C nie jest łatwa w lekturze. Nawet jeśli programowałeś wcześniej w języku zorientowanym obiektowo lub języku strukturalnym, zrozumienie zasady działania XSLT może nastręczać pewne trudności. XSLT został bowiem oparty o zupełnie inny paradygmat, który poznasz w czasie lektury tej książki.

Książka 'XSLT dla każdego' w przystępny sposób pomoże zrozumieć i opanować język XSLT. Od czytelników wymaga się jedynie podstawowej znajomości XML i technologii z XML związanych. Podczas pracy z XSLT będziemy jednocześnie pogłębiali swoją znajomość XML. Nauczymy się przekształcać dokumenty XML na kod HTML, dzięki czemu można je przeglądać w przeglądarce, nauczymy się też przetwarzać jedną postać XML na inną.

Przedstawiono:

Książka 'XSLT dla każdego' jest przeznaczona dla osób uczących się XSLT, ale nie tylko dla nich. Przydatna będzie też dla osób znających już podstawy XSLT, gdyż wiele zagadnień omawiamy bardzo szczegółowo. To kompletny przewodnik po tym języku programowania, od podstaw po zagadnienia zaawansowane.
Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI XSLT dla ka¿dego KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG Autor: Michiel van Otegem T³umaczenie: Tomasz ¯mijewski ISBN: 83-7197-785-9 Tytu³ orygina³u: TY XSLT in 21 Days Format: B5, stron: 578 Przyk³ady na ftp: 115 kB TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Jêzyk XSLT jest jedn¹ z najwa¿niejszych technologii zwi¹zanych z XML. Za pomoc¹ XSLT mo¿emy przekszta³ciæ dokumenty XML, mo¿emy tak¿e wygenerowaæ plik HTML lub nawet zwyk³y plik tekstowy. Specyfikacja tego jêzyka opracowana przez konsorcjum W3C nie jest ³atwa w lekturze. Nawet jeġli programowa³eġ wczeġniej w jêzyku zorientowanym obiektowo lub jêzyku strukturalnym, zrozumienie zasady dzia³ania XSLT mo¿e nastrêczaæ pewne trudnoġci. XSLT zosta³ bowiem oparty o zupe³nie inny paradygmat, który poznasz w czasie lektury tej ksi¹¿ki. Ksi¹¿ka „XSLT dla ka¿dego” w przystêpny sposób pomo¿e zrozumieæ i opanowaæ jêzyk XSLT. Od czytelników wymaga siê jedynie podstawowej znajomoġci XML i technologii z XML zwi¹zanych. Podczas pracy z XSLT bêdziemy jednoczeġnie pog³êbiali swoj¹ znajomoġæ XML. Nauczymy siê przekszta³caæ dokumenty XML na kod HTML, dziêki czemu mo¿na je przegl¹daæ w przegl¹darce, nauczymy siê te¿ przetwarzaæ jedn¹ postaæ XML na inn¹. Przedstawiono: • Zalety, wady i obszary zastosowania XSLT • Narzêdzia u³atwiaj¹ce tworzenie i debugowanie plików XSLT, procesory XSLT: MSXML, Saxon, Xalan • Wybieranie fragmentów dokumentu XML za pomoc¹ XPath • U¿ycie regu³, wstawianie tekstu i elementów • Przetwarzanie warunkowe i iteracyjne, zastosowanie rekurencji • Tworzenie dokumentów HTML • U¿ycie zmiennych i parametrów • Operacje na ³añcuchach, formatowanie danych, sortowanie i numerowanie • Tworzenie arkuszy z³o¿onych z wielu plików • Zagadnienia zwi¹zane z przestrzeniami nazw • Metodologiê projektowania aplikacji opartych na XML i XSLT Ksi¹¿ka „XSLT dla ka¿dego” jest przeznaczona dla osób ucz¹cych siê XSLT, ale nie tylko dla nich. Przydatna bêdzie te¿ dla osób znaj¹cych ju¿ podstawy XSLT, gdy¿ wiele zagadnieñ omawiamy bardzo szczegó³owo. To kompletny przewodnik po tym jêzyku programowania, od podstaw po zagadnienia zaawansowane. Spis treści O Autorze ......................................................................................... 17 Wstęp .............................................................................................. 19 Dla kogo jest ta książka? ...................................................s......................................19 Co trzeba wiedzieć przed rozpoczęciem lektury? ...................................................s....20 Czego można się z tej książki nauczyć? ...................................................s.................20 Jakie oprogramowanie jest potrzebne do zrealizowania przykładów z tej książki?.........20 Jak zorganizowana jest ta książka? ...................................................s........................20 Konwencje przyjęte w książce ...................................................s..............................21 Część I ...................................................3......................... 23 Rozdział 1. Rozpoczynamy naukę XSLT ............................................................... 25 XSLT w skrócie ...................................................s..................................................25 Wprowadzenie do XML i XSLT ...................................................s.....................26 XSLT i rodzina XML...................................................s.....................................29 Zalety XSLT ...................................................s.................................................33 Kiedy nie należy używać XSLT ...................................................s......................37 Jak działa XSLT? ...................................................s................................................38 Przekształcanie XSLT ...................................................s....................................38 Programowanie deklaratywne...................................................s..........................41 Tworzenie plików XSLT ...................................................s......................................42 Użycie edytora tekstowego ...................................................s.............................42 Użycie edytora XML...................................................s......................................42 Edytory i debuggery XSLT...................................................s.............................43 Narzędzia projektowe XSLT...................................................s...........................44 Procesory przekształcające XML za pomocą XSLT ...................................................s44 MSXML ...................................................s...................................................s....44 Saxon...................................................s...................................................s.........45 Xalan...................................................s...................................................s.........46 Podsumowanie ...................................................s...................................................s.47 Pytania i odpowiedzi ...................................................s............................................47 Zadania...................................................s...................................................s............48 Quiz...................................................s...................................................s...........48 Ćwiczenie ...................................................s...................................................s..48 Rozdział 2. Pierwsze przekształcenia XML........................................................... 51 Anatomia arkusza stylów...................................................s......................................51 Czym jest arkusz stylów?...................................................s................................51 Podstawowe składniki arkusza stylów ...................................................s..............52 Uproszczona składnia arkuszy stylów ...................................................s..............61 4 XSLT dla każdego Wykonywanie arkusza stylów na dokumencie XML ..................................................62 Łączenie arkusza stylów z dokumentem XML...................................................s..63 Zanurzanie arkuszy stylów w dokumentach XML................................................65 Programowe wykonywanie arkusza stylu ...................................................s.........66 Podsumowanie ...................................................s...................................................s.68 Pytania i odpowiedzi ...................................................s............................................68 Zadania...................................................s...................................................s............68 Quiz...................................................s...................................................s...........69 Ćwiczenie ...................................................s...................................................s..69 Rozdział 3. Wybieranie danych............................................................................ 71 Drzewa dokumentów XML ...................................................s..................................71 Co to jest węzeł?...................................................s............................................72 Czym jest zbiór węzłów? ...................................................s................................74 XPath...................................................s...................................................s..............75 Wybieranie elementów ...................................................s...................................75 Wybieranie atrybutów ...................................................s....................................81 Techniki bardziej zaawansowane...................................................s.....................82 Podsumowanie ...................................................s...................................................s.88 Pytania i odpowiedzi ...................................................s............................................89 Zadania...................................................s...................................................s............89 Quiz...................................................s...................................................s...........90 Ćwiczenie ...................................................s...................................................s..90 Rozdział 4. Użycie reguł...................................................................................... 91 Reguły...................................................s...................................................s.............91 Reguły z bliska ...................................................s..............................................91 Korzyści wynikające ze stosowania reguł ...................................................s.........93 Tworzenie i użycie reguł...................................................s.......................................98 Więcej o dopasowywaniu reguł ...................................................s.......................98 Użycie nazwanych reguł ...................................................s...............................102 Sprawdzanie, której reguły użyto...................................................s.........................103 Różne reguły na różne przypadki...................................................s...................103 Priorytety reguł ...................................................s............................................105 Definiowanie własnych priorytetów...................................................s...............108 Podsumowanie ...................................................s..................................................109 Pytania i odpowiedzi ...................................................s..........................................109 Zadania...................................................s...................................................s..........110 Quiz...................................................s...................................................s.........110 Ćwiczenia ...................................................s...................................................s110 Rozdział 5. Wstawianie tekstu i elementów ...................................................... 111 Wstawianie tekstu...................................................s..............................................111 Tekst ze znakami specjalnymi ...................................................s.......................112 Znaki specjalne XSLT...................................................s..................................114 Wstawianie elementów i atrybutów ...................................................s.....................116 Wstawianie elementów ...................................................s.................................116 Wstawianie atrybutów ...................................................s..................................124 Kopiowanie elementów z dokumentu źródłowego...................................................s.129 Kopiowanie jedynie węzła kontekstu ...................................................s.............129 Kopiowanie zbiorów węzłów i fragmentów drzewa............................................131 Wstawianie komentarzy i instrukcji przetwarzania ...................................................s132 Wstawianie komentarzy...................................................s................................133 Wstawianie instrukcji przetwarzania ...................................................s..............134 Spis treści 5 Podsumowanie ...................................................s..................................................135 Pytania i odpowiedzi ...................................................s..........................................136 Zadania...................................................s...................................................s..........136 Quiz...................................................s...................................................s.........136 Ćwiczenie ...................................................s...................................................s136 Rozdział 6. Przetwarzanie warunkowe i iteracyjne............................................... 137 Iteracja po zbiorze węzłów ...................................................s.................................137 Przetwarzanie kolejnych węzłów ze zbioru...................................................s.....138 Filtrowanie zbiorów węzłów ...................................................s.........................141 Użycie funkcji operujących na zbiorach węzłów ................................................143 Przetwarzanie warunkowe ...................................................s..................................144 Proste przetwarzanie warunkowe...................................................s...................144 Przetwarzanie warunkowe — wiele możliwości.................................................147 Jeszcze o wyrażeniach...................................................s........................................149 Formalizm wyrażeń...................................................s......................................149 Użycie wielu predykatów...................................................s..............................150 Łączenie wyrażeń ...................................................s........................................151 Użycie funkcji logicznych ...................................................s..................................152 Negacja wyniku wyrażenia ...................................................s...........................153 Konwersja na wartości logiczne...................................................s.....................153 Podsumowanie ...................................................s..................................................154 Pytania i odpowiedzi ...................................................s..........................................154 Zadania...................................................s...................................................s..........155 Quiz...................................................s...................................................s.........155 Ćwiczenia ...................................................s...................................................s155 Rozdział 7. Kontrola postaci danych wynikowych ............................................. 157 Różne formaty wynikowe...................................................s...................................157 Dane wynikowe XML...................................................s..................................158 Format wynikowy HTML...................................................s.............................160 Dane wynikowe w innych formatach ...................................................s.............163 Określanie typu nośnika...................................................s................................166 Kodowanie wynikowe i cytowanie ...................................................s......................166 Określanie kodowania wynikowego...................................................s...............167 Kodowanie nieobsługiwanych znaków...................................................s...........167 Wyłączanie cytowania ...................................................s..................................168 Obsługa białych znaków...................................................s.....................................170 Jak są obsługiwane białe znaki ...................................................s......................170 Odrzucanie białych znaków z dokumentu źródłowego........................................171 Obsługa białych znaków w arkuszu ...................................................s...............175 Wcięcia...................................................s...................................................s....177 Podsumowanie ...................................................s..................................................178 Pytania i odpowiedzi ...................................................s..........................................179 Zadania...................................................s...................................................s..........179 Quiz...................................................s...................................................s.........179 Ćwiczenie ...................................................s...................................................s180 Część II ...................................................3...................... 181 Rozdział 8. Użycie zmiennych............................................................................ 183 O zmiennych ...................................................s...................................................s..183 Czym są zmienne? ...................................................s.......................................183 Jakie są zalety stosowania zmiennych?...................................................s........... 184 6 XSLT dla każdego Tworzenie i używanie zmiennych...................................................s........................186 Użycie zmiennych prostych ...................................................s..........................186 Użycie zmiennych złożonych...................................................s........................189 Tworzenie zmiennych na podstawie wyrażeń ...................................................s.......191 Użycie zmiennych zastępujących wyrażenia ...................................................s... 191 Użycie zmiennych do danych spoza kontekstu...................................................s194 Tworzenie zmiennych za pomocą elementów XSLT ..........................................198 Podsumowanie ...................................................s..................................................199 Pytania i odpowiedzi ...................................................s..........................................199 Zadania...................................................s...................................................s..........200 Quiz...................................................s...................................................s.........200 Ćwiczenie ...................................................s...................................................s200 Rozdział 9. Użycie parametrów ......................................................................... 201 Parametry ...................................................s...................................................s......201 Czym są parametry?...................................................s.....................................202 Jakie zalety ma stosowanie parametrów?...................................................s........203 Użycie parametrów ...................................................s............................................203 Użycie parametrów do zmiany postaci wyniku...................................................s204 Użycie parametrów do tworzenia reguł — funkcji..............................................207 Pobieranie danych spoza arkusza...................................................s...................210 Podsumowanie ...................................................s..................................................216 Pytania i odpowiedzi ...................................................s..........................................216 Zadania...................................................s...................................................s..........217 Quiz...................................................s...................................................s.........217 Ćwiczenie ...................................................s...................................................s217 Rozdział 10. Typy danych ................................................................................... 219 Typy danych — podstawy...................................................s..................................219 Co to jest typ danych? ...................................................s..................................220 Typy danych w XSLT ...................................................s..................................220 Konwersje typów danych ...................................................s...................................227 Jawne konwersje typów danych ...................................................s....................228 Niejawne konwersje typów danych...................................................s................230 Pułapki konwersji...................................................s.........................................230 Porównywanie wartości...................................................s......................................231 Pułapki związane z porównywaniem...................................................s..............231 Podsumowanie ...................................................s..................................................232 Pytania i odpowiedzi ...................................................s..........................................233 Zadania...................................................s...................................................s..........233 Quiz...................................................s...................................................s.........234 Ćwiczenie ...................................................s...................................................s234 Rozdział 11. Użycie łańcuchów ........................................................................... 235 Operacje na łańcuchach...................................................s......................................235 Sklejanie łańcuchów...................................................s.....................................235 Odszukiwanie znaków w łańcuchu ...................................................s................238 Określanie długości łańcucha ...................................................s........................242 Użycie części łańcuchów ...................................................s..............................243 Zastępowanie części łańcucha ...................................................s.......................247 Formatowanie danych ...................................................s........................................248 Formatowanie liczb...................................................s......................................248 Formatowanie dat i czasu...................................................s..............................252 Formatowanie innych danych...................................................s........................254 Spis treści 7 Podsumowanie ...................................................s..................................................254 Pytania i odpowiedzi ...................................................s..........................................254 Zadania...................................................s...................................................s..........255 Quiz...................................................s...................................................s.........255 Ćwiczenia ...................................................s...................................................s255 Rozdział 12. Sortowanie i numerowanie .............................................................. 257 Sortowanie ...................................................s...................................................s.....257 Sortowanie statyczne...................................................s....................................258 Sortowanie dynamiczne ...................................................s................................265 Numerowanie ...................................................s...................................................s.266 Wstawianie numerowania ...................................................s.............................267 Kontrola postaci numerowania ...................................................s......................273 Podsumowanie ...................................................s..................................................275 Pytania i odpowiedzi ...................................................s..........................................276 Zadania...................................................s...................................................s..........276 Quiz...................................................s...................................................s.........277 Ćwiczenia ...................................................s...................................................s277 Rozdział 13. Wieloplikowe arkusze stylów........................................................... 279 Użycie wieloplikowych arkuszy stylów...................................................s................279 Zalety wieloplikowych arkuszy stylów...................................................s...........280 Wady wieloplikowych arkuszy stylów ...................................................s...........280 Włączanie arkuszy stylów...................................................s...................................281 Zduplikowane reguły...................................................s....................................286 Zduplikowane zmienne i parametry ...................................................s...............287 Importowanie arkuszy stylów...................................................s..............................287 Różnice między włączaniem a importowaniem..................................................287 Jak zaimportować arkusz stylów...................................................s....................288 Nadpisywanie reguł...................................................s......................................289 Zasady importu innych składników arkusza...................................................s....292 Podsumowanie ...................................................s..................................................295 Pytania i odpowiedzi ...................................................s..........................................296 Zadania...................................................s...................................................s..........297 Quiz...................................................s...................................................s.........297 Ćwiczenie ...................................................s...................................................s297 Rozdział 14. Użycie wielu źródłowych plików XML .............................................. 299 Korzystanie z innych źródeł XML...................................................s.......................299 Pobieranie danych ze źródła XML...................................................s.................300 Dynamiczne definiowanie dodatkowych dokumentów........................................309 Wskazywanie dokumentów źródłowych...................................................s.........311 Wskazywanie pliku znajdującego się na innym serwerze ....................................312 Dostęp do elementów arkusza stylów ...................................................s..................313 Wiele dokumentów: za i przeciw...................................................s.........................314 Pułapki związane z używaniem wielu dokumentów............................................314 Wskazówki dotyczące używania wielu dokumentów ..........................................315 Podsumowanie ...................................................s..................................................316 Pytania i odpowiedzi ...................................................s..........................................316 Zadania...................................................s...................................................s..........317 Quiz...................................................s...................................................s.........317 Ćwiczenia ...................................................s...................................................s317 8 XSLT dla każdego Część III ...................................................3..................... 319 Rozdział 15. Przestrzenie nazw ........................................................................... 321 Co to są przestrzenie nazw...................................................s..................................321 Wszystko o przestrzeniach nazw ...................................................s...................322 Zalety przestrzeni nazw ...................................................s................................325 Wady przestrzeni nazw...................................................s.................................326 Przestrzenie nazw, DTD i schematy XML...................................................s......327 Przetwarzanie XML zawierającego przestrzenie nazw..............................................328 Pobieranie informacji o przestrzeniach nazw ...................................................s........330 Wstawianie i usuwanie przestrzeni nazw...................................................s..............331 Wstawianie węzłów z przestrzenią nazw ...................................................s........331 Zmiana przestrzeni nazw ...................................................s..............................333 Usuwanie przestrzeni nazw ...................................................s...........................335 Podsumowanie ...................................................s..................................................338 Pytania i odpowiedzi ...................................................s..........................................339 Zadania...................................................s...................................................s..........339 Quiz...................................................s...................................................s.........339 Ćwiczenie ...................................................s...................................................s340 Rozdział 16. Zaawansowane metody wybierania danych ....................................... 341 Jeszcze o wyrażeniach...................................................s........................................341 Dopasowywanie a wybieranie danych...................................................s............342 Porównywanie wartości...................................................s................................343 Pobieranie wartości bez powtórzeń...................................................s................343 Użycie kluczy...................................................s...................................................s.345 Co to jest klucz? ...................................................s..........................................345 Wybieranie danych za pomocą kluczy ...................................................s...........346 Użycie niepowtarzalnych identyfikatorów ID ...................................................s.......352 Wybieranie danych według identyfikatora ID ...................................................s. 354 Wstawianie niepowtarzalnych wartości ID ...................................................s.....354 Użycie kluczy i generowanych identyfikatorów do wybierania niepowtarzających się wartości .................................................357 Podsumowanie ...................................................s..................................................358 Pytania i odpowiedzi ...................................................s..........................................359 Zadania...................................................s...................................................s..........359 Quiz...................................................s...................................................s.........359 Ćwiczenie ...................................................s...................................................s360 Rozdział 17. Rekurencja ..................................................................................... 361 Rekurencja...................................................s...................................................s.....361 Co to jest rekurencja?...................................................s...................................361 Po co i kiedy używa się rekurencji? ...................................................s...............362 Wady rekurencji ...................................................s..........................................364 Tworzenie reguł rekurencyjnych ...................................................s.........................365 Rekurencja z pojedynczymi wartościami ...................................................s........368 Sumowanie za pomocą rekurencji...................................................s..................369 Podsumowanie ...................................................s..................................................372 Pytania i odpowiedzi ...................................................s..........................................373 Zadania...................................................s...................................................s..........373 Quiz...................................................s...................................................s.........373 Ćwiczenia ...................................................s...................................................s374 Spis treści 9 Rozdział 18. Obliczeniowe arkusze stylów ........................................................... 375 Wszystko o obliczeniowych arkuszach stylów ...................................................s......375 Co to jest obliczeniowy arkusz stylów? ...................................................s..........375 Kiedy używa się arkuszy obliczeniowych? ...................................................s.....376 Operatory i funkcje używane w obliczeniach...................................................s........377 Operatory...................................................s...................................................s.377 Funkcje...................................................s...................................................s....379 Aplikacje obliczeniowe ...................................................s......................................383 Ranking drużyn ...................................................s...........................................383 Przetwarzanie łańcuchów...................................................s..............................388 Przeliczanie walut ...................................................s........................................390 Podsumowanie ...................................................s..................................................392 Pytania i odpowiedzi ...................................................s..........................................392 Zadania...................................................s...................................................s..........393 Quiz...................................................s...................................................s.........393 Ćwiczenie ...................................................s...................................................s393 Rozdział 19. Korzystanie z rozszerzeń XSLT ......................................................... 395 Wszystko o rozszerzeniach XSLT ...................................................s.......................395 Czym są rozszerzenia? ...................................................s.................................395 Zalety rozszerzeń...................................................s.........................................396 Wady rozszerzeń ...................................................s.........................................396 Jak działają rozszerzenia XSLT? ...................................................s...................397 Użycie wbudowanych rozszerzeń...................................................s........................398 Użycie elementów rozszerzających...................................................s................398 Użycie funkcji rozszerzających ...................................................s.....................401 Użycie rozszerzeń w innych procesorach ...................................................s.......403 Tworzenie własnych funkcji rozszerzających ...................................................s.......403 Użycie funkcji języka Java jako funkcji rozszerzających ....................................403 Tworzenie skryptowych funkcji rozszerzających ...............................................406 Podsumowanie ...................................................s..................................................409 Pytania i odpowiedzi ...................................................s..........................................410 Zadania...................................................s...................................................s..........410 Quiz...................................................s...................................................s.........410 Ćwiczenia ...................................................s...................................................s411 Rozdział 20. Użycie różnych procesorów ............................................................... 413 Przenośne arkusze XSLT ...................................................s...................................413 Najważniejsze różnice między procesorami ...................................................s....414 Radzenie sobie z różnicami między procesorami................................................417 Radzenie sobie z różnymi wersjami XSLT ...................................................s.....421 Możliwości serwerów baz danych w zakresie XML.................................................423 Pobieranie i przekształcanie danych XML w Oracle...........................................424 Pobieranie danych XML z SQL Servera Microsoftu...........................................427 Podsumowanie ...................................................s..................................................428 Pytania i odpowiedzi ...................................................s..........................................429 Zadania...................................................s...................................................s..........429 Quiz...................................................s...................................................s.........430 Ćwiczenie ...................................................s...................................................s430 Rozdział 21. Projektowanie aplikacji XML i XSLT................................................. 431 Projektowanie XML ...................................................s..........................................431 Uwagi o projektowaniu XML...................................................s........................433 Narzędzia projektowe...................................................s...................................440 10 XSLT dla każdego Projektowanie XSLT ...................................................s.........................................441 Uwagi o projektowaniu XSLT ...................................................s......................441 Zalecenia dla programistów XSLT ...................................................s................445 Podsumowanie ...................................................s..................................................446 Pytania i odpowiedzi ...................................................s..........................................447 Zadania...................................................s...................................................s..........447 Quiz...................................................s...................................................s.........447 Ćwiczenie ...................................................s...................................................s448 Dodatki...................................................3....................... 449 Dodatek A Odpowiedzi do quizu i rozwiązania ćwiczeń...................................... 451 Odpowiedzi do rozdziału 1. ...................................................s................................451 Odpowiedzi do quizu...................................................s....................................451 Rozwiązanie ćwiczenia...................................................s.................................451 Odpowiedzi do rozdziału 2. ...................................................s................................452 Odpowiedzi do quizu...................................................s....................................452 Rozwiązanie ćwiczenia...................................................s.................................452 Odpowiedzi do rozdziału 3. ...................................................s................................452 Odpowiedzi do quizu...................................................s....................................452 Rozwiązanie ćwiczenia...................................................s.................................453 Odpowiedzi do rozdziału 4. ...................................................s................................453 Odpowiedzi do quizu...................................................s....................................453 Rozwiązania ćwiczeń ...................................................s...................................454 Odpowiedzi do rozdziału 5. ...................................................s................................455 Odpowiedzi do quizu...................................................s....................................455 Rozwiązanie ćwiczenia...................................................s.................................456 Odpowiedzi do rozdziału 6. ...................................................s................................456 Odpowiedzi do quizu...................................................s....................................456 Rozwiązania ćwiczeń ...................................................s...................................457 Odpowiedzi do rozdziału 7. ...................................................s................................458 Odpowiedzi do quizu...................................................s....................................458 Rozwiązanie ćwiczenia...................................................s.................................458 Odpowiedzi do rozdziału 8. ...................................................s................................459 Odpowiedzi do quizu...................................................s....................................459 Rozwiązanie ćwiczenia...................................................s.................................459 Odpowiedzi do rozdziału 9. ...................................................s................................460 Odpowiedzi do quizu...................................................s....................................460 Rozwiązanie ćwiczenia...................................................s.................................461 Odpowiedzi do rozdziału 10. ...................................................s..............................462 Odpowiedzi do quizu...................................................s....................................462 Rozwiązanie ćwiczenia...................................................s.................................462 Odpowiedzi do rozdziału 11. ...................................................s..............................463 Odpowiedzi do quizu...................................................s....................................463 Rozwiązania ćwiczeń ...................................................s...................................463 Odpowiedzi do rozdziału 12. ...................................................s..............................465 Odpowiedzi do quizu...................................................s....................................465 Rozwiązania ćwiczeń ...................................................s...................................466 Odpowiedzi do rozdziału 13. ...................................................s..............................467 Odpowiedzi do quizu...................................................s....................................467 Rozwiązanie ćwiczenia...................................................s.................................467 Odpowiedzi do rozdziału 14. ...................................................s..............................468 Odpowiedzi do quizu...................................................s....................................468 Rozwiązania ćwiczeń ...................................................s...................................468 Spis treści 11 Odpowiedzi do rozdziału 15. ...................................................s..............................469 Odpowiedzi do quizu...................................................s....................................469 Rozwiązanie ćwiczenia...................................................s.................................470 Odpowiedzi do rozdziału 16. ...................................................s..............................471 Odpowiedzi do quizu...................................................s....................................471 Rozwiązanie ćwiczenia...................................................s.................................471 Odpowiedzi do rozdziału 17. ...................................................s..............................472 Odpowiedzi do quizu...................................................s....................................472 Rozwiązania ćwiczeń ...................................................s...................................472 Odpowiedzi do rozdziału 18. ...................................................s..............................474 Odpowiedzi do quizu...................................................s....................................474 Rozwiązanie ćwiczenia...................................................s.................................474 Odpowiedzi do rozdziału 19. ...................................................s..............................476 Odpowiedzi do quizu...................................................s....................................476 Rozwiązania ćwiczeń ...................................................s...................................476 Odpowiedzi do rozdziału 20. ...................................................s..............................477 Odpowiedzi do quizu...................................................s....................................477 Rozwiązanie ćwiczenia...................................................s.................................477 Odpowiedzi do rozdziału 21. ...................................................s..............................478 Odpowiedzi do quizu...................................................s....................................478 Rozwiązania ćwiczeń ...................................................s...................................479 Dodatek B Zestawienie elementów i funkcji XSLT............................................. 481 Elementy XSLT ...................................................s................................................482 xsl:apply-imports ...................................................s.........................................482 xsl:apply-templates ...................................................s......................................482 xsl:attribute ...................................................s.................................................483 xsl:attribute-set ...................................................s............................................483 xsl:call-template...................................................s...........................................484 xsl:choose ...................................................s...................................................s484 xsl:comment...................................................s................................................485 xsl:copy ...................................................s...................................................s...485 xsl:copy-of ...................................................s..................................................486 xsl:decimal-format ...................................................s.......................................486 xsl:element...................................................s..................................................488 xsl:fallback...................................................s..................................................488 xsl:for-each ...................................................s.................................................489 xsl:if ...................................................s...................................................s........489 xsl:import...................................................s...................................................s.490 xsl:include...................................................s...................................................s490 xsl:key ...................................................s...................................................s.....491 xsl:message ...................................................s.................................................491 xsl:namespace-alias...................................................s......................................492 xsl:number ...................................................s..................................................493 xsl:otherwise ...................................................s...............................................494 xsl:output ...................................................s...................................................s.494 xsl:param ...................................................s...................................................s.495 xsl:preserve-space ...................................................s........................................496 xsl:processing-instruction ...................................................s.............................496 xsl:sort...................................................s...................................................s.....497 xsl:strip-space...................................................s..............................................498 xsl:stylesheet ...................................................s...............................................498 xsl:template ...................................................s.................................................499 xsl:text...................................................s...................................................s.....500 12 XSLT dla każdego xsl:transform ...................................................s...............................................500 xsl:value-of ...................................................s.................................................500 xsl:variable...................................................s..................................................501 xsl:when...................................................s...................................................s...502 xsl:with-param...................................................s.............................................502 Funkcje XSLT i XPath...................................................s.......................................503 boolean()...................................................s...................................................s..503 ceiling() ...................................................s...................................................s...504 concat()...................................................s...................................................s....504 contains() ...................................................s...................................................s.504 count()...................................................s...................................................s.....505 current()...................................................s...................................................s...505 document()...................................................s..................................................505 element-available()...................................................s.......................................506 false() ...................................................s...................................................s......506 floor() ...................................................s...................................................s......507 format-number() ...................................................s..........................................507 function-available()...................................................s......................................508 generate-id()...................................................s................................................508 id() ...................................................s...................................................s..........509 key()...................................................s...................................................s........509 lang()...................................................s...................................................s.......509 last() ...................................................s...................................................s........510 local-name() ...................................................s................................................510 name() ...................................................s...................................................s.....511 namespace-uri() ...................................................s...........................................511 normalize-space()...................................................s.........................................511 not() ...................................................s...................................................s........512 number()...................................................s...................................................s..512 position()...................................................s...................................................s..513 round()...................................................s...................................................s.....513 starts-with()...................................................s.................................................514 string()...................................................s...................................................s.....514 string-length()...................................................s..............................................515 substring()...................................................s...................................................s515 substring-after() ...................................................s...........................................515 substring-before()...................................................s.........................................516 sum()...................................................s...................................................s.......516 system-property()...................................................s.........................................517 translate()...................................................s...................................................s.517 true() ...................................................s...................................................s.......518 unparsed-entity-uri()...................................................s.....................................518 Dodatek C Wywoływanie wybranych procesorów z wiersza poleceń .................. 519 MSXSL ...................................................s...................................................s.........519 Użycie ...................................................s...................................................s.....520 Opcje...................................................s...................................................s.......520 Saxon ...................................................s...................................................s............520 Użycie ...................................................s...................................................s.....521 Opcje...................................................s...................................................s.......521 Xalan...................................................s...................................................s.............521 Użycie ...................................................s...................................................s.....521 Opcje...................................................s...................................................s.......521 Spis treści 13 Dodatek D XML w Sieci ................................................................................... 525 Dodatek E Przykładowe projekty ...................................................................... 527 Tworzenie artykułu ze spisem treści ...................................................s....................527 Założenia projektowe ...................................................s...................................527 Artykuł oznakowany jako XML...................................................s....................528 Dokument XSLT ...................................................s.........................................530 Tworzenie wieloplikowego arkusza stylów z parametrami........................................537 Początek projektu ...................................................s........................................538 Tworzenie drugiego arkusza stylów ...................................................s...............542 Arkusz stylów do wszystkich danych...................................................s.............544 Koszyk na zakupy w XSLT ...................................................s................................545 Katalog towarów...................................................s..........................................546 Koszyk na zakupy...................................................s........................................547 Wyświetlanie danych ...................................................s...................................548 Aktualizacja koszyka...................................................s....................................552 Wywołanie procesora ...................................................s...................................555 Skorowidz....................................................................................... 563 Rozdział 3. Wybieranie danych W poprzednim rozdziale dowiedzieliśmy się, czym jest arkusz stylów i jak się go używa. Wiemy też nieco o regułach i pobieraniu wartości z dokumentów XML. Używane dotąd wyrażenia doboru reguł i wybierania danych były bardzo proste, więc nasze możliwości były ograniczone. W tym rozdziale skoncentrujemy się na precyzyjniejszym wybieraniu danych. Do- wiemy się:  Jak działają drzewa dokumentów XML.  Czym jest XPath.  Jak wybierać pojedyncze elementy.  Jak wybierać wiele elementów.  Jak wybierać atrybuty. Drzewa dokumentów XML Dokument XML to zbiór elementów posiadających pewną hierarchię. Każdy element w dokumencie może mieć dowolną liczbę „dzieci”, począwszy od zera, te „dzieci” też mogą mieć „dzieci” i tak dalej. Poza tym każdy element może mieć dowolną liczbę atrybutów. Te stwierdzenia nie są zbyt odkrywcze, ale to one określają strukturę do- kumentu XML. Każdy element i każdy atrybut mają jednoznacznie określone miejsce w drzewie dokumentu. Jako że każdy element i każdy atrybut można jednoznacznie zidentyfikować, można wskazać pojedynczy element lub atrybut i pobrać jego wartość. Zobrazowano to wszystko na rysunku 3.1. Każdy element drzewa na rysunku 3.1 zaznaczono kołem. Poszczególne „dzieci” jed- nego elementu można rozróżnić dzięki oznaczającym je literom. Jednak, jak widać, czasem „dzieci” oznaczone są takimi samymi literami, więc nie można powiedzieć „daj element C”, gdyż może chodzić o element C będący „dzieckiem” elementu B lub 72 Rysunek 3.1. Graficzna postać drzewa XSLT dla każdego ♦ Część I elementu F. Nie znaczy to jednak, że w ogóle nie jesteśmy w stanie rozróżnić elemen- tów, po prostu trzeba wyrażać się bardziej precyzyjnie. Aby pobrać pewien element, możemy powiedzieć: „daj element C będący ‘dzieckiem’ elementu B będącego ‘dziec- kiem’ elementu głównego A”. Takie wskazywanie elementów nazywamy adresowa- niem bezwzględnym. Adresowanie takie nazywamy bezwzględnym dlatego, że poda- jemy bezwzględne położenie elementu w drzewie. W przypadku takiego adresowania zawsze jednoznacznie wskazujemy wybrane miejsce. Każdy element drzewa na rysunku 3.1 zaznaczono kołem. Poszczególne „dzieci” jed- nego elementu można rozróżnić dzięki oznaczającym je literom. Jednak, jak widać, czasem „dzieci” oznaczone są takimi samymi literami, więc nie można powiedzieć „daj element C”, gdyż może chodzić o element C będący „dzieckiem” elementu B lub elementu F. Nie znaczy to jednak, że w ogóle nie jesteśmy w stanie rozróżnić elemen- tów, po prostu trzeba wyrażać się bardziej precyzyjnie. Aby pobrać pewien element, możemy powiedzieć: „daj element C będący ‘dzieckiem’ elementu B będącego ‘dziec- kiem’ elementu głównego A”. Takie wskazywanie elementów nazywamy adresowa- niem bezwzględnym. Adresowanie takie nazywamy bezwzględnym dlatego, że poda- jemy bezwzględne położenie elementu w drzewie. W przypadku takiego adresowania zawsze jednoznacznie wskazujemy wybrane miejsce. Innym sposobem adresowania jest adresowanie względem wybranego elementu. Za- łóżmy, że element E z rysunku 3.1 jest punktem startowym. Chcemy wskazać ten sam element co poprzednio, więc mówimy: „daj mi element C, sąsiada mojego ‘rodzica’”. Tego typu adresowanie nazywamy adresowaniem względnym, gdyż położenie elementu w drzewie podajemy względem aktualnej pozycji. W przypadku adresowania względnego nie wskazuje się w drzewie dokumentu nie- powtarzalnej lokalizacji, gdyż to, który element zostanie wybrany, zależy od punktu startowego zapytania. Co to jest węzeł? Mówimy konsekwentnie o elementach i atrybutach, ale różnice między jednymi a drugimi nie są tak duże, jak mogłoby się wydawać. Najważniejszą różnicą jest to, że elementy Rozdział 3. ♦ Wybieranie danych 73 mogą mieć elementy „dzieci”, zaś atrybuty nie. Wobec tego atrybut ma zawsze war- tość prostą (tekstową), podczas gdy element może mieć w wartości także inne ele- menty i atrybuty. Skoro elementy i atrybuty zanadto się nie różnią, można je w drzewie dokumentu za- pisać jako takie same obiekty. Element E z rysunku 3.1 może być na przykład równie dobrze atrybutem, gdyż nie ma żadnych „dzieci”. Niektórzy uważają nawet,
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

XSLT dla każdego
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: