XSL (e X tensible S tylesheet Language ) on W3C-konsortion suositusperhe, joka kuvaa kieliä XML - dokumenttien muuntamiseen ja hahmontamiseen . Koostuu kolmesta osasta:
XSL:n avulla voit muuntaa XML - dokumentin mihin tahansa muotoon, olipa se sitten HTML , WML , RTF , PDF , SQL tai jopa SWF (flash runner) tai XSL. XSL sisältää tietoa siitä, miten asiakirja muotoillaan, missä ja miten tiedot tulisi sijoittaa.
Jotta XML-dokumenttia voidaan käsitellä XSL:llä, on XML-dokumenttiin kirjoitettava seuraava lauseke:
<?xml-stylesheet type="text/xsl" href="my-style.xsl"?>XSLT - kieli koostuu 35 lauseesta, joilla kaikilla on yhteinen muoto:
<prefix:käskyn_nimi [ attribuutti= "arvo" [ attribuutti= "arvo" ]] > </prefix:käskyn_nimi> ,jossa префиксon yleensä "xsl", mutta muitakin voidaan käyttää.
XSLT-dokumentti on aina hyvin muotoiltu ( tai kelvollinen ) XML-dokumentti ja sillä on seuraava rakenne:
<?xml version="1.0"?> <xsl:stylesheet version= "1.0" xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" > <xsl:template match= "/" > <!-- käskysarja --> </xsl:template> <!-- ... --> </xsl:stylesheet>xsl:stylesheeton minkä tahansa XSL-asiakirjan juurielementti. Se voi sisäistää ylätason tunnisteita ( xsl:transformon vanhentunut synonyymi sanalle xsl:stylesheet).
Tällä hetkellä saatavilla oleva XSLT-prosessori Microsoft Windowsille on MSXML (toimitettu Internet Explorerin kanssa versiosta 4.5 lähtien), GNU -pohjaisissa järjestelmissä se on xsltproc.
Esimerkki XSL-FO- asiakirjasta (otettu XSL-muotoiluobjektien opetusohjelmasta ):
<?xml version="1.0" encoding="iso-8859-1"?> <fo:root xmlns:fo= "http://www.w3.org/1999/XSL/Format" > <fo:layout-master-set> <fo:simple-page-master master-name= "oma- page" > <fo:region-body margin= "1in" /> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference= "oma-sivu" > <fo:flow flow-name= "xsl-region-body" > <fo:block> Hei maailma! </fo:block> </fo:flow> </fo:page-sequence> </fo:root>XML:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="for.xsl"?> <root/>for.xsl:
<?xml version="1.0"?> <xsl:stylesheet version= "1.0" xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" > <xsl:template match= "root" > <HTML> <BODY> <xsl:call-template name= "for" > <xsl:with-param name= "i" select= "1" /> <xsl:with-param name= "n" select= "5" /> </xsl:call-template> </BODY> </HTML> </xsl:template> <xsl:template name= "for" > <xsl:paramname = "i" /> <xsl:paramname = "n" /> <xsl:value-of select= "$i" /> <xsl:if test= "$i < $n" > <xsl:text> , </xsl:text> <xsl:call-template name= "for" > <xsl:with-param name= "i" select= "$i+1" /> <xsl:with-param name= "n" select= "$n" /> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet>Tulos:
1, 2, 3, 4, 5
XML:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="years.xsl"?> <juuri> <object year= "2003" /> <object year= "2001" /> <objektin vuosi= "2005" /> <objektin vuosi= "2005" /> <objektin vuosi= "2003" /> <objektin vuosi= "2006" /> <objektin vuosi= "2006" /> <objektin vuosi = "2006" /> <object year= "2005" /> <object year= "2001" /> </root>vuotta.xsl:
<?xml version="1.0"?> <xsl:stylesheet version= "1.0" xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" > <xsl:key name= "years" match= "/root/object" use= "@year" /> <xsl:template match= "root" priority= "-1" > <HTML> <BODY> <xsl:for-each select= "object[generate" -id()=generate-id(key('years',@year))]" > <xsl:sort select= "@year" order= "laskeva" /> <xsl:value-of select= "@vuosi " /> <xsl:if test= "position()!=last()" > <xsl:text> , </xsl:text> </xsl:if> </xsl:for-each> </BODY> </HTML> </xsl:template> </xsl:stylesheet>Tulos:
2006, 2005, 2003, 2001
XSL | |
---|---|
Tyylisivujen kielet ( vertaa , luettelo ) | |
---|---|
Tilat |
|
Vakio | |
ei-standardi |
|
World Wide Web Consortium (W3C) | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Tuotteet ja standardit |
| ||||||||||||||
Organisaatiot |
| ||||||||||||||
PÄÄLLÄ |
| ||||||||||||||
Konferenssit |
|