1 / 15

Technol ógie XML Prednáška č. 10-11

Technol ógie XML Prednáška č. 10-11. XSL. e X tensible S tylesheet L anguage. Univerzálny jazyk na zápis štýlov, Vznikol aby odstránil nevýhody existujúcich štýlov (hlavne CSS) a pridal nové možnosti. XSL sa delí na dve časti: XSLT: obsahuje nástroje pre transformáciu XML dokumentov,

gafna
Download Presentation

Technol ógie XML Prednáška č. 10-11

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Technológie XMLPrednáška č.10-11 XSL

  2. eXtensibleStylesheetLanguage • Univerzálny jazyk na zápis štýlov, • Vznikol aby odstránil nevýhody existujúcich štýlov (hlavne CSS) a pridal nové možnosti. • XSL sa delí na dve časti: • XSLT: obsahuje nástroje pre transformáciu XML dokumentov, • FO: formátovacie objekty slúžia na popis vzhľadu stránky a jej častí. • Transformovať je možne do viacerých formátov ako napríklad XML; HTML; PDF; ...

  3. XSLT • <?xml version="1.0“?> <xsl:stylesheet version="1.0“ xmlns:xsl= "http://www.w3.org/1999/XSL/Transform"> • Prvé riadky xsl súboru. • V XML musíme definovať, ktorý štýl má byť aplikovaný: <?xml-stylesheettype="text/xsl" href=„styl.xsl"?> • Všetky hlavné prehliadače (Opera, Firefox, Safari, IE) dokážu takýto dokument správne zobraziť.

  4. Základné stavebné prvky XSLT <xsl:template match=“ <<vyraz>> ”> <<vystup>> </xsl:template> výraz v šablóne určuje, na ktoré elementy sa štýl bude aplikovať. Ide o výraz XPath výstup definuje finálny, výsledný vzhľad <xsl:template match=“meno”> <H1> <xsl:apply-templates/> </H1> </xsl:template>

  5. Základné stavebné prvky XSLT • Predchádzajúci príklad je možné použiť ak element meno obsahuje text. <subor> <meno>J.</meno> <priezvisko>Vrana</priezvisko> </subor> <xsl:template match=“/”> <h1> <xsl:value-of-select=“//meno”></h1> <h2> <xsl:value-of-select=“//priezvisko”></h2> </xsl:template>

  6. XSLT • <xsl:apply-templates> • Aplikuješablónu na aktuálny uzol alebo na jeho priamych potomkov. • Tento prístup nám umožňuje spracovať elementy v nami určenom poradí. <xsl:apply-templates select="title"/> <xsl:template match="title"> Title: <b><xsl:value-of select="."/></b> </xsl:template>

  7. XSLT • Čo v prípade XML databázy? • V predchádzjúcom príklade existuje len jeden element meno a priezvisko. Čo ak by ich bolo viacero? • Ako to vyriešiť? <xsl:for-each select=“osoba”> <b><xsl:value-of select=“meno”></b> </xsl:for-each> Alebo je možné uskutočniť výber: <xsl:for-each select=“osoba[meno=“Peter”]”>

  8. XSLT • Ponúka pri tvorbe šablón ďalšie možnosti: • Podmienky • Cykly • Funkcie (triedenie,....) • Premenné • Na začiatku je možné určiť typ výstupu: • <xsl:outputmethod="xml"/> • Takto vieme meniť výstup na XML, HTML alebo text. • XSLT zachováva výhody CSS, ale: • Je to XML, • Väčšie možnosti transformácie do viacerých typov súborov.

  9. Viac informácií o XSLT • http://www.zvon.org/xxl/XSLTutorial/Output/index.html • Tutorial na www.zvon.org • http://www.zvon.org/xxl/XSLTutorial/Output/index.html • Referenčná príručka k XSLT • http://www.kosek.cz/xml/xslt/ • Stránky o XML (JiříKosek)

  10. XSL:FO

  11. FormatovacieObjekty • XSLT dobre zvláda transformáciu do webovej stránky, • XML by však nemalo byť obmedzené prostredím internetu. • FO má význam použiť ak chceme dáta napr. vytlačiť. • FO a XSLT sa kombinujú a preto potrebujeme zadefinovať namespace pre oba. • Rozdiel oproti XSLT je že obsahuje funkcie pre prácu s textovými výstupmi typu: záhlavie, päta, číslovanie strán, ...

  12. Štruktúra FO • Prvý riadok tradične ako všetky XML, • ďalej je <fo:root> element na ktorom je definovaný aj namespace, • nasledujú šablóny pre stranu <fo:layout-master-set>, • <fo:simple-page-master master-name="A4"> • Šablóna s menom a identifikátorom • <fo:page-sequence> jeden alebo viac elementov tohto typu. • Popisuje obsah strany.

  13. Formátovacie objekty • Vo FO sú definované štvorcové priestory, v ktorých je možný zobrazovaný výstup. • Pages • Regions • Block areas • Line areas • Inline areas

  14. Zvyčajný FO dokument <fo:page-sequence> <fo:flow flow-name="xsl-region-body"> <fo:block> <!– Výstup pôjde zvyčajne sem --> </fo:block> </fo:flow> </fo:page-sequence>

  15. Domáca úloha • http://www.w3schools.com/xslfo/xslfo_intro.asp • Tutorial o XSL:FO • Viac príkladov z oboch tém bude na cvičení.

More Related