XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e. Kuba Pochrybniak

Podobne dokumenty
Rodzaje przetwarzania XSLT (1)

Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Kurs WWW Język XML, część II

Języki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT

Wprowadzenie do XSLT

XML extensible Markup Language 3

Extensible Markup Language III

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

Słowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0

XML Path Language (XPath)

Prezentacja dokumentów XML

METAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej

XML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO).

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

XML extensible Markup Language. część 8

Prezentacja dokumentów XML

Plan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura

Prezentacja dokumentów XML

Prezentacja i transformacja

Technologie internetowe

Prezentacja dokumentów XML

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths

Rodzaje przetwarzania XSLT (1) XSLT część 2. Inne standardy związane z XML-em. Rodzaje przetwarzania XSLT (2) Zmienne. Zaawansowane możliwości XSLT

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia r.


Języki i Techniki Programowania II. Wykład 13. TRaX, Applety, Java Security

Wprowadzenie do standardu XSL

METAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej

XML & XSLT. Programowanie w Javie 2

XML extensible Markup Language. część 3

Przetwarzanie dokumentów XML za pomocą XSLT ( r.)

Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 04

XSLT. Patryk Czarnik. Instytut Informatyki UW. XML i nowoczesne technologie zarzadzania treścia 2007/08

Aplikacje internetowe laboratorium XML, DTD, XSL

Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:

XPath XML Path Language. XSL Extensible Stylesheet Language. Wyrażenia XPath. XPath data model. Location paths. Osie (axes)

XML extensible Markup Language. część 6

λ parametry. wartość funkcji suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 2 K.M. Ocetkiewicz, 2008 WETI, PG 3

Inżynieria biomedyczna

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2008/09. Instytut Informatyki UW

METODY REPREZENTACJI INFORMACJI

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2007/08

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarządzania treścią 2011/12

UKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML

Informacja podatku łączny styl

Prezentacja dokumentów XML

Dlaczego Python jest lepszy od XSLT?

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2011/12. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2011/12 1 / 54

PRACA MAGISTERSKA. Skoro Wordem klepie się tak dobrze, to po co się starać?

Wprowadzenie do standardu XSL

2002 GUST, Zeszyt XML

Ogólna struktura dokumentu XSL-FO. Model formatowania. Ogólna struktura dokumentu XSL-FO C.d. Przykład Hello World Użycie szablonu strony

XSLT. Patryk Czarnik. XML i nowoczesne technologie zarzadzania treścia 2008/09. Instytut Informatyki UW. Patryk Czarnik 08 XSLT XML 2008/09 1 / 1

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

XML extensible Markup Language. część 4

Literatura. Głównie informacje w sieci:

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Plan prezentacji XSLT. XSLT Ogólna charakterystyka. Drzewo XML. Wstęp. Przedmiot: XML i jego zastosowania. Zagadnienia podstawowe

5.14 JSP - Przykład z obiektami sesji Podsumowanie Słownik Zadanie... 86

<meta:wartosc> </meta:identyfikator> <meta:rodzajrelacji>maczesc</meta:rodzajrelacji>

Egzamin z przedmiotu Projektowanie języków XML imię i nazwisko. Zadanie Suma Punkty Max Punkty

Załącznik nr 2 do uchwały Nr XXII/ 141 /2013 Rady Gminy Bojszowy z dnia r. <?xml version="1.0" encoding="utf-8"?>

PHP: bloki kodu, tablice, obiekty i formularze

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Dzięki arkuszom zewnętrznym uzyskujemy centralne sterowanie wyglądem serwisu. Zewnętrzny arkusz stylów to plik tekstowy z rozszerzeniem css.

XML i jego zastosowania

Laboratorium 6 Tworzenie bloga w Zend Framework

Języki programowania wysokiego poziomu. Ćwiczenia

Szczegółowy opis zamówienia:

XML i nowoczesne technologie zarządzania treścią

Interfejs użytkownika I

zaprasza Państwa na szkolenie MS Excel -poziom średnio zaawansowany zgodne z: Intermediate Microsoft Excel 2016 (zgodne z MS 55166A)

za pomocą: definiujemy:

Programowanie i projektowanie obiektowe

<body> <div style="max-width: 900px; margin: 0 auto;">

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Prezentacja i transformacja

Liczba godzin. N (nauczyciel) studia niestacjonarne

media Blitz wydajne sytemy szablonów

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

Semantyczne Wiki na przykładzie Semantic MediaWiki

2 Podstawy tworzenia stron internetowych

Pierwsza strona internetowa

Semantyczne Wiki! na przykładzie! Semantic MediaWiki!

2.8. Algorytmy, schematy, programy

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Tworzenie dokumentacji

Kompozycja Proceduralna

ANALIZA DANYCH W STATA 8.0 CZĘŚĆ II

DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia. Kuba Pochrybniak

Cocoon środowisko publikacyjne oparte na XML-u

Podstawy JavaScript ćwiczenia

ANALIZA DANYCH W STATA 8.0 CZĘŚĆ II

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Aplikacje internetowe. Interfejs użytkownika

Przykładowy dokument XML

UCHWAŁA NR II/17/2014 RADY GMINY PRZODKOWO. z dnia 30 grudnia 2014 r.

Język (X)HTML. Podstawowe znaczniki i parametry. dr Konrad Dominas / UAM

Wybrane narzędzia wspomagające dokumentowanie programu

Transkrypt:

XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e Kuba Pochrybniak

1. XML PDF

Jak?

Jak? L A TEX

Jak? L A TEX XSL-FO

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php)

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale...

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia czasem irytujący

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX XSL-FO ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia czasem irytujący

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia czasem irytujący XSL-FO prosty (w miarę)

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia czasem irytujący XSL-FO prosty (w miarę) zgodny z XML

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia czasem irytujący XSL-FO prosty (w miarę) zgodny z XML w miarę małe procesory

Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) L A TEX ładny, potężny, ale... kobylasty niekonsekwentny chwilami trudny tabele tragedia czasem irytujący XSL-FO prosty (w miarę) zgodny z XML w miarę małe procesory fajne drobiazgi (np. przelewanie )

Procesory XSL-FO (PDF) FOP XEP

Procesory XSL-FO (PDF) FOP darmowy XEP też, ale niekomercyjnie

Procesory XSL-FO (PDF) FOP darmowy łatwy do ściągnięcia XEP też, ale niekomercyjnie trudny do ściągnięcia

Procesory XSL-FO (PDF) FOP darmowy łatwy do ściągnięcia trudny w instalacji XEP też, ale niekomercyjnie trudny do ściągnięcia łatwy w instalacji

Procesory XSL-FO (PDF) FOP darmowy łatwy do ściągnięcia trudny w instalacji mocno niekompletny XEP też, ale niekomercyjnie trudny do ściągnięcia łatwy w instalacji raczej kompletny

Procesory XSL-FO (PDF) FOP XEP darmowy też, ale niekomercyjnie łatwy do ściągnięcia trudny do ściągnięcia trudny w instalacji łatwy w instalacji mocno niekompletny raczej kompletny wkurzający?

Procesory XSL-FO (PDF) FOP XEP darmowy też, ale niekomercyjnie łatwy do ściągnięcia trudny do ściągnięcia trudny w instalacji łatwy w instalacji mocno niekompletny raczej kompletny wkurzający?

Struktura prostego arkusza?xml version="1.0" encoding="iso-8859-2"? fo:root version="1.0" xmlns:fo="http://www.w3.org/1999/xsl/format"

Struktura prostego arkusza?xml version="1.0" encoding="iso-8859-2"? fo:root version="1.0" xmlns:fo="http://www.w3.org/1999/xsl/format" fo:layout-master-set fo:simple-page-master master-reference="jakies-a4" page-width="21cm" page-height="29.7cm" fo:region-body margin="10mm"/... /fo:simple-page-master /fo:layout-master-set

Struktura prostego arkusza?xml version="1.0" encoding="iso-8859-2"? fo:root version="1.0" xmlns:fo="http://www.w3.org/1999/xsl/format" fo:layout-master-set fo:simple-page-master master-reference="jakies-a4" page-width="21cm" page-height="29.7cm" fo:region-body margin="10mm"/... /fo:simple-page-master /fo:layout-master-set fo:page-sequence master-reference="jakies-a4" fo:flow flow-name="xsl-region-body" fo:block Elo ziom! /fo:block fo:block Elo fo:inline font-style="italic" ziom /fo:inline! /fo:block... /fo:flow /fo:page-sequence... /fo:root

Niektóre elementy

Niektóre elementy page-sequence ciąg stron (ustalony layout)

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający )

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający ) static-content tekst stały (paginy etc.)

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający ) static-content tekst stały (paginy etc.) block blok pionowy (akapit)

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający ) static-content tekst stały (paginy etc.) block blok pionowy (akapit) table-and-caption tabela z podpisem

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający ) static-content tekst stały (paginy etc.) block blok pionowy (akapit) table-and-caption tabela z podpisem list-block lista

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający ) static-content tekst stały (paginy etc.) block blok pionowy (akapit) table-and-caption tabela z podpisem list-block lista inline blok poziomy (fragment tekstu)

Niektóre elementy page-sequence ciąg stron (ustalony layout) flow zwykły tekst ( przepływający ) static-content tekst stały (paginy etc.) block blok pionowy (akapit) table-and-caption tabela z podpisem list-block lista inline blok poziomy (fragment tekstu)...

Przykładowe atrybuty

Przykładowe atrybuty font-family

Przykładowe atrybuty font-family font-size

Przykładowe atrybuty font-family font-size border-right

Przykładowe atrybuty font-family font-size border-right margin-bottom

Przykładowe atrybuty font-family font-size border-right margin-bottom baseline-shift

Przykładowe atrybuty font-family font-size border-right margin-bottom baseline-shift last-line-end-indent

Przykładowe atrybuty font-family font-size border-right margin-bottom baseline-shift last-line-end-indent...

Co jest fajne (w standardzie)

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc.

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc. obracanie tekstu

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc. obracanie tekstu odnośniki (również typu pageref )

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc. obracanie tekstu odnośniki (również typu pageref ) duuuża kontrola nad wielkościami

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc. obracanie tekstu odnośniki (również typu pageref ) duuuża kontrola nad wielkościami metody robienia layoutu (również złożonego)

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc. obracanie tekstu odnośniki (również typu pageref ) duuuża kontrola nad wielkościami metody robienia layoutu (również złożonego) ogólna konsekwencja i przejrzystość (?)

Co jest fajne (w standardzie) sensowna, ładnie zorganizowana struktura tekst wielokolumnowy przelewanie tekstu typowe: wstawianie grafiki etc. obracanie tekstu odnośniki (również typu pageref ) duuuża kontrola nad wielkościami metody robienia layoutu (również złożonego) ogólna konsekwencja i przejrzystość (?) można tym sensownie składać książki

Co jest niefajne

Co jest niefajne rozwlekłość zapisu

Co jest niefajne rozwlekłość zapisu przy wielu regułach trudno o konsekwencję (CSS ma lepiej)

Co jest niefajne rozwlekłość zapisu przy wielu regułach trudno o konsekwencję (CSS ma lepiej) mniejsza niż w L A TEX-u kontrola nad stronami

Co jest niefajne rozwlekłość zapisu przy wielu regułach trudno o konsekwencję (CSS ma lepiej) mniejsza niż w L A TEX-u kontrola nad stronami zgodność procesorów XSL-FO ze standardem

2. XSLT (XML cokolwiek)

Do czego?

Do czego? wizualizacja

Do czego? wizualizacja HTML

Do czego? wizualizacja HTML L A TEX PDF

Do czego? wizualizacja HTML L A TEX PDF XSL-FO...

Do czego? wizualizacja HTML L A TEX PDF XSL-FO... przerabianie

Do czego? wizualizacja HTML L A TEX PDF XSL-FO... przerabianie inserty

Do czego? wizualizacja HTML L A TEX PDF XSL-FO... przerabianie inserty Excel

Do czego? wizualizacja HTML L A TEX PDF XSL-FO... przerabianie inserty Excel inny XML

Do czego? wizualizacja HTML L A TEX PDF XSL-FO... przerabianie inserty Excel inny XML walidacja (XMLSchema wymięka)

Czym? libxslt Saxon

Czym? libxslt jest linia poleceń Saxon jest linia poleceń

Czym? libxslt jest linia poleceń PHP Saxon jest linia poleceń Java

Czym? libxslt jest linia poleceń PHP źle sortuje pl Saxon jest linia poleceń Java dobrze sortuje pl

Czym? libxslt jest linia poleceń PHP źle sortuje pl wymięka przy dużych Saxon jest linia poleceń Java dobrze sortuje pl radzi sobie z dużymi

Czym? libxslt jest linia poleceń PHP źle sortuje pl wymięka przy dużych libexslt Saxon jest linia poleceń Java dobrze sortuje pl radzi sobie z dużymi mało rozszerzeń

Czym? libxslt Saxon jest linia poleceń jest linia poleceń PHP Java źle sortuje pl dobrze sortuje pl wymięka przy dużych radzi sobie z dużymi libexslt mało rozszerzeń XSLT 1.0 XSLT 2.0

Czym? libxslt Saxon jest linia poleceń jest linia poleceń PHP Java źle sortuje pl dobrze sortuje pl wymięka przy dużych radzi sobie z dużymi libexslt mało rozszerzeń XSLT 1.0 XSLT 2.0 na bakier ze standardem trzyma się standardu

Czym? libxslt Saxon jest linia poleceń jest linia poleceń PHP Java źle sortuje pl dobrze sortuje pl wymięka przy dużych radzi sobie z dużymi libexslt mało rozszerzeń XSLT 1.0 XSLT 2.0 na bakier ze standardem trzyma się standardu nieco wkurzający mało wkurzający

Czym? libxslt Saxon jest linia poleceń jest linia poleceń PHP Java źle sortuje pl dobrze sortuje pl wymięka przy dużych radzi sobie z dużymi libexslt mało rozszerzeń XSLT 1.0 XSLT 2.0 na bakier ze standardem trzyma się standardu nieco wkurzający mało wkurzający... i parę innych.

Struktura prostego arkusza?xml version="1.0" encoding="iso-8859-2"? xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xsl:template match="/" Elo ziom! /xsl:template... /xsl:stylesheet

xsl:stylesheet... xsl:template match="osoba" xsl:text /xsl:text xsl:value-of select="imie"/ xsl:text /xsl:text xsl:value-of select="nazwisko"/ /xsl:template /xsl:stylesheet

xsl:stylesheet... xsl:template match="osoba" xsl:text /xsl:text xsl:value-of select="imie"/ xsl:text /xsl:text xsl:value-of select="nazwisko"/ /xsl:template /xsl:stylesheet xsl:stylesheet... xsl:template match="osoba" xsl:text /xsl:text xsl:for-each select="imie" xsl:value-of select="."/ xsl:text /xsl:text /xsl:for-each xsl:value-of select="nazwisko"/ /xsl:template /xsl:stylesheet

Główne elementy

Główne elementy template[@match] samodopasowujące się szablony

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie xsl:call-template name="..."/

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie xsl:call-template name="..."/ A w środku...

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie xsl:call-template name="..."/ A w środku... text albo po prostu goły tekst

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie xsl:call-template name="..."/ A w środku... text albo po prostu goły tekst węzły XML-owe

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie xsl:call-template name="..."/ A w środku... text albo po prostu goły tekst węzły XML-owe value-of jeśli w głąb, lepiej apply-templates

Główne elementy template[@match] samodopasowujące się szablony xsl:apply-templates select="..."/ template[@name] szablony wywoływane ręcznie xsl:call-template name="..."/ A w środku... text albo po prostu goły tekst węzły XML-owe value-of jeśli w głąb, lepiej apply-templates for-each jeśli w głąb, lepiej apply-templates

Głównych elementów c.d.

Głównych elementów c.d. if (bez else!)

Głównych elementów c.d. if (bez else!), choose when otherwise

Głównych elementów c.d. if (bez else!), choose when otherwise variable, param

Głównych elementów c.d. if (bez else!), choose when otherwise variable, param xsl:with-param name="rozmiar-buta" 9 /xsl:with-param wołanie / odbiór xsl:param name="rozmiar-buta"/ xsl:value-of select="$rozmiar-buta - 1"/

Głównych elementów c.d. if (bez else!), choose when otherwise variable, param xsl:with-param name="rozmiar-buta" 9 /xsl:with-param wołanie / odbiór xsl:param name="rozmiar-buta"/ xsl:value-of select="$rozmiar-buta - 1"/ sort w apply-templates/call-template

Głównych elementów c.d. if (bez else!), choose when otherwise variable, param xsl:with-param name="rozmiar-buta" 9 /xsl:with-param wołanie / odbiór xsl:param name="rozmiar-buta"/ xsl:value-of select="$rozmiar-buta - 1"/ sort w apply-templates/call-template xsl:sort order="descending" lang="pl"/

Głównych elementów c.d. if (bez else!), choose when otherwise variable, param xsl:with-param name="rozmiar-buta" 9 /xsl:with-param wołanie / odbiór xsl:param name="rozmiar-buta"/ xsl:value-of select="$rozmiar-buta - 1"/ sort w apply-templates/call-template xsl:sort order="descending" lang="pl"/ output xml, html, text

Głównych elementów c.d. if (bez else!), choose when otherwise variable, param xsl:with-param name="rozmiar-buta" 9 /xsl:with-param wołanie / odbiór xsl:param name="rozmiar-buta"/ xsl:value-of select="$rozmiar-buta - 1"/ sort w apply-templates/call-template xsl:sort order="descending" lang="pl"/ output xml, html, text rozwijanie w atrybutach elementów XSL zazwyczaj tak, w innych ręcznie: osobnik liczba-dzieci="{count(current()/dziecko)}"/

Co wkurza

Co wkurza objętość kodu

Co wkurza objętość kodu eskejpowanie/brak

Co wkurza objętość kodu eskejpowanie/brak prymitywne funkcje na stringach

Co wkurza objętość kodu eskejpowanie/brak prymitywne funkcje na stringach łatwo się spłaszcza, ale pogłębia trudno

Co wkurza objętość kodu eskejpowanie/brak prymitywne funkcje na stringach łatwo się spłaszcza, ale pogłębia trudno trudne (bądź niemożliwe) domknięcie przechodnie

Co wkurza objętość kodu eskejpowanie/brak prymitywne funkcje na stringach łatwo się spłaszcza, ale pogłębia trudno trudne (bądź niemożliwe) domknięcie przechodnie brak pętli po liczbach

Co wkurza objętość kodu eskejpowanie/brak prymitywne funkcje na stringach łatwo się spłaszcza, ale pogłębia trudno trudne (bądź niemożliwe) domknięcie przechodnie brak pętli po liczbach brak prawdziwych zmiennych

Co wkurza objętość kodu eskejpowanie/brak prymitywne funkcje na stringach łatwo się spłaszcza, ale pogłębia trudno trudne (bądź niemożliwe) domknięcie przechodnie brak pętli po liczbach brak prawdziwych zmiennych brak obliczeń zmiennoprzecinkowych

Co jest fajne

Co jest fajne XPath intuicyjność

Co jest fajne XPath intuicyjność trudno coś zepsuć

Co jest fajne XPath intuicyjność trudno coś zepsuć świetne automatyczne priorytety

Co jest fajne XPath intuicyjność trudno coś zepsuć świetne automatyczne priorytety korzystanie z zewnętrznych funkcji (trudne)

Co jest fajne XPath intuicyjność trudno coś zepsuć świetne automatyczne priorytety korzystanie z zewnętrznych funkcji (trudne) zazwyczaj wiadomo, co i jak robić

Arkusz zmieniający wybrany węzeł, resztę pozostawiający bez zmian xsl:stylesheet... xsl:template match="@* node()" xsl:copy xsl:apply-templates select="@* node()"/ /xsl:copy /xsl:template

Arkusz zmieniający wybrany węzeł, resztę pozostawiający bez zmian xsl:stylesheet... xsl:template match="@* node()" xsl:copy xsl:apply-templates select="@* node()"/ /xsl:copy /xsl:template xsl:template match="//rozdzial[5]/akapit[contains(., lub czasopisma )]"/ /xsl:stylesheet

3. Ćwiczenia? Do domu / na zupkę?