Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

1 Stylový jazyk XSL 2. část Magdalena Raszková Ústav informatiky PEF MZLU v Brně

Podobné prezentace


Prezentace na téma: "1 Stylový jazyk XSL 2. část Magdalena Raszková Ústav informatiky PEF MZLU v Brně"— Transkript prezentace:

1 1 Stylový jazyk XSL 2. část Magdalena Raszková Ústav informatiky PEF MZLU v Brně

2 2 Testík 1.Co znamená zkratka XSL? a)Extra Strong Language b)Extensible Stylesheet Language c)Extra Simple Language 2.Která část jazyka se v současnosti nejvíce používá, např. pro převod XML na HTML? a)XSLT b)XSLFO c)XSL-FO 3.Který prvek je kořenovým elementem dokumentu XSLT? a)xsl:stylesheet b)xsl:transform c)lze použít obě varianty 4.Šablony jsou základem XSLT stylu. Který element se používá pro jejich tvorbu a)xsl:template b)xsl:templates c)xsl:apply-templates

3 3 Testík 5.Jaký je jmenný prostor elementů XSLT podle doporučení konsorcia W3C? a)http://www.w3.org/1999/XSL/Transformation b)http://www.w3.org/1999/XSL/Transform c)http://www.w3c.org/1999/XSL/Transform d)http://www.w3.org/1999/XSLT 6.Co umožňuje XSLT element xsl:value-of? a)aplikovat určitou šablonu b)vypsat přímo textový obsah elementu c)vypsat textový obsah prvku, ať už se v jeho struktuře vyskytuje na libovolném místě 7.Jaký povinný atribut musíme uvést u elementu for-each? a)name b)select c)test Zdroj: Lucie Grusová – XML pro úplné začátečníky ISBN

4 4 Instrukce slouží k jednoduchým testům (podmínkám) neexistuje žádná část else, proto je v případě více variant nutno použít je sudé

5 5 Instrukce slouží pro testování více možných podmínek může obsahovat více instrukcí nepovinně element Tato kniha nemá popis.

6 6 Číslování slouží k přiřazení posloupnosti čísel jednotlivým uzlům ve výsledném dokumentu atributy count – určuje, jaké uzly budou číslovány (pokud atribut nepoužijeme, budou číslovány jen uzly stejného jména a typu jako aktuální uzel) format – určuje výstupní formát číslování (1, 01, a, A, i, I) a další

7 7 Třídění 1/2 určuje pořadí zpracování uzlů uvnitř instrukcí a atributy (všechny nepovinné) select – výraz jazyka XPath, který vrací sadu uzlů k setřídění order – pořadí řazení (ascending nebo descending), defaultně ascending (vzestupné třídění) data-type – podle jakého typu dat budou informace tříděny (number nebo text), defaultně text case-order – zda budou mít při třídění přednost malá (lower- first) či velká (upper-first) písmena pokud žádný atribut neuvedeme, jako klíč k setřídění bude sloužit aktuální prvek a řazení podle abecedy lze řadit i podle více kritérii (vícero sort za sebou)

8 8 Třídění 2/2

9 9 Proměnné 1/2 proměnné slouží v XSLT k zapamatování údajů, které opakovaně používáme obsah již definované proměnné nelze měnit (je to tedy spíše konstanta) proměnnou lze nastavit buď globální pro celý styl, nebo jen pro určitou šablonu či její část proměnná je platná pro všechny své následující sourozence a jejich potomky proměnná může obsahovat libovolný XPath typ (seznam uzlů, řetězec, číslo, boolean)

10 10 Proměnné 2/2 proměnnou můžeme definovat jedním z následujících tří způsobů: 1.Přiřazení výsledku libovolného výrazu do proměnné 2.Přiřazení prázdného řetězce do proměnné 3.Přiřazení fragmentu výstupního dokumentu do proměnné elementy, atributy apod. na obsah proměnné se ve výrazech můžeme odvolávat pomocí zápisu $jmeno vložení hodnoty proměnné do výstupního dokumentu Zdroj:

11 11 Parametry parametry mají stejné použití jako proměnné, pouze jim lze při volání stylu nebo šablony změnit hodnotu šabloně, která má uvnitř sebe definované nějaké parametry, můžeme předat hodnotu těchto parametrů pomocí instrukce Více se dozvíte zde:

12 12 Instrukce občas potřebujeme strukturu stávajícího XML dokumentu přeskupit či pozměnit lze využít instrukce,, instrukce vytvoří na výstupu nový atribut atributy name – jméno nového atributu (povinný) obsahem elementu je hodnota nového atributu na výstupu

13 13 Instrukce a instrukce vytvoří na výstupu kopii aktuálního elementu, ale bez jeho případného obsahu a atributů instrukce vytvoří na výstupu přesnou kopii elementu určeného pomocí povinného atributu select, včetně jeho obsahu a případných atributů

14 14 Pojmenované šablony pojmenované šablony plní podobnou funkci jako funkce a procedury v klasických jazycích často se opakující XSL instrukce můžeme uložit do zvláštní šablony, která se volá svým jménem pojmenovaná šablona má atribut name, kterým určujeme název šablony k vyvolání šablony slouží instrukce tělo šablony …

15 15 Transformace XML do PDF TeX 1.definujeme vlastní transformace na TeXovské příkazy v XSL stylu 2.PassiveTeX (procesor FO postavený nad TeXem)PassiveTeX 3.TeXMLTeXML 4.xmltex (parser XML v TeXu )xmltex Základní přehled zdezde XSL-FO Formátovací objekty

16 16 XSL (eXtensible Stylesheet Language) stylový jazyk speciálně vyvinutý pro XML specifikace XSL je dílem konsorcia W3C původně jedna specifikace, která zajišťovala jak transformaci dokumentů, tak i jejich formátování později vymezeny 2 samostatné části, které spolu ale úzce souvisí: transformační část: XSLT (Transformation) formátovací část: XSL-FO (Formatting Objects) definuje vizuální vlastnosti objektů a dokumentu – formátování výstupu transformace do formátu PDF, PS tyto dvě části doplněny ještě o jazyk XPath – dohromady označováno jako XSL Family

17 17 Formátovací část XSL-FO eXtensible Stylesheet Language – Formatting Objects část jazyka XSL, která se zabývá formátováním výstupu a přesným umístěním prvků na stránce aplikace jazyka XML nejčastěji se používá k transformaci XML dokumentů na dokumenty ve formátu PDF či PostScript jazyk XSL-FO je mnohem obsáhlejší než jazyk XSLT aktuální verze: součást doporučení XSL verze 1.0 pracovní návrh verze 1.1

18 18 Formátovací objekty (FO) jazyk je založen na speciálních formátovacích objektech (Formatting Objects – FO) formátovací objekty definují vzhled vysázeného dokumentu podobně jako HTML popisuje zobrazení stránky v prohlížeči elementy XSL-FO představují stránky, bloky či nejrůznější objekty (obrázek, tabulka,...) formátovací objekty se používají k určení toho, jak mají být data z dokumentů XML formátována a zobrazena (šířka okrajů, styly písma, zarovnání…)

19 19 Formátovací objekty (FO) dokumenty obsahující pouze formátovací objekty jsou poměrně málo používané (jen pro krátké dokumenty), spíše se kombinují s XSLT můžeme tedy nejprve vytvořit styl XSLT, který použijeme k transformaci XML dokumentu tak, aby výsledný dokument obsahoval formátovací objekty ...

20 20 v současné době XSL-FO nepodporuje žádný běžně dostupný prohlížeč, jejich využití je vázáno na procesory jazyka XSL-FO open-source/free implementace FOP (převod na PDF, PCL, PS, SVG, Print, AWT, MIF, TXT) PassiveTeX TeXML (převod na TeX) UFO, jfor komerční implementace XEP Epic XSL Formatter žádná z implementací zatím nepokrývá úplný standard, ale zvláště komerční implementace jsou pro většinu aplikací zcela dostačující Realizace transformací FO

21 21 FOP (Formatting Object Processor) nejrozšířenější procesor XSL-FO založený na jazyku Java, spouští se z příkazové řádky vyvinut Jamesem Tauberem v nadaci Apache Software Foundation výstup do PDF je u FOPu velmi dobře propracovaný a umožňuje mimo jiné vkládání odkazů, bookmarků, grafiky a vlastních fontů do vytvářených dokumentů

22 22 FOP (Formatting Object Processor) FOP nepodporuje české kódování, což lze však vyřešit úpravou konfiguračního souboru userconfig.xml (bližší popis je obsažen v dokumentaci programu) příklad transformace pomocí procesoru FOP fop –c c:fop\conf\userconfig.xml -fo kurz.fo -pdf kurz.pdf fop –c c:fop\conf\userconfig.xml -xsl kurz.xsl -xml kurz.xml –pdf kurz.pdf zdrojový XML dokumentXSL-FO styl název cílového dokumentudokument s formátovacími objekty název cílového dokumentu nebo

23 23 XML dokument (kurz.xml) XSL-FO styl (kurz.xsl) výsledný dokument ve formátu PDF, PS,... (kurz.pdf, kurz.ps,...) XSL-FO procesor (FOP, XEP,...) XSLT procesor (XT, Saxon, Xalan,...) Soubor obsahující FO (kurz.fo) Proces transformace

24 24 Proces transformace (zjednodušený – procesor FOP, XEP,...) XML dokument (kurz.xml) XSL-FO styl (kurz.xsl) výsledný dokument ve formátu PDF, PS,... (kurz.pdf, kurz.ps,...) XSL-FO procesor (FOP, XEP,...)

25 25 Zdroje Stránky konsorcia W3C (specifikace XSL, XSLT, XSL-FO, XPath) Specifikace XSL verze 1.0 (součástí je specifikace XSL-FO 1.0) Jiří Kosek – XSLT v příkladech Procesor XT oficiální stránky: rozšířený o podporu českého kódování (autor Jiří Kosek): Procesor FOP Cooktop – freeware XML editor

26 26 Dotazy? Děkuji za pozornost ;)


Stáhnout ppt "1 Stylový jazyk XSL 2. část Magdalena Raszková Ústav informatiky PEF MZLU v Brně"

Podobné prezentace


Reklamy Google