Udvidelser | .xsl, .xslt |
---|---|
MIME-type | application/xslt+xml, text/xsl |
Udviklet af | World Wide Web Consortium |
Formattype | Stilark sprog |
Baseret på | Udvideligt markup-sprog |
Standard |
1.0 (henstilling af 16. november 1999) , |
Websteder |
www.w3.org/TR/xslt www.w3.org/TR/xslt20 www.w3.org/standards/xml/transformation |
XSLT ( eXtensible Stylesheet Language Transformations ), defineret inden for XSL- anbefaling af W3C , er et funktionelt type XML-transformationssprog . Især tillader det, at et XML- dokument omdannes til et andet format, såsom PDF eller endda HTML, der kan vises som en webside .
Hovedformålet er transformation af et XML- dokument til et andet skema eller format ( XHTML , XSL-FO , HTML osv.). Imidlertid tillader XSLT-sproget også transformation til enhver anden type dokument i tekstformat eller i binært format (selvom dette ikke er indbygget i XSLT-henstillingen). Med to indgange, et XML-dokument til transformation og et XSLT-dokument, producerer en XSLT-parser ( XSLT-processor ) en outputfil i det ønskede format.
XSLT er afhængig af XPath (en anden del af XSL-henstillingen) for at betegne en del af et XML-træ. I praksis udtrykkes XSLT-sproget selv i form af et XML-dokument:
<?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="person"> <name username="{@username}"> <xsl:value-of select="name" /> </name> </xsl:template> </xsl:stylesheet>Et af hovedfunktionerne er, at det er data-centreret. En XSLT skal være baseret på en XML, det er et obligatorisk par, og du kan kun oprette i XSLT-sløjfer, der krydser data valgt af XPath .
Indtast XML-fil <?xml version="1.0" ?> <persons> <person username="JS1"> <name>John</name> <family-name>Smith</family-name> </person> <person username="MI1"> <name>Morka</name> <family-name>Ismincius</family-name> </person> </persons> |
+ |
XSLT-typografiark <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/persons"> <root> <xsl:apply-templates select="person"/> </root> </xsl:template> <xsl:template match="person"> <name username="{@username}"> <xsl:value-of select="name" /> </name> </xsl:template> </xsl:stylesheet> |
⇒ | ||
XML-resultatfil <?xml version="1.0" encoding="UTF-8"?> <root> <name username="JS1">John</name> <name username="MI1">Morka</name> </root> |