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

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

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

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

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

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

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

XML extensible Markup Language 3

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

XML extensible Markup Language. część 3

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

XML Path Language (XPath)

XML extensible Markup Language. część 6

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

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

XML extensible Markup Language. część 4

Aplikacje internetowe laboratorium XML, DTD, XSL

Extensible Markup Language III

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

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

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

XML extensible Markup Language. część 8

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

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

Wprowadzenie do XSLT

Rodzaje przetwarzania XSLT (1)

Plan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML

Aplikacje internetowe. Interfejs użytkownika

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Podstawy (X)HTML i CSS

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

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

DTD - encje ogólne i parametryczne, przestrzenie nazw

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

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

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

Prezentacja dokumentów XML

Przykładowy dokument XML

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

Prezentacja i transformacja

Prezentacja i transformacja

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

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

Prezentacja dokumentów XML

XML & XSLT. Programowanie w Javie 2

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

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

XML i nowoczesne technologie zarządzania treścią

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

XML i nowoczesne technologie zarządzania treścią

Rok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu

Wprowadzenie do standardu XSL

I. Dlaczego standardy kodowania mailingów są istotne?

Przegląd języków zapytań

Wprowadzenie do technologii XML

Ćwiczenia laboratoryjne nr 8 Podstawy języka XML.

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

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

XML DTD XML Schema CSS

XML i nowoczesne metody zarządzania treścią

Stwórz dokument XML zawierający poniższe informacje. Wykorzystaj atrybuty.

Referat z przedmiotu Technologie Internetowe SPIS TREŚCI

Przykładowy dokument XML

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

Generowanie raportów

KONCEPCJA ALGORYTMU SPRAWDZANIA KOMPLETNOŚCI DANYCH W PROCESIE ICH WYMIANY MIĘDZY SYSTEMAMI INFORMATYCZNYMI PRZEDSIĘBIORSTW PRODUKCYJNYCH

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

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

METODY REPREZENTACJI INFORMACJI

D:\Program Files\Temp\Deklaracja o wysokości opłaty za gospodarowanie odpadami komunalnymi-3.xml 6 maja :16

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

DZIENNIK URZĘDOWY WOJEWÓDZTWA ŚLĄSKIEGO

Szablon główny (plik guestbook.php) będzie miał postać:

Aplikacje WWW - laboratorium

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Informacja podatku łączny styl

Laboratorium 1 Wprowadzenie do PHP

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

Przykładowy dokument XML

Podstawy XML-a. Zaawansowane techniki programowania

INTEGRACJA I EKSPLORACJA DANYCH

Literatura. Głównie informacje w sieci:

Podstawy JavaScript ćwiczenia

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

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

METODY REPREZENTACJI INFORMACJI

Warsztaty epuap. Administracja otwarta na obywatela. Kraków 2011 Arkadiusz Walewski, Zbigniew Olszak

The Binder Consulting

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

Zaawansowane aplikacje WWW - laboratorium

Young Programmer: HTML+PHP. Dr inż. Małgorzata Janik, Zajęcia #2

Java Server Faces - wprowadzenie

METODY REPREZENTACJI INFORMACJI

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

Podstawy HTML. 2. Komendy ujęte są w nawiasy ostre - < > i występują najczęściej parami.

Napisy w PHP. Drukowanie napisów instrukcją echo

UCHWAŁA NR XXII/141/2013 RADY GMINY BOJSZOWY. z dnia 13 marca 2013 r.

Aplikacje WWW - laboratorium

Transkrypt:

Przetwarzanie dokumentów XML za pomocą XSLT (30.03.2015 r.) Przetwarzanie dokumentów XML oznacza zwykle, wyłuskanie z nich danych oraz przetwarzanie ich na inny format np HTML lub PDF. Jedną z metod przekształcania i przetwarzania dokumentów XML jest technika XSLT (Extensible Stylesheet Language Transformation). Diagram modelu przekształcenia jest nastęþujący: Pliki opisujące transformację XSLT to również pliki w formacie XML w których nalezy odwoływać się do przestrzeni nazw: xmlns:xsl= http://www.w3.org/1999/xsl/transform. Procesor XSLT umożliwiający wykonywanie przekształceń w systemie Linux jest zainstalowany w lini komend: > xsltproc plik.xsl plik.xml w wyniku działania tego polecenia na ekranie otrzymamy gotowy kod przekształcenia. Czasem jednak wygodniej jest od razu zapisać przekształcenie do pliku co można osiągnąć przez wykonanie polecenia: > xsltproc o wynik.html plik.xsl plik.xml W związku z tym że pliki do przekształceń są plikami XML należy rozpocząć je od prologu XML, a następnie określamy dokument XSLT. W tym miejscu musimy również określić co ma być wynikiem przekształcenia przez element <xsl:output />. Minimalna postać pliku z przekształceniem wygląda następująco:

<xsl:stylesheet version="1.0" xmlns:xsl=" http://www.w3.org/1999/xsl/transform "> <xsl:output method="html" encoding="utf 8" /> <! ty znajdują się polecenia przekształcające > Kolejnym podstawowym elementem pliku z przekształceniem jest tzw. template dla elementu głównego który dokonuje identyfikacji głównego węzła dokumentu XML poszukując go za pomocą odniesienia w formacie XPath: /. <! ty znajdują się polecenia przekształcające lub tekst > W zasadzie każda reguła <template> posiada atrybut match którego wartością jest wyrażaenie XPath. Procesor XSLT analizuje drzewo XML od węzła do węzła i jeżeli na trafi na pasujące wyrażenie XPath to stosuje dla niego regułę zapisaną we wzorcu. Należy również zwrócić uwagę że wszystkie elementy nie pochodzące z przestrzni nazw z prefixem xsl są kopiowane przez procesor XSLT do wynikowego dokumentu. Dlatego w łątwy sposób możemy dodoawać znaczniki html niezbędne do utworzenia strony na bazie danych przkształconych z plików XML. Przykładowy plik XML: <!DOCTYPE nobeldata v1 [ <!ELEMENT nobeldata v1 (prizes+)> <!ELEMENT prizes EMPTY> <!ATTLIST prizes continent (africa america asia europa australia) #REQUIRED prizes CDATA #REQUIRED decade (1900s 1910s 1920s 1930s 1940s 1950s 1960s 1970s 1980s 1990s) #REQUIRED> ]> <nobeldata v1> <prizes continent="america" prizes="0" decade="1900s"/> <prizes continent="america" prizes="0" decade="1910s"/> <prizes continent="america" prizes="0" decade="1920s"/> <prizes continent="america" prizes="3" decade="1930s"/> <prizes continent="america" prizes="2" decade="1940s"/> <prizes continent="america" prizes="1" decade="1950s"/> <prizes continent="america" prizes="2" decade="1960s"/> <prizes continent="america" prizes="3" decade="1970s"/> <prizes continent="america" prizes="3" decade="1980s"/> <prizes continent="america" prizes="2" decade="1990s"/> </nobeldata v1>

Chcemy przkształcić dane zawarte w pliku XML do postaci tabeli osadzonej na prostej stronie internetowej. Do tego celu wykorzystujemy przekształcenie XSLT w nastęþującej postaci: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="html" encoding="utf 8" /> <html> <head> <title>nagrody Nobla w dziedzinie literatury</title> </head> <h1>nagrody Nobla w dziedzinie literatury</h1> <p>liczba nagrod Nobla przyznanych Amerykanom w poszczegolnych dekadach dwudziestego wieku</p> <table border="1"> <tr> <th>dziesieciolecie</th> <th>nagrody</th> </tr> <xsl:apply templates /> </table> </html> <xsl:template match="prizes"> <tr> <td> <xsl:value of select="@decade"/> </td> <td> <xsl:value of select="@prizes"/> </td> </tr> Jak widać w głownym wzorcu znajdując się elemeny budujące strone html oraz polecenie dla procesora xslt nakazujące zastosowanie wzorców. Jako że w naszym przekształceniu mamy tylko jeden wzorzec odnoszący się do elementu potomnego <prizes> to on zostanie zastosowany. We wzorcu przekształcenia dla węzła <prizes> budowana jest struktura tabeli w html, a wartości do wypełnienia tebali są agregowane dzięki zastosowaniu polecenia <xsl:value of select= XPath /> gdzie wartość atrybutu select jest wyrażeniem XPath wskazującym na żadane dane. Wyrażenie wzorca będzie wykonane tyle razy ile występuje pasujący element do wzorca.

Kolejny przykład bardzo prosty przykład: <invited> <name>(tbc) Giuseppe Battistoni</name> <institute>national Institute of Nuclear Physics, Milano, Italy</institute> <name>mikhail Bashkanov</name> <institute>university of Tuebingen, Germany</institute> <name>piotr Białas</name> <institute>jagiellonian University, Cracow, Poland</institute> <name>caterina Bloise</name> <institute>national Institute of Nuclear Physics, LNF Frascati, Italy</institute> </invited> oraz przekształcenie: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="html" encoding="utf 8" /> <html> <body> <ul style="font size:17px;line height:150%"> <xsl:apply templates /> </ul> </body> </html> <xsl:template match="speaker"> <li> <b><xsl:value of select="name"/></b> <i><xsl:value of select="institute"/></i> </li>

Dalsze przykłady zastosowania <xsl:apply templates> <catalog> <cd> <title>empire Burlesque</title> <artist>bob Dylan</artist> <country>usa</country> <company>columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>hide your heart</title> <artist>bonnie Tyler</artist> <country>uk</country> <company>cbs Records</company> <price>9.90</price> <year>1988</year> </cd> </catalog> Korespondujący plik z przekształceniem: <?xml version="1.0" encoding="iso 8859 1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <html> <body> <h2>my CD Collection</h2> <xsl:apply templates/> </body> </html> <xsl:template match="cd"> <p> <xsl:apply templates select="title"/> <xsl:apply templates select="artist"/> </p> <xsl:template match="title"> Title: <span style="color:#ff0000"> <xsl:value of select="."/></span> <br /> <xsl:template match="artist"> Artist: <span style="color:#00ff00"> <xsl:value of select="."/></span> <br />

Zadanie: Proszę przygotować plik XML zawierający dowolne dane tabelaryczne np. bazę adresów, spis książek, spis smachchodów, tak aby zawierały kilka elementów zagnieżdzonych. Następnie proszę przygotować przekształcenie XSLT bazujące na podanych przykładach (materiały do ćwiczeń z dnia 30.03.2015) umożliwiające otrzymanie w wyniku przekształcenia prostej strony prezentującej dane zawarte w przygotowanym pliku XML. Plik XML oraz XSL należy spakować do archiwum ZIP i wysłać przez skrzynkę wrzutową najpóźniej do 20 kwietnia 2015 r.