Extensible Stylesheet Language Transformations XSLT Tarvo Treier idu
Extensible Stylesheet Language Transformations (XSLT) Tarvo Treier idu 0110@gmail. com
XSLT • XSLT on XML-põhine keel XML dokumentide mingisse teise formaati teisendamiseks. • XSLT kirjeldab reeglid, millega lähtepuu (source tree) transformeeritakse tulemuspuuks (result tree). • Lähtepuust päritakse andmeid kasutades XPATH-i.
Allikas: http: //upload. wikimedia. org/wikipedia/commons/e/e 6/XSLT_en. svg
Kasulikke viiteid • XSLT õppetund w 3 Schools lehel – http: //w 3 schools. com/xsl/ • XSLT Reference – http: //www. zvon. org/xxl/XSLTreference/Ou tput/index. html • W 3 C Recommendation – http: //www. w 3. org/TR/xslt
XSLT Näide 1 • http: //www. zvon. org/xxl/XSLTutoria l/Output/example 1_ch 1. html
Milleks kasutatakse? • Andmete konverteerimiseks erinevate XML Schema-de vahel (meie kasutame samuti). • XML andmete HTML-ks või XHTML-ks konverteerimiseks (näide 1). • XML andmete tavaliseks tekstiks või PDFks või mõneks muuks dokumendiks konverteerimiseks.
Tunninäide • Lähte XML – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/raam atupood. Example. xml • Oodatav tulemus XML – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/book store. Example. xml • Vajalikud transformatsioonid (XSLT) – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/raam atupood. Example 2 bookstore. Example. xslt
Tunninäide: Lähte XML <? xml version="1. 0" encoding="UTF-8"? > <raamatupood> <raamat> <pealkiri>Everyday Italian</pealkiri> <autorid> <autor> Giada De Laurentiis </autor> </autorid> <hind>30. 00</hind> </raamatupood>
Tunninäide: Oodatav tulemus XML <? xml version="1. 0" encoding="UTF-8"? > <bookstore xmlns="http: //www. ttu. ee/bookstore" xmlns: xs="http: //www. w 3. org/2001/XMLSchema" xmlns: xsi="http: //www. w 3. org/2001/XMLSchemainstance"> <book> <title>Everyday Italian</title> <author>Giada De Laurentiis</author> <price>30. 00</price> </bookstore>
Tunninäide: vajalikud teisendused <? xml version="1. 0" encoding="UTF-8"? > <xsl: stylesheet version="2. 0" xmlns=" http: //www. ttu. ee/bookstore " xmlns: xsl="http: //www. w 3. org/1999/XSL/Transform" xmlns: xs="http: //www. w 3. org/2001/XMLSchema" xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance"> <xsl: output method="xml" version="1. 0" encoding="UTF-8" indent="yes"/> <xsl: template match="/"> <bookstore> <book> <title> <xsl: value-of select="raamatupood/raamat/pealkiri"/> </title> <author> <xsl: value-of select="raamatupood/raamat/autorid/autor"/> </author> <price> <xsl: value-of select="raamatupood/raamat/hind"/> </price> </bookstore> </xsl: template> </xsl: stylesheet>
Üks online XSLT protsessor tunnis kirjutatud transformatsioonide proovimiseks • http: //xslt. sitesfree. com/
XSLT protsessorid • XSLT protsessorid võivad olla kliendi- või serveripoolsed. • Mitmetesse JAVA ja. NET-i jt raamistikesse on XSLT protsessorid juba sisse ehitatud.
Raamatupood XSD http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/raamatupood. xsd
Bookstore XSD http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/bookstore. xsd
Ülesanne 1 • Lähte XML: – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/yl 1 Ra amatupood. xml • Oodatav tulemus XML: – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/yl 1 Bo okstore. xml • Palun kirjutage vajalikud transformatsioonid (XSLT), mis lähte XML-i teisendaks oodatavaks tulemus XML-ks. • Vihjed: – Atribuut category võtke raamatu elemendist kategooria – Atribuut lang võtke raamatu elemendist keel
Ülesanne 2 • Lähte XML: – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/raam atupood. xml • Oodatav tulemus XML: – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/yl 2 Bo okstore. xml • Palun kirjutage vajalikud transformatsioonid (XSLT), mis lähte XML-i teisendaks oodatavaks tulemus XML-ks. • Vihjed: – Elemendi author väärtus moodustage raamatu autori ees- ja perenimest – Raamatu autoreid võib olla rohkem kui üks.
Ülesanne 3 • Lähte XML: – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/raamatupoo d. xml • Oodatav tulemus XML: – http: //elrond. tud. ttu. ee/material/treier/idu 0110/2008/h 6_xslt/bookstore. x ml • Palun kirjutage vajalikud transformatsioonid (XSLT), mis lähte XML-i teisendaks oodatavaks tulemus XML-ks. • Vihjed: – Elemendile bookstore on lisatud atribuut Date. Time, mis on transformeerimise hetke kuupäev ja kellaaeg. – author-id on perenime järgi tähestikulises järjekorras kasvavalt. – author-i atribuut q tähistab järjekorranumbrit antud book-i author-ite seas.
- Slides: 17