XSLT. Receptury. Wydanie II

Autor: Salvatore Mangano

Szczegóły książki w Helionie
Tytuł oryginału: XSLT Cookbook
ISBN: 978-83-246-0461-6
Cena: 87 zł
Zniżka: 10%
Cena ze zniżką: 78.3 zł
Oprawa: miękka
Format: B5
Data wydania: 2007.01.23
Liczba stron: 664
Przykładowy rozdział: ftp://ftp.helion.pl/online/xsltre/xsltre-1.pdf
Kategoria: XML i XSLT

Setki gotowych rozwiązań dla programistów XML i XSLT

Język XSLT to jedna z najważniejszych technologii służących do przekształcania dokumentów XML. Za pomocą tego języka można pobierać dane XML, przekształcać je na strony HTML, a nawet generować na ich podstawie wykresy w formacie SVG. Niniejsza książka to praktyczny przewodnik po tych oraz wielu innych funkcjach języka XSLT, a przedstawiony w niej materiał obejmuje także rozbudowane możliwości najnowszej wersji -- XSLT 2.0.

Książka "XSLT. Receptury. Wydanie II" zawiera setki gotowych rozwiązań problemów stojących przed programistami używającymi XSLT. Znajdziesz tu sposoby wykonania różnych zadań związanych z transformacją danych XML, zarówno tych podstawowych, jak i skomplikowanych. Poznasz rozmaite techniki przetwarzania dokumentów XML bazujące na obu wersjach języka XSLT. Zrozumiesz także praktyczne zagadnienia związane z wydajnością tworzonych rozwiązań i wygodą ich stosowania. W wielu recepturach znajdziesz alternatywne rozwiązania problemów, dzięki czemu będziesz mógł wybrać technikę najbardziej odpowiadającą wykonywanemu przez Ciebie zadaniu.

  • Opis XSLT 2.0
  • Wprowadzenie do języka XPath
  • Wyszukiwanie danych w dokumentach XML
  • Przekształcanie danych XML na różne formaty (zwykły tekst, HTML, SVG, XML)
  • Przetwarzanie łańcuchów znaków i wyrażeń matematycznych
  • Obsługa dat i czasu
  • Obsługa zapytań XML
  • Obsługa XSLT w innych językach
  • Generowanie kodu
  • Zaawansowane zastosowania XSLT
  • Testowanie arkuszy XSLT

Gotowe rozwiązania przedstawione w tej książce pomogą
Ci w szybkim tworzeniu niezawodnych programów.

XSLT. Receptury. Wydanie II -- spis treści

Przedmowa (9)

1. XPath (17)

  • 1.0. Wprowadzenie (17)
  • 1.1. Efektywne używanie osi (18)
  • 1.2. Filtrowanie węzłów (22)
  • 1.3. Praca z sekwencjami (25)
  • 1.4. Skracanie kodu warunków z użyciem wyrażeń "if" (26)
  • 1.5. Eliminowanie rekurencji z wyrażeń "for" (29)
  • 1.6. Radzenie sobie ze skomplikowaną logiką z użyciem kwantyfikatorów (31)
  • 1.7. Używanie operacji na zbiorach (32)
  • 1.8. Używanie porównań węzłów (33)
  • 1.9. Radzenie sobie z rozszerzonym systemem typów XPath 2.0 (34)
  • 1.10. Wykorzystywanie rozszerzonego systemu typów XPath 2.0 (36)

2. Łańcuchy znaków (37)

  • 2.0. Wprowadzenie (37)
  • 2.1. Sprawdzanie, czy dany łańcuch znaków kończy się innym łańcuchem znaków (38)
  • 2.2. Znajdowanie pozycji podłańcucha znaków (39)
  • 2.3. Usuwanie wybranych znaków z łańcucha znaków (39)
  • 2.4. Znajdowanie podłańcuchów na końcu łańcucha znaków (41)
  • 2.5. Powtórzenie łańcucha znaków N razy (46)
  • 2.6. Odwracanie łańcucha znaków (48)
  • 2.7. Zastępowanie tekstu (52)
  • 2.8. Zmiana wielkości liter (56)
  • 2.9. Tokenizacja łańcucha znaków (58)
  • 2.10. Radzenie sobie bez wyrażeń regularnych (60)
  • 2.11. Wykorzystywanie wyrażeń regularnych (62)
  • 2.12. Korzystanie z rozszerzeń dla łańcuchów znaków EXSLT (63)

3. Liczby i matematyka (67)

  • 3.0. Wprowadzenie (67)
  • 3.1. Formatowanie liczb (68)
  • 3.2. Zaokrąglanie liczb z określoną dokładnością (76)
  • 3.3. Konwersja z liczb rzymskich na arabskie (77)
  • 3.4. Konwersja z jednej podstawy na inną (79)
  • 3.5. Implementacja popularnych funkcji matematycznych (82)
  • 3.6. Obliczanie sum i iloczynów (92)
  • 3.7. Znajdowanie minimum i maksimum (97)
  • 3.8. Obliczanie funkcji statystycznych (103)
  • 3.9. Obliczanie funkcji kombinatorycznych (106)
  • 3.10. Testowanie bitów (108)

4. Data i czas (113)

  • 4.0. Wprowadzenie (113)
  • 4.1. Obliczanie dnia tygodnia (115)
  • 4.2. Obliczanie ostatniego dnia miesiąca (116)
  • 4.3. Otrzymanie nazw dni i miesięcy (117)
  • 4.4. Obliczanie numeru dnia juliańskiego i bezwzględnego dla podanej daty (121)
  • 4.5. Obliczanie numeru tygodnia dla podanej daty (125)
  • 4.6. Praca z kalendarzem juliańskim (126)
  • 4.7. Praca z kalendarzem ISO (127)
  • 4.8. Praca z kalendarzem muzułmańskim (129)
  • 4.9. Praca z kalendarzem żydowskim (131)
  • 4.10. Formatowanie daty i czasu (138)
  • 4.11. Ustalenie świąt świeckich i religijnych (149)

5. Wybieranie węzłów i przechodzenie drzew (153)

  • 5.0. Wprowadzenie (153)
  • 5.1. Ignorowanie zduplikowanych elementów (155)
  • 5.2. Wybór wszystkich elementów z wyjątkiem jakiegoś określonego (160)
  • 5.3. Wybieranie węzłów poprzez kontekst (161)
  • 5.4. Przechodzenie drzewa w porządku "preorder" (162)
  • 5.5. Przechodzenie drzewa w porządku "postorder" (166)
  • 5.6. Przechodzenie drzewa w porządku "in-order" (168)
  • 5.7. Przechodzenie drzewa w porządku "level-order" (171)
  • 5.8. Przetwarzanie węzłów według pozycji (175)

6. Wykorzystywanie XSLT 2.0 (181)

  • 6.0. Wprowadzenie (181)
  • 6.1. Konwersja prostych nazwanych szablonów na funkcje XSLT (182)
  • 6.2. Przewaga "for-each-group" nad metodą grupowania Muencha (183)
  • 6.3. Modularyzacja i tryby (186)
  • 6.4. Używanie typów dla bezpieczeństwa i dokładności (187)
  • 6.5. Unikanie pułapek przy przenoszeniu aplikacji z XSLT 1.0 na 2.0 (188)
  • 6.6. Emulowanie wzorców projektowych i metod ponownego użycia znanych z programowania zorientowanego obiektowo (190)
  • 6.7. Przetwarzanie nieustrukturyzowanego tekstu za pomocą wyrażeń regularnych (194)
  • 6.8. Rozwiązywanie trudnych problemów serializacyjnych z tablicami znaków (197)
  • 6.9. Zwracanie wielu dokumentów (198)
  • 6.10. Radzenie sobie z literałami łańcuchowymi zawierającymi cudzysłowy (200)
  • 6.11. Rozumienie nowych możliwości starych cech XSLT 1.0 (201)

7. Konwersja XML na tekst (207)

  • 7.0. Wprowadzenie (207)
  • 7.1. Radzenie sobie z białymi znakami (208)
  • 7.2. Eksportowanie XML do danych rozdzielonych ogranicznikami (212)
  • 7.3. Utworzenie raportu z kolumnami (227)
  • 7.4. Wyświetlanie hierarchii (236)
  • 7.5. Numerowanie tekstowych danych wyjściowych (243)
  • 7.6. Zawijanie tekstu do określonej szerokości i wyrównania (250)

8. Z XML na XML (255)

  • 8.0. Wprowadzenie (255)
  • 8.1. Konwersja atrybutów na elementy (256)
  • 8.2. Konwersja elementów na atrybuty (258)
  • 8.3. Zmiana nazwy elementów lub atrybutów (261)
  • 8.4. Łączenie dokumentów o identycznym schemacie (266)
  • 8.5. Łączenie dokumentów o różnych schematach (270)
  • 8.6. Dzielenie dokumentów (275)
  • 8.7. Spłaszczanie hierarchii XML (276)
  • 8.8. Pogłębianie hierarchii XML (279)
  • 8.9. Reorganizacja hierarchii XML (284)

9. Zapytania XML (289)

  • 9.0. Wprowadzenie (289)
  • 9.1. Wykonywanie operacji na zbiorach węzłów (290)
  • 9.2. Wykonywanie operacji na zbiorach węzłów z użyciem semantyki wartości (293)
  • 9.3. Ustalanie równości zbiorów według wartości (301)
  • 9.4. Wykonywanie zapytań zachowujących strukturę (305)
  • 9.5. Złączenia (306)
  • 9.6. Implementowanie przypadków użycia zapytań XML z W3C w XSLT (311)

10. Z XML na HTML (335)

  • 10.0. Wprowadzenie (335)
  • 10.1. Używanie XSLT jako języka stylizacji (336)
  • 10.2. Tworzenie dokumentów z hiperłączami (342)
  • 10.3. Tworzenie tabel HTML (345)
  • 10.4. Tworzenie ramek (351)
  • 10.5. Tworzenie arkuszy stylów sterowanych przez dane (356)
  • 10.6. Tworzenie samodzielnej transformacji HTML (362)
  • 10.7. Wypełnianie formularza (365)

11. Z XML do SVG (371)

  • 11.0. Wprowadzenie (371)
  • 11.1. Transformacja istniejącego SVG (372)
  • 11.2. Tworzenie nadających się do ponownego użycia narzędzi generujących SVG dla wykresów (378)
  • 11.3. Tworzenie diagramu drzewa (408)
  • 11.4. Tworzenie interaktywnych stron internetowych z SVG (416)

12. Generowanie kodu (425)

  • 12.0. Wprowadzenie (425)
  • 12.1. Generowanie definicji stałych (433)
  • 12.2. Generowanie kodu przełączającego (436)
  • 12.3. Generowanie zaślepek dla kodu obsługi komunikatów (440)
  • 12.4. Generowanie opakowań dla danych (443)
  • 12.5. Generowanie pretty-printer (447)
  • 12.6. Generowanie klienta webowego do wprowadzania danych testowych (453)
  • 12.7. Generowanie CGI do wprowadzania danych testowych (454)
  • 12.8. Generowanie kodu z modeli UML za pomocą XMI (458)
  • 12.9. Generowanie XSLT z XSLT (472)

13. Receptury na specjalistyczne aplikacje w XSLT (477)

  • 13.0. Wprowadzenie (477)
  • 13.1. Konwersja dokumentów Visio VDX na SVG (478)
  • 13.2. Praca z arkuszami kalkulacyjnymi Excel XML (489)
  • 13.3. Generowanie map pojęć XTM z modeli UML za pomocą XMI (496)
  • 13.4. Generowanie stron internetowych z map pojęć XTM (511)
  • 13.5. Dostarczanie dokumentacji SOAP za pomocą WSDL (524)

14. Rozszerzanie i osadzanie XSLT (537)

  • 14.0. Wprowadzenie (537)
  • 14.1. Funkcje rozszerzeń w Saxonie (538)
  • 14.2. Elementy rozszerzeń Saxona (539)
  • 14.3. Funkcje rozszerzeń Xalan-Java 2 (539)
  • 14.4. Funkcje rozszerzeń Javy z użyciem przestrzeni nazw formatu klasy (540)
  • 14.5. Funkcje rozszerzeń Javy z użyciem przestrzeni nazw formatu pakietu (540)
  • 14.6. Funkcje rozszerzeń Javy z użyciem przestrzeni nazw formatu Javy (540)
  • 14.7. Tworzenie skryptów funkcji rozszerzeń za pomocą kodu skryptu wewnątrz programu (541)
  • 14.8. Elementy rozszerzeń Xalan-Java 2 (541)
  • 14.9. Elementy rozszerzeń Javy (541)
  • 14.10. Tworzenie skryptów elementów rozszerzeń (542)
  • 14.11. Funkcje rozszerzeń MSXML (543)
  • 14.12. Używanie wbudowanych rozszerzeń Saxona i Xalana (543)
  • 14.13. Rozszerzanie XSLT za pomocą JavaScriptu (555)
  • 14.14. Dodawanie funkcji rozszerzeń z użyciem Javy (560)
  • 14.15. Dodawanie elementów rozszerzeń za pomocą Javy (566)
  • 14.16. Używanie XSLT w Perlu (578)
  • 14.17. Używanie XSLT w Javie (580)

15. Testowanie i usuwanie błędów (583)

  • 15.0. Wprowadzenie (583)
  • 15.1. Efektywne używanie xsl:message (584)
  • 15.2. Śledzenie przetwarzania arkusza stylów za pomocą jego dokumentu wejściowego (587)
  • 15.3. Automatyzacja wstawiania danych wyjściowych debugera (592)
  • 15.4. Umieszczanie osadzonych danych testów jednostkowych w arkuszach stylów narzędzi (597)
  • 15.5. Tworzenie testów jednostkowych (601)
  • 15.6. Testowanie warunków brzegowych i błędów (603)

16. Programowanie ogólne i funkcyjne (607)

  • 16.0. Wprowadzenie (607)
  • 16.1. Tworzenie polimorficznego XSLT (613)
  • 16.2. Tworzenie ogólnych funkcji agregujących elementy (619)
  • 16.3. Tworzenie ogólnych funkcji ograniczonej agregacji (629)
  • 16.4. Tworzenie ogólnych funkcji odwzorowania (635)
  • 16.5. Tworzenie ogólnych generatorów zbiorów węzłów (642)

Skorowidz (647)

©2007 Włodzimierz Gajda | prace magisterskie | Dubai | Korekta prac magisterskich , Ebooki programowanie androida, Pozycjonowanie stron Poznań