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

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

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

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

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

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

XML extensible Markup Language. część 6

XML Path Language (XPath)

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

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

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

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

XML extensible Markup Language. część 4

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

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

XML extensible Markup Language. część 3

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

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

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

XML extensible Markup Language. część 8

XML extensible Markup Language 3

Extensible Markup Language III

Wprowadzenie do XSLT

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

Prezentacja i transformacja

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

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

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

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

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

Rodzaje przetwarzania XSLT (1)

Aplikacje internetowe laboratorium XML, DTD, XSL

Prezentacja i transformacja

XML i nowoczesne metody zarządzania treścią

Prezentacja dokumentów XML

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

XML i nowoczesne technologie zarządzania treścią

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

Aplikacje internetowe. Interfejs użytkownika

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

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

Układ informacji i powiązań między danymi w deklaracji w formacie XML

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

Przykładowy dokument XML

XML i nowoczesne technologie zarządzania treścią

UCHWAŁA NR L/932/13 RADY MIASTA MYSŁOWICE. z dnia 19 grudnia 2013 r.

Wprowadzenie do standardu XSL

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

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Podstawy (X)HTML i CSS

XML & XSLT. Programowanie w Javie 2

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Przykładowy dokument XML

Przegląd języków zapytań

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

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

Wprowadzenie do technologii XML

Źródła. cript/1.5/reference/ Ruby on Rails: AJAX: ssays/archives/

Rys.2.1. Drzewo modelu DOM [1]

29. Poprawność składniowa i strukturalna dokumentu XML

UCHWAŁA NR 135/XXVII/13 RADY MIASTA ZAMBRÓW. z dnia 26 marca 2013 r.

Przykładowy dokument XML

UCHWAŁA NR XLIII/569/14 RADY MIEJSKIEJ W CZERWIONCE-LESZCZYNACH. z dnia 25 kwietnia 2014 r.

XML extensible Markup Language. część 5

Prezentacja dokumentów XML

WYKŁAD 3 XML DOM XML DOCUMENT OBJECT MODEL CZĘŚĆ 1

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

METODY REPREZENTACJI INFORMACJI

Układ informacji i powiązań między nimi w deklaracji na podatek leśny (DL-1) w formacie danych XML

Podstawy JavaScript ćwiczenia

Prezentacja dokumentów XML

Prezentacja dokumentów XML

XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.

DTD - encje ogólne i parametryczne, przestrzenie nazw

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

UCHWAŁA NR VII/49/2015 RADY MIASTA PRUSZCZ GDAŃSKI. z dnia 12 maja 2015 r.

Facelets ViewHandler

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

XPath 2.0 / XSLT 2.0 / XQuery 1.0. Inne standardy związane z XML-em. XPath 2.0 XSLT 2.0. XPath 2.0 funkcyjny język programowania

Dlaczego Python jest lepszy od XSLT?

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Układ informacji i powiązań między danymi w deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi w formacie danych XML

Innowacja pedagogiczna Pasja programowania ZESPÓŁ SZKÓŁ W CHOROSZCZY

Model semistrukturalny

UCHWAŁA NR XL/527/14 RADY MIEJSKIEJ W CZERWIONCE-LESZCZYNACH. z dnia 29 stycznia 2014 r.

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk

UCHWAŁA NR XLII/992/13 RADY MIASTA KATOWICE. z dnia 27 listopada 2013 r.

XML extensible Markup Language 7

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation

SPECYFIKACJA FUNKCJONALNA OPROGRAMOWANIA 11 marca 2014 XLZEBRAPRINTER

Języki programowania wysokiego poziomu. Forum

XML extensible Markup Language. część 5

Elementarz HTML i CSS

JavaScript funkcyjność

Kraków, dnia 10 czerwca 2015 r. Poz UCHWAŁA NR VIII/60/2015 RADY MIEJSKIEJ W KĘTACH. z dnia 29 maja 2015 roku

Bazy Danych i Usługi Sieciowe

Transkrypt:

Plan Przetwarzanie dokumentów XML i zaawansowane techniki WWW Wykład 04 T. Romańczukiewicz Jagiellonian University 2009/2010

Plan Plan 1 XSLT

Plan 1 XSLT Wstęp Przykłady Instrukcje sterujace Elementy i atrrybuty Zmienne Funkcje Podsumowanie

XSL XPath XSLT (ang. XSL Transformations język do transformowania dokumentów XML do innych dokumentów XML XSL (ang. Extensible Stylesheet Language) HTML zawiera dobrze zdefiniowane znaczniki. Przegladarki wiedza co one oznaczaja. Znaczniki HTML określaja format w jakim dane się będa wyświetlane. CSS - arkusz stylów dla HTML. Określa jak konkretnie maja wygladać elementy w przegladarce. W XML autor sam definiuje dowolne znaczniki. Aby je wyświetlić musi określić ich styl. Można użyć CSS dla XML tak jak to się robi dla HTML. Lepiej: XSL - arkusz stylów dla XML. Sam jest poprawnie zdefiniowanym dokumentem XML. XSLT - Język transformacji dokumentów XML XPath - Język do nawigacji w dokumentach XML XML-FO - (ang. Extensible Stylesheet Language Formatting Objects) język służacy do formatowania danych z dokumentu XML do prezentacji.

XSLT XSLT Jest najważniejsza częścia XSL Transformuje jedne dokumenty XML w inne. Np zwykły XML w XHTML. Używa XPath do nawigacji po drzewie XML Może transformować dowolny element pliku XML na element (X)HMLT Dzięki XPath może wybierać poszczególne elementy. Może przestawiać elementy dodawać i zmieniać atrybuty, ukrywać i pokazywać elementy itd. Przekształceń można dokonywać po stronie klienta przegladarka, ale uwaga: starsze przegladarki moga mieć problemy (FF 3, IE 6, Opera 9) Javascript po stronie serwera (asp) gotowe programy np. xsltproc, API i parsery Xalan, libxslt.

Przykład Listing 1: cdcatalog.xsl 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> 4 5 <xsl:template match="/"> 6 <html> 7 <body> 8 <h2>my CD Collection</h2> 9 <table border="1"> 10 <tr bgcolor="#9acd32"> 11 <th>title</th> 12 <th>artist</th> 13 </tr> 14 <xsl:for-each select="catalog/cd"> 15 <tr> 16 <td><xsl:value-of select="title"/></td> 17 <td><xsl:value-of select="artist"/></td> 18 </tr> 19 </xsl:for-each> 20 </table> 21 </body> 22 </html> 23 </xsl:template> 24 25 </xsl:stylesheet> Zamiast znacznika <xsl:stylesheet> można używać <xsl:transform>.

Przykład Listing 2: cdcatalog.xml 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> 3 <catalog> 4 <cd> 5 <title>black Sabbath</title> 6 <artist>black Sabbath</artist> 7 <price>66.6</price> 8 <year>1970</year> 9 </cd> 10 11 <cd> 12 <title>strange Highways</title> 13 <artist>dio</artist> 14 <country>usa</country> 15 <year>1994</year> 16 </cd> 17 18 <cd> 19 <title>ghost of a Rose</title> 20 <artist>blackmores Night</artist> 21 <country>uk</country> 22 <year>2003</year> 23 </cd> 24 </catalog>

Element template Elementem głównym XSLT jest <xsl:stylesheet> lub <xsl:transform> W arkuszu XSLT znajduje się co najmniej jeden element <template>. Posiada on atrybut match, którego wartość jest wyrażeniem XPath. Element ten wybiera kontekst (węzeł) dla dalszego przetwarzania danych. np <xsl:template match="/"> wybiera element główny Zawartość <xsl:template match="/"> definiuje elementy HTML, przy pomocy których dane z dokumentu XML będa prezentowane. Wewnatrz elemetów HTML można się odwoływać do pliku XML poprzez element: <xsl:value-of select="catalog/cd/title"/>

Przykład Listing 3: cdcatalog.xsl 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 3 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> 4 5 <xsl:template match="/"> 6 <html> 7 <body> 8 <h2>my CD Collection</h2> 9 <table border="1"> 10 <tr bgcolor="#9acd32"> 11 <th>title</th> 12 <th>artist</th> 13 </tr> 14 <tr> 15 <td><xsl:value-of select="title"/></td> 16 <td><xsl:value-of select="artist"/></td> 17 </tr> 18 </table> 19 </body> 20 </html> 21 </xsl:template> 22 </xsl:stylesheet> Wypisze tylko pierwsza pozycję z katalogu.

Element for-each i inne instrukcje sterujace Listing 4: cdcatalog.xsl 1... 2 <xsl:for-each select="katalog/cd"> 3 <tr> 4 <td><xsl:vale-of select="tatle"/></td> 5 <td><xsl:vale-of select="artist"/></td> 6 </tr> 7 </xsl:for-each> 8... Atrybut select jest wyrażeniem XPath. Mże zawierać również dodaktowe filtry: <xsl:for-each select="catalog/cd[artist= Dio ]"> Dozwolone filtry to = równe!= nierówne < mniejsze > większe Inne instruckje sterujace: <xsl:if test="price > 6"> Uwaga: brak else <xsl:sort select="artist"/> Można użyć w for-each, for-each-group, apply-templates

Instrukcja choose Listing 5: Instrukcja choose 1 <xsl:choose> 2 <xsl:when test="expression"> 3... some output... 4 </xsl:when> 5 <xsl:otherwise> 6... some output... 7 </xsl:otherwise> 8 </xsl:choose> 9 10 <xsl:for-each select="catalog/cd"> 11 <tr> 12 <td><xsl:value-of select="title"/></td> 13 <xsl:choose> 14 <xsl:when test="price > 10"> 15 <td bgcolor="#ff00ff"> 16 <xsl:value-of select="artist"/></td> 17 </xsl:when> 18 <xsl:otherwise> 19 <td><xsl:value-of select="artist"/></td> 20 </xsl:otherwise> 21 </xsl:choose> 22 </tr> 23 </xsl:for-each>

perform-sort Listing 6: Sortowanie 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <xsl:stylesheet version="1.0" 3 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> 4 5 <xsl:template match="/"> 6 <html> 7 <body> 8 <h2>my CD Collection</h2> 9 <table border="1"> 10 <tr bgcolor="#9acd32"> 11 <th>title</th> 12 <th>artist</th> 13 </tr> 14 <xsl:for-each select="catalog/cd"> 15 <xsl:sort select="artist"/> 16 <tr> 17 <td><xsl:value-of select="title"/></td> 18 <td><xsl:value-of select="artist"/></td> 19 </tr> 20 </xsl:for-each> 21 </table> 22 </body> 23 </html> 24 </xsl:template> 25 26 </xsl:stylesheet>

applay-templates 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <xsl:stylesheet version="1.0" 3 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> 4 5 <xsl:template match="/"> 6 <html> 7 <body> 8 <h2>my CD Collection</h2> 9 <xsl:apply-templates/> 10 </body> 11 </html> 12 </xsl:template> 13 14 <xsl:template match="cd"> 15 <p> 16 <xsl:apply-templates select="title"/> 17 <xsl:apply-templates select="artist"/> 18 </p> 19 </xsl:template> 20 21 <xsl:template match="title"> 22 Title: <span style="color:#ff0000"> 23 <xsl:value-of select="."/></span> 24 <br /> 25 </xsl:template> 26 27 <xsl:template match="artist"> 28 Artist: <span style="color:#00ff00"> 29 <xsl:value-of select="."/></span> 30 <br /> 31 </xsl:template> 32 33 </xsl:stylesheet>

Wynikowe drzewo XSLT przekształca jeden dokument XML w drugi. W wynikowym drzewie można tworzyć na kilka sposobów: Węzły moga być wpisane w arkusz XSLT Można je tworzyć przy pomocy konstruktorów <xsar:element>, <xsar:comment> Moga być przepisane z pliku źródłowego Listing 7: Elementy w arkuszu 1 <xsl:for-each select="catalog/cd"> 2 <tr> 3 <td><xsl:value-of select="title"/></td> 4 <td><xsl:value-of select="artist"/></td> 5 </tr> 6 </xsl:for-each>

xsl:element Listing 8: Elementy w arkuszu cd. 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <xsl:stylesheet version="1.0" 3 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> 4 5 <xsl:template match="/"> 6 <xsl:for-each select="catalog/cd"> 7 <xsl:element name="singer"> 8 <xsl:value-of select="artist" /> 9 </xsl:element> 10 <br /> 11 </xsl:for-each> 12 </xsl:template> 13 14 </xsl:stylesheet>

xsl:attribute 1 <picture> 2 <xsl:attribute name="source"/> 3 </picture> 4 5 <picture> 6 <xsl:attribute name="source"> 7 <xsl:value-of select="images/name" /> 8 </xsl:attribute> 9 </picture> 10 11 <xsl:attribute-set name="font"> 12 <xsl:attribute name="fname">arial</xsl:attribute> 13 <xsl:attribute name="size">14px</xsl:attribute> 14 <xsl:attribute name="color">red</xsl:attribute> 15 </xsl:attribute-set>

Zastosowania tworzenia nowych elementów Wstawienie instrukcji przetwarzania lub komentarza. Wstawienie samych białych znaków. Wstawienie tekstu bez nadmiarowych białych znaków. Dynamicznie określana nazwa elementu lub atrybutu. Warunkowe wstawienie atrybutu.

Listing 9: Przykłady zastosowań. 1 <! i n s t r u k c j a p r z e t w a z a n i a > 2 <xsl:processing-instruction target="xml-stylesheet"> 3 type="text/css" href="styl.css" 4 </xsl:processing-instruction> 5 6 <! Dynamicznie nadawana nazwa elementu > 7 <xsl:element name="h{max((count(ancestor-or-self::sekcja), 6))}"> 8... 9 </xsl:element> 10 11 <! Warunkowe w s t a w i a n i e a t r y b u t u > 12 <p> 13 <xsl:if test="@stanowisko = kierownik"> 14 <xsl:attribute name="class"> 15 szef 16 </xsl:attribute> 17 </xsl:if> 18 </p>

Szablony wartości atrybutu Szablony wartości atrybutu można wstawiać w atrybutach drzewa wynikowego <img src="{$image}/{$size}/{@id}.jpg"/> w niektórych instrukcjach XSLT <xsar:element name="h{count(ancestror-or-self::sekcja)}"> Części stałe napisy kopiowane do wyniku Wyrażenia XPATH umieszczone między { i } Reprezentacja tekstowa wyliczanej sekwencji

element output Element <xsl:output> definiuje format danych wynikowych. Musi się pojawić jako dziecko <xsl:stylesheet> lub <xsl:transform> method xml html text name version encoding omit-xml-declaration string string yes no standalone indent yes no yes no

Zmienne Zmienne w XSLT sa elementami postaci: 1 <xsl:variable name="name" select="expression"> 2 <! Content: template > 3 </xsl:variable> W zależności od tego gdzie sa zdefiniowane moga być zmiennymi lokalnymi (wewnatrz konkretnego szablonu) lub globalnymi (w całym arkuszu) Wartość zmiennej określa się poprzez zawartość elementu lub poprzez atrybut select Uwaga: Gdy raz określi się wartość zmiennej, nie można jej już modyfikować.

Zmienne 1 <xsl:variable name="header"> 2 <tr> 3 <th>element</th> 4 <th>description</th> 5 </tr> 6 </xsl:variable> 7 8 <xsl:template match="/"> 9 <table> 10 <xsl:copy-of select="$header" /> 11 <xsl:for-each select="reference/record"> 12 <tr> 13 <xsl:if category="xml"> 14 <td><xsl:value-of select="element"/></td> 15 <td><xsl:value-of select="description"/></td> 16 </xsl:if> 17 </tr> 18 </xsl:for-each> 19 </table> 20 <br /> 21 <table> 22 <xsl:copy-of select="$header" /> 23 <xsl:for-each select="table/record"> 24 <tr> 25 <xsl:if category="xsl"> 26 <td><xsl:value-of select="element"/></td> 27 <td><xsl:value-of select="description"/></td> 28 </xsl:if> 29 </tr> 30 </xsl:for-each> 31 </table>

copy i copy-of 1 <xsl:copy use-attribute-sets="name-list"> 2 <! Content: template > 3 </xsl:copy> 4 5 <xsl:copy-of use-attribute-sets="name-list"> 6 <! Content: template > 7 </xsl:copy-of> Element <xsar:copy> tworzy kopię aktualnego węzła, ale bez dzieci i atrybutów. Przestrzeń nazw jest automatycznie kopiowana! Element <xsar:copy-of> tworzy kopię aktualnego węzła wraz z dziećmi i atrybutami

Szablony nazwane W szablonie atrybut name. call-template uruchamia. Bez zmiany węzła bieżacego (inaczej niż apply-templates). Możliwa rekurencja 1 <xsl:template name="opisz-element"> 2 <p>element o nazwie <xsl:value-of select="name()"/>.</p> 3 </xsl:template> 4 5 <xsl:template match="/"> 6 <html><body> 7 <h1>wszystkie elementy:</h1> 8 <xsl:for-each select="//*"> 9 <xsl:call-template name="opisz-element"/> 10 </xsl:for-each> 11 </body></html> 12 </xsl:template>

Listing 10: Przykład rekurencji 1 <xsl:template name="silnia"> 2 <xsl:param name="n"/> 3 <xsl:param name="res" select="1"/> 4 <xsl:choose> 5 <xsl:when test="$n > 1"> 6 <xsl:call-template name="silnia"> 7 <xsl:with-param name="n" select="$n - 1"/> 8 <xsl:with-param name="res" 9 select="$n * $res"/> 10 </xsl:call-template> 11 </xsl:when> 12 <xsl:otherwise> 13 <xsl:value-of select="$res"/> 14 </xsl:otherwise> 15 </xsl:choose> 16 </xsl:template> Element <xsl:param name="obligatory name"select="optional expr"> deklaruje parametr szablonu. Element <xsl:with-param name="obligatory name"select="optional expr"> (wywołanie) definiuje wartość parametru przekazanego do szablonu. Atrybut name musi się zgadzać, z nazwa elemenu <xsl:param>. Użycie jest dozwolone jedynie wewnatrz <xsl:apply-templates> i <xsl:call-template>

Defiowanie własnych funkcji 1 <xsl:function name="loc:silnia"> 2 <xsl:param name="n"/> 3 <xsl:sequence select="if($n <= 1) 4 then 1 5 else $n * loc:silnia($n - 1)"/> 6 </xsl:function>

Funkcje w XSLT XSLT zawiera około 100 funkcji: Przykłady funkcji current() document() Zwraca aktualny węzęł Używane do odczytywania węzłów z innego dokumentu XML element-available() format-number() function-available() generate-id() system-property() unparsed-entity-uri() Sprawdza czy dany elemeny jest rozumiany przez procesor XSLT. Jeśłi nie można użyć elementu <xslt:fallback> Zamienia liczba na ciag znaków Sprawdza czy funkcja jest dostępna Zwraca unikalny ciag identyfikujacy dany węzeł Zwraca wartości systemowe <xsl:version>, <xsl:vendor>, <xsl:vendor-url> Zwraca URI nieprzetworzonej encicji.

Listing 11: Przykład srawdzania dostępności 1 <?xml version="1.0" encoding="iso-8859-1"?> 2 <xsl:stylesheet version="1.0" 3 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> 4 5 <xsl:template match="/"> 6 <html><body> 7 <xsl:choose> 8 <xsl:when test="element-available( xsl:comment )"> 9 <p>xsl:comment is supported.</p> 10 </xsl:when> 11 <xsl:otherwise> 12 <p>xsl:comment is not supported.</p> 13 </xsl:otherwise> 14 </xsl:choose> 15 <xsl:choose> 16 <xsl:when test="element-available( xsl:delete )"> 17 <p>xsl:delete is supported.</p> 18 </xsl:when> 19 <xsl:otherwise> 20 <p>xsl:delete is not supported.</p> 21 </xsl:otherwise> 22 </xsl:choose> 23 </body></html> 24 </xsl:template> 25 26 </xsl:stylesheet>

Zastosowania Prezentacja dokumentów Prezentacja bazy danych Konwersja między dokumentami XML Raporty, podsumowania itp Tworzenie skryptów i plików konfiguracyjnych

1 <Zyczenia> 2 Wesolych Swiat 3 < / Zyczenia>