Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.



Podobné dokumenty
24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

XSLT a jmenné prostory

APLIKACE XML PRO INTERNET

XML a XSLT. Kapitola seznamuje s šablonami XSLT a jejich použití při transformaci z XML do HTML

Dotazování nad XML daty a jazyk XPath

XSL. Jirka Kosek. Poslední modifikace: $Date: 2005/12/01 09:35:37 $ Copyright Jiří Kosek. XML teorie a praxe značkovacích jazyků (IZI238)

Příklad buňka tabulky

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Z n a č k o v a c í j a z y k y. XSL (extensible Stylesheet Language) XSLT (extensible Stylesheet Language Transformation) XPath

XSLT extensible Stylesheet Language Transformation

XSLT pomocí JavaScriptu v Mozille (... Opeře a Safari)

Vysoká škola ekonomická v Praze

Obsah přednášky. XML DOM SAX XPath XSL transformace 1/46

Pravidla dokumentace

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

HTML Hypertext Markup Language

Překladač XSL šablon

Inovace výuky prostřednictvím šablon pro SŠ

Předmluva k druhému vydání 13. Úvod 17. ČÁST 2 Vytváření dokumentů XML 65

Základy XML struktura dokumentu (včetně testových otázek)

Úvod do XSLT 2.0. Jirka Kosek Copyright Jiří Kosek

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

XML snadno a rychle Martin Kuba, ÚVT MU

XPath je jazyk, který slouží k

TRANSFORMACE XML DOKUMENTŮ POMOCÍ JAZYKA XSLT

13. Vytváření webových stránek

Tvorba informačních systémů

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema:

(X)HTML-TAGY. VOŠ a SŠT Česká Třebová

Uspořádání klient-server. Standardy pro Web

XML a DTD. <!DOCTYPE kořenový_element [deklarace definující vlastnosti jednotlivých elementů a atributů]> externí deklarace:

TÉMATICKÝ OKRUH Softwarové inženýrství

Mgr. Stěpan Stěpanov, 2013

PRG036 Technologie XML

XML. Aleš Keprt

Jak psát bakalářskou práci v DocBooku

Software602 Form Designer

Vývoj Internetových Aplikací

TRANSFORMACE OBJEKTOVÉ PETRIHO SÍTĚ Z JAZYKA OPNML DO GRAFU TRANSFORMATION OF OBJECT-ORIENTED PETRI NET FROM OPNML LANGUAGE TO GRAPH

Kaskádové styly základy grafiky

NSWI096 - INTERNET. Úvod do HTML

Interaktivní typová kontrola XML a ladění XML transformací

Obsah prezentace. Co je to XML? Vlastnosti. Validita

Další XML technologie

Dotazování nad stromem abstraktní syntaxe

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

XML terminologie a charakteristiky. Roman Malo

XFORMS JAKO NÁHRADA WEBOVÝCH FORMULÁŘŮ XFORMS - WEB FORMS SUCCESSOR

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

<knihy:clanek xmlns:kniha=

Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek.

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky DIPLOMOVÁ PRÁCE

Čtvrtek 11. dubna. Základy HTML. Obecná syntaxe HTML. Struktura HTML

Ukládání a vyhledávání XML dat

Systém elektronického rádce v životních situacích portálu

Software602 Form Designer

Stránka se dá otevřít dvěma způsoby

Tvorba WWW stránek. Mojmír Volf

Distanční opora předmětu: Databázové systémy Tématický blok č. 4: XML, DTD, XML v SQL Autor: RNDr. Jan Lánský, Ph.D.

22. Tvorba webových stránek

NÁVRH A REALIZACE WWW PREZENTACE ČKR

Vstupní data pro program Deformace ve formátu XML

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc

Základy WWW publikování

MBI - technologická realizace modelu

Alena Malovaná, MAL305

JAZYK XSLT A SÉMANTICKÝ WEB XSLT Language and Semantic Web

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Kaskádové styly (CSS)

Základy HTML. Autor: Palito

Rodina formátů XML 1

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Tvorba webových stránek

Využití XML v DB aplikacích

Algoritmizace a programování

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

E-learning a DocBook

Tvorba webu. Úvod a základní principy. Martin Urza

XML na papír. Bakalářská práce

DocBook a jeho využití Tomáš Pitner, Jan Pavlovič, FI MU

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Tvorba informačních systémů

PRG036 Technologie XML

HTML - Úvod. Zpracoval: Petr Lasák

Jazyky pro popis dat

Úvod do databázových systémů B

Tvorba webových stránek

Bakalářská práce. Vladimír Mareš

Elektronické publikování. doc. RNDr. Petr Šaloun, Ph.D. katedra informatiky FEI VŠB TU Ostrava

WWW a HTML. Základní pojmy. Ivo Peterka

Analýza dat a modelování. Speciální struktury

Správnost XML dokumentu

Microsoft Word základní

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce

Transkript:

Jazyk XSL - rychlá transformace dokumentů 9. prosince 2010

Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí stylů Formátování dokumentu pomocí XSL FO

Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí stylů Formátování dokumentu pomocí XSL FO 2 XPath Stromová struktura

Osnova 1 Jazyk XSL Úvod Princip zpracování pomocí stylů Formátování dokumentu pomocí XSL FO 2 XPath Stromová struktura 3 XPath

Úvod Příchod XSL V mnoha případech možnosti kaskádových stylů nestačí, rozšíření přináší jazyk XSL (extensible Stylesheet Language). Původně měl jazyk XSL umožňovat definovat vzhled jednotlivých elementů způsob jejich zarovnání, velikost a styl písma, barvy apod. Kromě toho jej šlo použít i k takovým věcem, jako je automatické generování obsahu, číslování obrázků, kapitol apod. Postupně se ukázalo, že XSL má sloužit ke dvěma poměrně odlišným věcem k transformaci dokumentů a k definici vzhledu jejich formátování. Během příprav standardu XSL z něj proto byla vyřazena jeho část sloužící k transformaci dokumentů, pro kterou se používá název XSLT (XSL Transformations). Pomocí XSLT lze vytvářet styly, které definují, jak se dokumenty mají převádět do formátu HTML, do dokumentů s jinou strukturou nebo do obyčejných textových souborů. XSL FO (formátovací objekty) pro přesný popis vzhledu dokumentu. Standard XSLT byl přijat jako standard konsorcia W3C. Pro práci s XSLT exisutje celá řada editorů - XT, Saxon a Xalan.

Princip zpracování pomocí stylů

Formátování dokumentu pomocí XSL FO

<?xml version="1.0" encoding="windows-1250"?> <!DOCTYPE citaty [ <!ELEMENT citaty (citat+)> <!ELEMENT citat (text, autor)> <!ELEMENT text (#PCDATA)> <!ELEMENT autor (#PCDATA)> ]> <citaty> <citat> <text>cizí vavříny nám nedají spát, na vlastních usínáme.</text> <autor>orientální PŘÍSLOVÍ</autor> </citat> <citat> <text>člověk musí často líbat ruce, které by nejraději uťal.</text> <autor>dánské PŘÍSLOVÍ</autor> </citat>... </citaty>

Soubor s XSLT stylem je sám o sobě dokument, protože používá syntaxi. V dokumentu se používají dva druhy značek řídící příkazy pro procesor a značky výsledného dokumentu (např. HTML tagy). Pro možnost kombinovat dvě sady značek, se používají jmenné prostory, tzn., že před jména všech elementů, které má XSLT procesor zpracovávat, se píše speciální prefix xsl:. Celý styl musí být uzavřen v elementu stylesheet. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> definice stylu </xsl:stylesheet> URL adresa http://www.w3.org/1999/xsl/transform, identifikuje jmenný prostor. XSLT procesor podle ní pozná, že dokument obsahuje styl. Pokud toto URL nebude uvedeno nebo bude nepřesně napsáno, procesor nebude instrukce ve stylu zpracovávat.

Samotný styl se skládá především z šablon, které definují, jak se jednotlivé části dokumentu budou převádět do tvaru výstupního dokumentu. Při výběru částí dokumentu se používá jednoduchý dotazovací jazyk XPath. Existuje několik přístupů k tvorbě stylů. Pro dokumenty se složitou hierarchickou strukturou se většinou používá přístup, kdy je ve stylu mnoho šablon, které jsou postupně volány pro odpovídající části vstupního dokumentu.

Formátování pomocí několika šablon <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="html" encoding="windows-1250"/> <xsl:template match="/"> <html> <head> <title>moudrá přísloví</title> </head> <body> <xsl:apply-templates/> </body> </html> </xsl:template>

<xsl:template match="citat"> <xsl:apply-templates/> <hr/> </xsl:template> <xsl:template match="text"> <p><xsl:apply-templates/></p> </xsl:template> <xsl:template match="autor"> <p align="right"> <em><xsl:apply-templates/></em></p> </xsl:template> </xsl:stylesheet>

Pro dozkoušení stylů, je několik možností. použít procesor ovládaný z příkazové řádky: saxon -o výstup dokument.xml styl.xsl xsltproc -o výstup styl.xsl dokument.xml msxsl -o výstup dokument.xml styl.xsl nxslt -o výstup dokument.xml styl.xsl xalan -o výstup dokument.xml styl.xsl xt dokument.xml styl.xsl výstup připojit styl přímo k dokumentu: Na začátek dokumentu (za deklaraci a před kořenový element) se umístí instrukce pro připojení stylu: <?xml-stylesheet href="prislovi1.xsl" type="text/xsl"?> Nyní lze dokument otevřít v prohlížeči s podporou XSLT. Další možností je použít XSLT procesor z příkazové řádky: saxon -a -o výstup dokument.xml xsltproc -o výstup dokument.xml msxsl -pi -o výstup dokument.xml nxslt -pi -o výstup dokument.xml xalan -o výstup dokument.xml

Formátování pomocí několika šablon První se začne provádět šablona platná pro kořen dokumentu match= /. Vygeneruje se kostra HTML stránky a pomocí příkazu <xsl:apply-templates/> umožní spuštění dalších šablon, které se aktivují pro jednotlivé části vstupního dokumentu. Další šablony určují, jak se mají do HTML převést jednotlivé citáty, jejich text a autoři. V tomto případě je vykonávání jednotlivých části XSLT stylu řízeno obsahem dokumentu jednotlivé elementy dokumentu aktivují provádění jednotlivých šablon. Lze použít i opačný přístup, kdy je ve stylu minimum šablon a uvnitř šablony se cíleně vybírají určité informace z dokumentu.

Formátování pomocí jedné šablony <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="html" encoding="windows-1250"/> <xsl:template match="/"> <html> <head> <title>moudrá přísloví</title> </head> <body> <xsl:for-each select="/citaty/citat"> <p><xsl:value-of select="text"/></p> <p align="right"> <em><xsl:value-of select="autor"/></em></p> <hr/> </xsl:for-each> </body> </html> </xsl:template>

Formátování pomocí jedné šablony Styl obsahuje jednu šablonu, která si sama pomocí příkazů <xsl:for-each> a <xsl:value-of> vybere potřebné části vstupního dokumentu. Tento přístup se většinou používá pro dokumenty, které nemají příliš složitou a variabilní strukturu. Pokud má styl jen jednu šablonu pro kořen dokumentu, lze použít zkrácenou syntaxi stylu, kdy jsou přímo do kostry výstupního dokumentu doplňovány potřebné instrukce pro XSLT procesor.

Zjednodušená syntaxe pro styly s jednou šablonou <?xml version="1.0" encoding="utf-8"?> <html xmlns:xsl="http://www.w3.org/1999/xsl/transform" xsl:version="1.0"> <head> <title>moudrá přísloví</title> </head> <body> <xsl:for-each select="/citaty/citat"> <p><xsl:value-of select="text"/></p> <p align="right"> <em><xsl:value-of select="autor"/></em></p> <hr/> </xsl:for-each> </body> </html>

XPath XPath ( Path Language) je samostatný standard W3C, který se používá v několika dalších jazycích včetně XSLT.

XPath XPath ( Path Language) je samostatný standard W3C, který se používá v několika dalších jazycích včetně XSLT. V XPathu lze zapisovat jednoduché výrazy, které vybírají části dokumentu.

XPath XPath ( Path Language) je samostatný standard W3C, který se používá v několika dalších jazycích včetně XSLT. V XPathu lze zapisovat jednoduché výrazy, které vybírají části dokumentu. dokument je přitom chápán jako stromová struktura, kde jsou jednotlivé elementy, atributy a text chápány jako uzly.

Stromová struktura

XPath Výrazy v XPath jsou podobné zápisu cest ve struktuře adresářů. Příklad: /faktura/polozka. Lomítko odděluje jednu úroveň ve stromu. Tzn., že položka musí být dítětem faktury. Pokud na hloubce vnoření nezáleží, použijí se dvě lomítka bezprostředně za sebou hledají se pak všichni potomci v libovolné úrovni stromu. Podobně jako v adresářové struktuře, se lze odvolávat na aktuální uzel stromu pomocí tečky a přejít na nadřazenou úroveň pomocí dvou teček. Odkaz na atribut, lez napsat před jeho jméno @. Výraz //@měna vybere všechny atributy měna kdekoliv v dokumentu. Za výraz lze do hranatých závorek zapisovat podmínku, která výběr zúží. Pokud se jako podmínku zapíše číslo, vybere se element s daným pořadím. Například /faktura/polozka[1] vybere první položku faktury. Poslední položka se vybrala s využitím speciální funkce last() /faktura/polozka[last()]. Vše lze navzájem kombinovat.