XSLT dla każdego - Helion
Tytuł oryginału: TY XSLT in 21 Days
Tłumaczenie: Tomasz Żmijewski
ISBN: 83-7197-785-9
stron: 576, Format: B5, okładka: miękka
Data wydania: 2003-05-19
Księgarnia: Helion
Cena książki: 65,00 zł
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
Osoby które kupowały "XSLT dla każdego", wybierały także:
- Język XML. Kurs video. Poziom pierwszy. Tworzenie struktury dokumentów XML 69,00 zł, (20,70 zł -70%)
- Flash i Wallaby. Projektowanie animacji zgodnych z HTML5 24,69 zł, (7,90 zł -68%)
- API nowoczesnej strony WWW. Usługi sieciowe w PHP 32,90 zł, (16,45 zł -50%)
- XML. Szybki start. Wydanie II 49,00 zł, (24,50 zł -50%)
- XML. Tworzenie stron WWW z wykorzystaniem XML, CSS, XHTML oraz XSLT. Niebieski podręcznik 49,00 zł, (24,50 zł -50%)
Spis treści
XSLT dla każdego -- spis treści
O Autorze (17)
Wstęp (19)
- Dla kogo jest ta książka? (19)
- Co trzeba wiedzieć przed rozpoczęciem lektury? (20)
- Czego można się z tej książki nauczyć? (20)
- Jakie oprogramowanie jest potrzebne do zrealizowania przykładów z tej książki? (20)
- Jak zorganizowana jest ta książka? (20)
- Konwencje przyjęte w książce (21)
Część I (23)
Rozdział 1. Rozpoczynamy naukę XSLT (25)
- XSLT w skrócie (25)
- Wprowadzenie do XML i XSLT (26)
- XSLT i rodzina XML (29)
- Zalety XSLT (33)
- Kiedy nie należy używać XSLT (37)
- Jak działa XSLT? (38)
- Przekształcanie XSLT (38)
- Programowanie deklaratywne (41)
- Tworzenie plików XSLT (42)
- Użycie edytora tekstowego (42)
- Użycie edytora XML (42)
- Edytory i debuggery XSLT (43)
- Narzędzia projektowe XSLT (44)
- Procesory przekształcające XML za pomocą XSLT (44)
- MSXML (44)
- Saxon (45)
- Xalan (46)
- Podsumowanie (47)
- Pytania i odpowiedzi (47)
- Zadania (48)
- Quiz (48)
- Ćwiczenie (48)
Rozdział 2. Pierwsze przekształcenia XML (51)
- Anatomia arkusza stylów (51)
- Czym jest arkusz stylów? (51)
- Podstawowe składniki arkusza stylów (52)
- Uproszczona składnia arkuszy stylów (61)
- Wykonywanie arkusza stylów na dokumencie XML (62)
- Łączenie arkusza stylów z dokumentem XML (63)
- Zanurzanie arkuszy stylów w dokumentach XML (65)
- Programowe wykonywanie arkusza stylu (66)
- Podsumowanie (68)
- Pytania i odpowiedzi (68)
- Zadania (68)
- Quiz (69)
- Ćwiczenie (69)
Rozdział 3. Wybieranie danych (71)
- Drzewa dokumentów XML (71)
- Co to jest węzeł? (72)
- Czym jest zbiór węzłów? (74)
- XPath (75)
- Wybieranie elementów (75)
- Wybieranie atrybutów (81)
- Techniki bardziej zaawansowane (82)
- Podsumowanie (88)
- Pytania i odpowiedzi (89)
- Zadania (89)
- Quiz (90)
- Ćwiczenie (90)
Rozdział 4. Użycie reguł (91)
- Reguły (91)
- Reguły z bliska (91)
- Korzyści wynikające ze stosowania reguł (93)
- Tworzenie i użycie reguł (98)
- Więcej o dopasowywaniu reguł (98)
- Użycie nazwanych reguł (102)
- Sprawdzanie, której reguły użyto (103)
- Różne reguły na różne przypadki (103)
- Priorytety reguł (105)
- Definiowanie własnych priorytetów (108)
- Podsumowanie (109)
- Pytania i odpowiedzi (109)
- Zadania (110)
- Quiz (110)
- Ćwiczenia (110)
Rozdział 5. Wstawianie tekstu i elementów (111)
- Wstawianie tekstu (111)
- Tekst ze znakami specjalnymi (112)
- Znaki specjalne XSLT (114)
- Wstawianie elementów i atrybutów (116)
- Wstawianie elementów (116)
- Wstawianie atrybutów (124)
- Kopiowanie elementów z dokumentu źródłowego (129)
- Kopiowanie jedynie węzła kontekstu (129)
- Kopiowanie zbiorów węzłów i fragmentów drzewa (131)
- Wstawianie komentarzy i instrukcji przetwarzania (132)
- Wstawianie komentarzy (133)
- Wstawianie instrukcji przetwarzania (134)
- Podsumowanie (135)
- Pytania i odpowiedzi (136)
- Zadania (136)
- Quiz (136)
- Ćwiczenie (136)
Rozdział 6. Przetwarzanie warunkowe i iteracyjne (137)
- Iteracja po zbiorze węzłów (137)
- Przetwarzanie kolejnych węzłów ze zbioru (138)
- Filtrowanie zbiorów węzłów (141)
- Użycie funkcji operujących na zbiorach węzłów (143)
- Przetwarzanie warunkowe (144)
- Proste przetwarzanie warunkowe (144)
- Przetwarzanie warunkowe - wiele możliwości (147)
- Jeszcze o wyrażeniach (149)
- Formalizm wyrażeń (149)
- Użycie wielu predykatów (150)
- Łączenie wyrażeń (151)
- Użycie funkcji logicznych (152)
- Negacja wyniku wyrażenia (153)
- Konwersja na wartości logiczne (153)
- Podsumowanie (154)
- Pytania i odpowiedzi (154)
- Zadania (155)
- Quiz (155)
- Ćwiczenia (155)
Rozdział 7. Kontrola postaci danych wynikowych (157)
- Różne formaty wynikowe (157)
- Dane wynikowe XML (158)
- Format wynikowy HTML (160)
- Dane wynikowe w innych formatach (163)
- Określanie typu nośnika (166)
- Kodowanie wynikowe i cytowanie (166)
- Określanie kodowania wynikowego (167)
- Kodowanie nieobsługiwanych znaków (167)
- Wyłączanie cytowania (168)
- Obsługa białych znaków (170)
- Jak są obsługiwane białe znaki (170)
- Odrzucanie białych znaków z dokumentu źródłowego (171)
- Obsługa białych znaków w arkuszu (175)
- Wcięcia (177)
- Podsumowanie (178)
- Pytania i odpowiedzi (179)
- Zadania (179)
- Quiz (179)
- Ćwiczenie (180)
Część II (181)
Rozdział 8. Użycie zmiennych (183)
- O zmiennych (183)
- Czym są zmienne? (183)
- Jakie są zalety stosowania zmiennych? (184)
- Tworzenie i używanie zmiennych (186)
- Użycie zmiennych prostych (186)
- Użycie zmiennych złożonych (189)
- Tworzenie zmiennych na podstawie wyrażeń (191)
- Użycie zmiennych zastępujących wyrażenia (191)
- Użycie zmiennych do danych spoza kontekstu (194)
- Tworzenie zmiennych za pomocą elementów XSLT (198)
- Podsumowanie (199)
- Pytania i odpowiedzi (199)
- Zadania (200)
- Quiz (200)
- Ćwiczenie (200)
Rozdział 9. Użycie parametrów (201)
- Parametry (201)
- Czym są parametry? (202)
- Jakie zalety ma stosowanie parametrów? (203)
- Użycie parametrów (203)
- Użycie parametrów do zmiany postaci wyniku (204)
- Użycie parametrów do tworzenia reguł - funkcji (207)
- Pobieranie danych spoza arkusza (210)
- Podsumowanie (216)
- Pytania i odpowiedzi (216)
- Zadania (217)
- Quiz (217)
- Ćwiczenie (217)
Rozdział 10. Typy danych (219)
- Typy danych - podstawy (219)
- Co to jest typ danych? (220)
- Typy danych w XSLT (220)
- Konwersje typów danych (227)
- Jawne konwersje typów danych (228)
- Niejawne konwersje typów danych (230)
- Pułapki konwersji (230)
- Porównywanie wartości (231)
- Pułapki związane z porównywaniem (231)
- Podsumowanie (232)
- Pytania i odpowiedzi (233)
- Zadania (233)
- Quiz (234)
- Ćwiczenie (234)
Rozdział 11. Użycie łańcuchów (235)
- Operacje na łańcuchach (235)
- Sklejanie łańcuchów (235)
- Odszukiwanie znaków w łańcuchu (238)
- Określanie długości łańcucha (242)
- Użycie części łańcuchów (243)
- Zastępowanie części łańcucha (247)
- Formatowanie danych (248)
- Formatowanie liczb (248)
- Formatowanie dat i czasu (252)
- Formatowanie innych danych (254)
- Podsumowanie (254)
- Pytania i odpowiedzi (254)
- Zadania (255)
- Quiz (255)
- Ćwiczenia (255)
Rozdział 12. Sortowanie i numerowanie (257)
- Sortowanie (257)
- Sortowanie statyczne (258)
- Sortowanie dynamiczne (265)
- Numerowanie (266)
- Wstawianie numerowania (267)
- Kontrola postaci numerowania (273)
- Podsumowanie (275)
- Pytania i odpowiedzi (276)
- Zadania (276)
- Quiz (277)
- Ćwiczenia (277)
Rozdział 13. Wieloplikowe arkusze stylów (279)
- Użycie wieloplikowych arkuszy stylów (279)
- Zalety wieloplikowych arkuszy stylów (280)
- Wady wieloplikowych arkuszy stylów (280)
- Włączanie arkuszy stylów (281)
- Zduplikowane reguły (286)
- Zduplikowane zmienne i parametry (287)
- Importowanie arkuszy stylów (287)
- Różnice między włączaniem a importowaniem (287)
- Jak zaimportować arkusz stylów (288)
- Nadpisywanie reguł (289)
- Zasady importu innych składników arkusza (292)
- Podsumowanie (295)
- Pytania i odpowiedzi (296)
- Zadania (297)
- Quiz (297)
- Ćwiczenie (297)
Rozdział 14. Użycie wielu źródłowych plików XML (299)
- Korzystanie z innych źródeł XML (299)
- Pobieranie danych ze źródła XML (300)
- Dynamiczne definiowanie dodatkowych dokumentów (309)
- Wskazywanie dokumentów źródłowych (311)
- Wskazywanie pliku znajdującego się na innym serwerze (312)
- Dostęp do elementów arkusza stylów (313)
- Wiele dokumentów: za i przeciw (314)
- Pułapki związane z używaniem wielu dokumentów (314)
- Wskazówki dotyczące używania wielu dokumentów (315)
- Podsumowanie (316)
- Pytania i odpowiedzi (316)
- Zadania (317)
- Quiz (317)
- Ćwiczenia (317)
Część III (319)
Rozdział 15. Przestrzenie nazw (321)
- Co to są przestrzenie nazw (321)
- Wszystko o przestrzeniach nazw (322)
- Zalety przestrzeni nazw (325)
- Wady przestrzeni nazw (326)
- Przestrzenie nazw, DTD i schematy XML (327)
- Przetwarzanie XML zawierającego przestrzenie nazw (328)
- Pobieranie informacji o przestrzeniach nazw (330)
- Wstawianie i usuwanie przestrzeni nazw (331)
- Wstawianie węzłów z przestrzenią nazw (331)
- Zmiana przestrzeni nazw (333)
- Usuwanie przestrzeni nazw (335)
- Podsumowanie (338)
- Pytania i odpowiedzi (339)
- Zadania (339)
- Quiz (339)
- Ćwiczenie (340)
Rozdział 16. Zaawansowane metody wybierania danych (341)
- Jeszcze o wyrażeniach (341)
- Dopasowywanie a wybieranie danych (342)
- Porównywanie wartości (343)
- Pobieranie wartości bez powtórzeń (343)
- Użycie kluczy (345)
- Co to jest klucz? (345)
- Wybieranie danych za pomocą kluczy (346)
- Użycie niepowtarzalnych identyfikatorów ID (352)
- Wybieranie danych według identyfikatora ID (354)
- Wstawianie niepowtarzalnych wartości ID (354)
- Użycie kluczy i generowanych identyfikatorów do wybierania niepowtarzających się wartości (357)
- Podsumowanie (358)
- Pytania i odpowiedzi (359)
- Zadania (359)
- Quiz (359)
- Ćwiczenie (360)
Rozdział 17. Rekurencja (361)
- Rekurencja (361)
- Co to jest rekurencja? (361)
- Po co i kiedy używa się rekurencji? (362)
- Wady rekurencji (364)
- Tworzenie reguł rekurencyjnych (365)
- Rekurencja z pojedynczymi wartościami (368)
- Sumowanie za pomocą rekurencji (369)
- Podsumowanie (372)
- Pytania i odpowiedzi (373)
- Zadania (373)
- Quiz (373)
- Ćwiczenia (374)
Rozdział 18. Obliczeniowe arkusze stylów (375)
- Wszystko o obliczeniowych arkuszach stylów (375)
- Co to jest obliczeniowy arkusz stylów? (375)
- Kiedy używa się arkuszy obliczeniowych? (376)
- Operatory i funkcje używane w obliczeniach (377)
- Operatory (377)
- Funkcje (379)
- Aplikacje obliczeniowe (383)
- Ranking drużyn (383)
- Przetwarzanie łańcuchów (388)
- Przeliczanie walut (390)
- Podsumowanie (392)
- Pytania i odpowiedzi (392)
- Zadania (393)
- Quiz (393)
- Ćwiczenie (393)
Rozdział 19. Korzystanie z rozszerzeń XSLT (395)
- Wszystko o rozszerzeniach XSLT (395)
- Czym są rozszerzenia? (395)
- Zalety rozszerzeń (396)
- Wady rozszerzeń (396)
- Jak działają rozszerzenia XSLT? (397)
- Użycie wbudowanych rozszerzeń (398)
- Użycie elementów rozszerzających (398)
- Użycie funkcji rozszerzających (401)
- Użycie rozszerzeń w innych procesorach (403)
- Tworzenie własnych funkcji rozszerzających (403)
- Użycie funkcji języka Java jako funkcji rozszerzających (403)
- Tworzenie skryptowych funkcji rozszerzających (406)
- Podsumowanie (409)
- Pytania i odpowiedzi (410)
- Zadania (410)
- Quiz (410)
- Ćwiczenia (411)
Rozdział 20. Użycie różnych procesorów (413)
- Przenośne arkusze XSLT (413)
- Najważniejsze różnice między procesorami (414)
- Radzenie sobie z różnicami między procesorami (417)
- Radzenie sobie z różnymi wersjami XSLT (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 (428)
- Pytania i odpowiedzi (429)
- Zadania (429)
- Quiz (430)
- Ćwiczenie (430)
Rozdział 21. Projektowanie aplikacji XML i XSLT (431)
- Projektowanie XML (431)
- Uwagi o projektowaniu XML (433)
- Narzędzia projektowe (440)
- Projektowanie XSLT (441)
- Uwagi o projektowaniu XSLT (441)
- Zalecenia dla programistów XSLT (445)
- Podsumowanie (446)
- Pytania i odpowiedzi (447)
- Zadania (447)
- Quiz (447)
- Ćwiczenie (448)
Dodatki (449)
Dodatek A Odpowiedzi do quizu i rozwiązania ćwiczeń (451)
- Odpowiedzi do rozdziału 1. (451)
- Odpowiedzi do quizu (451)
- Rozwiązanie ćwiczenia (451)
- Odpowiedzi do rozdziału 2. (452)
- Odpowiedzi do quizu (452)
- Rozwiązanie ćwiczenia (452)
- Odpowiedzi do rozdziału 3. (452)
- Odpowiedzi do quizu (452)
- Rozwiązanie ćwiczenia (453)
- Odpowiedzi do rozdziału 4. (453)
- Odpowiedzi do quizu (453)
- Rozwiązania ćwiczeń (454)
- Odpowiedzi do rozdziału 5. (455)
- Odpowiedzi do quizu (455)
- Rozwiązanie ćwiczenia (456)
- Odpowiedzi do rozdziału 6. (456)
- Odpowiedzi do quizu (456)
- Rozwiązania ćwiczeń (457)
- Odpowiedzi do rozdziału 7. (458)
- Odpowiedzi do quizu (458)
- Rozwiązanie ćwiczenia (458)
- Odpowiedzi do rozdziału 8. (459)
- Odpowiedzi do quizu (459)
- Rozwiązanie ćwiczenia (459)
- Odpowiedzi do rozdziału 9. (460)
- Odpowiedzi do quizu (460)
- Rozwiązanie ćwiczenia (461)
- Odpowiedzi do rozdziału 10. (462)
- Odpowiedzi do quizu (462)
- Rozwiązanie ćwiczenia (462)
- Odpowiedzi do rozdziału 11. (463)
- Odpowiedzi do quizu (463)
- Rozwiązania ćwiczeń (463)
- Odpowiedzi do rozdziału 12. (465)
- Odpowiedzi do quizu (465)
- Rozwiązania ćwiczeń (466)
- Odpowiedzi do rozdziału 13. (467)
- Odpowiedzi do quizu (467)
- Rozwiązanie ćwiczenia (467)
- Odpowiedzi do rozdziału 14. (468)
- Odpowiedzi do quizu (468)
- Rozwiązania ćwiczeń (468)
- Odpowiedzi do rozdziału 15. (469)
- Odpowiedzi do quizu (469)
- Rozwiązanie ćwiczenia (470)
- Odpowiedzi do rozdziału 16. (471)
- Odpowiedzi do quizu (471)
- Rozwiązanie ćwiczenia (471)
- Odpowiedzi do rozdziału 17. (472)
- Odpowiedzi do quizu (472)
- Rozwiązania ćwiczeń (472)
- Odpowiedzi do rozdziału 18. (474)
- Odpowiedzi do quizu (474)
- Rozwiązanie ćwiczenia (474)
- Odpowiedzi do rozdziału 19. (476)
- Odpowiedzi do quizu (476)
- Rozwiązania ćwiczeń (476)
- Odpowiedzi do rozdziału 20. (477)
- Odpowiedzi do quizu (477)
- Rozwiązanie ćwiczenia (477)
- Odpowiedzi do rozdziału 21. (478)
- Odpowiedzi do quizu (478)
- Rozwiązania ćwiczeń (479)
Dodatek B Zestawienie elementów i funkcji XSLT (481)
- Elementy XSLT (482)
- xsl:apply-imports (482)
- xsl:apply-templates (482)
- xsl:attribute (483)
- xsl:attribute-set (483)
- xsl:call-template (484)
- xsl:choose (484)
- xsl:comment (485)
- xsl:copy (485)
- xsl:copy-of (486)
- xsl:decimal-format (486)
- xsl:element (488)
- xsl:fallback (488)
- xsl:for-each (489)
- xsl:if (489)
- xsl:import (490)
- xsl:include (490)
- xsl:key (491)
- xsl:message (491)
- xsl:namespace-alias (492)
- xsl:number (493)
- xsl:otherwise (494)
- xsl:output (494)
- xsl:param (495)
- xsl:preserve-space (496)
- xsl:processing-instruction (496)
- xsl:sort (497)
- xsl:strip-space (498)
- xsl:stylesheet (498)
- xsl:template (499)
- xsl:text (500)
- xsl:transform (500)
- xsl:value-of (500)
- xsl:variable (501)
- xsl:when (502)
- xsl:with-param (502)
- Funkcje XSLT i XPath (503)
- boolean() (503)
- ceiling() (504)
- concat() (504)
- contains() (504)
- count() (505)
- current() (505)
- document() (505)
- element-available() (506)
- false() (506)
- floor() (507)
- format-number() (507)
- function-available() (508)
- generate-id() (508)
- id() (509)
- key() (509)
- lang() (509)
- last() (510)
- local-name() (510)
- name() (511)
- namespace-uri() (511)
- normalize-space() (511)
- not() (512)
- number() (512)
- position() (513)
- round() (513)
- starts-with() (514)
- string() (514)
- string-length() (515)
- substring() (515)
- substring-after() (515)
- substring-before() (516)
- sum() (516)
- system-property() (517)
- translate() (517)
- true() (518)
- unparsed-entity-uri() (518)
Dodatek C Wywoływanie wybranych procesorów z wiersza poleceń (519)
- MSXSL (519)
- Użycie (520)
- Opcje (520)
- Saxon (520)
- Użycie (521)
- Opcje (521)
- Xalan (521)
- Użycie (521)
- Opcje (521)
Dodatek D XML w Sieci (525)
Dodatek E Przykładowe projekty (527)
- Tworzenie artykułu ze spisem treści (527)
- Założenia projektowe (527)
- Artykuł oznakowany jako XML (528)
- Dokument XSLT (530)
- Tworzenie wieloplikowego arkusza stylów z parametrami (537)
- Początek projektu (538)
- Tworzenie drugiego arkusza stylów (542)
- Arkusz stylów do wszystkich danych (544)
- Koszyk na zakupy w XSLT (545)
- Katalog towarów (546)
- Koszyk na zakupy (547)
- Wyświetlanie danych (548)
- Aktualizacja koszyka (552)
- Wywołanie procesora (555)
Skorowidz (563)