1 / 18

Technol ógie XML

Technol ógie XML. XSLT (XSL Transformations) September , 2011. Cieľ XSLT. Pôvodným cieľom bola podpora formátovacích objektov ... ... ale výsledkom môže byť ľubovoľný textový formát ( xml , txt , html, tex , ...). XML. XSL: FO. PDF. XSLT procesor. Zobra- zovací procesor. XSLT štýl.

urbain
Download Presentation

Technol ógie XML

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 XML XSLT (XSL Transformations) September, 2011 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  2. Cieľ XSLT • Pôvodným cieľom bola podpora formátovacích objektov ... • ... ale výsledkom môže byť ľubovoľný textový formát • (xml, txt, html, tex, ...) XML XSL: FO PDF XSLT procesor Zobra- zovací procesor XSLT štýl Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  3. Vlastnosti XSLT • XSL = Extensible Stylesheet Language • SGML => XML DSSSL => XSLT • Aplikácia XML (používa syntax XML) • Založené na XPath pre adresovanie častí dokumentu • Možné použitie: • zmena formátu (xml => xml pre iný model, xml => iný formát) • generovanie textu (závislého od obsahu vstupného súboru) • extrakcia informácií z xml súboru Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  4. Stav XSLT • Spravovaný W3C (http://www.w3.org) • XSLTransformations 1.0 (štandard v 1. edícii) • W3C recommendation – november 1999 • XSLTransformations 1.1 (obsolete) • W3C working draft – august 2001 • XSL Transformations 2.0 (štandard v 1. edícii) • W3C recommendation – január 2007 • W3C proposed recommendation – 2.edícia – apríl 2009 • XSL Transformations 2.1 • W3C working draft – máj 2010 Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  5. Štruktúra značkovania ... Objavovanie znalostí 6 P P-2 CN-1 PP-1 Technológie XML 6 PV P-1 CL-2 Cudzí jazyk 0 V S-2 rozvrh predmet meno kredity typ forma p c s pp Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  6. Značkovaný dokument <?xml version="1.0"?> <rozvrh> <predmettyp="P" kredity="6”> <meno>Objavovanie znalostí</meno> <forma><p>2</p><c>1</c><pp>1</pp></forma> </predmet> <predmettyp="PV" kredity="6”> <meno>Technológie XML</meno> <forma><p>1</p><c>2</c></forma> </predmet> <predmettyp="V"> <meno>Cudzí jazyk</meno> <forma><s>2</s></forma> </predmet> </rozvrh> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  7. Stromová reprezentácia / rozvrh ... predmet ... kredity forma typ meno p c pp text text text text Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  8. Minimálny štýl • Prázdny štýl <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> </xsl:stylesheet> • Implicitné chovanie • Prechod stromom (v smere „do hĺbky“) • Výpis obsahu textových uzlov forma meno p c pp text text text text Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  9. Šablóny • XSLT štýl = množina šablón • buď je štýl prázdny alebo obsahuje šablóny • Štruktúra šablóny – dve časti: • kontext šablóny – na ktorú časť vstupného dokumentu má byť použitá (XPath výraz) • transformačný predpis – aký obsah má byť generovaný do výstupného súboru (voliteľná časť) • Šablóna je definovaná značkou „template“ <xsl:template match=" … "> … </xsl:template> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  10. Spracovanie uzlov • Prechod uzlami dokumentu, pre každý uzol sa hľadá zodpovedajúca šablóna • šablóna nenájdená – pokračuje sa v implicitnom prechádzaní podstromu pod daným uzlom • šablóna existuje – spracovanie uzla a príslušného podstromu podľa nájdenej šablóny • generovanie textu ({ne}závislého na danom uzle) • spracovanie iba uzla • spracovanie všetkých uzlov pod daným uzlom • spracovanie vybraných uzlov Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  11. Riadenie skúmania uzlov • Blokovanie podstromu <xsl:template match="forma"> <kuk>kuk</kuk> </xsl:template> • Spracovanie poduzlov <xsl:template match="forma"> <xsl:apply-templates/> </xsl:template> • Selektívne spracovanie <xsl:template match="forma"> <xsl:apply-templates select="p"/> </xsl:template> forma p c pp text text text Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  12. Preberanie hodnôt zo vstupného súboru <xsl:template match="predmet"> <xsl:value-ofselect="@typ"/> <xsl:value-ofselect="meno"/> <xsl:value-ofselect="name()"/> <xsl:value-ofselect="position()"/> </xsl:template> <xsl:template match="meno"> <xsl:value-ofselect="."/> </xsl:template> <xsl:template match="/rozvrh/predmet"> <xsl:value-ofselect="sum(forma/*)"/> </xsl:template> predmet typ meno text forma p c pp text text text Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  13. Vetvenie <xsl:template match="predmet"> <xsl:choose> <xsl:whentest="@typ = 'P' ">povinny</xsl:when> <xsl:whentest="@typ = 'PV' ">povinne volitelny</xsl:when> <xsl:otherwise>volitelny</xsl:otherwise> </xsl:choose> <xsl:iftest="not(forma/pp)"> nevyžaduje za projekt</xsl:if> </xsl:template> <xsl:template match="predmet[@kredity > '6']"> … </xsl:template> <xsl:template match="predmet[not(@kredity > '6')]"> </xsl:template> Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  14. Iterácia <xsl:template match="//forma"> <xsl:for-eachselect="*"> <xsl:value-of select="name()"/> <xsl:if test="not( position() = last() )"> <xsl:text>, </xsl:text> </xsl:if> </xsl:for-each> </xsl:template> forma p c pp text text text Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  15. Vytváranie atribútov <xsl:template match="predmet"> <TR> <xsl:attributename="style"> color:red </xsl:attribute> </TR> </xsl:template> <xsl:template match="predmet“> <xsl:template match="predmet"> <TR ID="{meno}“> <TR ID="<xsl:value-ofselect='meno'/>"> </TR> </TR> </xsl:template> </xsl:template> Chybové hlásenie Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  16. Rôzne <xsl:template match="rozvrh"> <xsl:apply-templates> <xsl:sortorder="descending" select="@typ"/> </xsl:apply-templates> </xsl:template> <xsl:strip-space elements="*"/> <xsl:template match="predmet"> <xsl:value-of select="position()"/> </xsl:template> rozvrh predmet predmet predmet text text text Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  17. Cieľový formát Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

  18. Realizácia transformácie • Samostatný XSLT procesor • samostatný program (CLI alebo GUI) xsltproc vstupný-xml-súborxslt-štýl> výstupný-súbor • Vo vnútri klientského programu • príkladom je webový prehliadač • musí v xml súbore byť väzba na štýl, ktorý sa má použiť <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="meno-xslt-súboru"?> <rozvrh> • Súčasť serverového riešenia • server používa transformáciu dokumentov Katedra kybernetiky a umelej inteligencie FEI, TU v Košiciach

More Related