XSLT
programmeringssprog From Wikipedia, the free encyclopedia
Remove ads
XSLT, Extensible Stylesheet Language Transformations er et XML-baseret sprog til transformering af XML-dokumenter og en del af W3C-standarden XSL.
XSLT 1.0 blev en W3C web standard den 16. november 1999, XSLT 2.0 den 23. januar 2007 og XSLT 3.0 den 8. juni 2017.
Eksempler
Disse eksempler bruger følgende indgående XML-dokument:
<?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>
Eksempel 1 (transformering fra XML til XML)
Dette XSLT-stilark indeholder skabeloner til at transformere XML-dokumentet:
<?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>
Evalueringen resulterer i et nyt XML-dokument med en anden struktur:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name username="JS1">John</name>
<name username="MI1">Morka</name>
</root>
Eksempel 2 (transformering fra XML til XHTML)
Dette XSLT-stilark indeholder skabeloner til at transformere XML-dokumentet:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="/persons">
<html>
<head> <title>Testing XML Example</title> </head>
<body>
<h1>Persons</h1>
<ul>
<xsl:apply-templates select="person">
<xsl:sort select="family-name" />
</xsl:apply-templates>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="person">
<li>
<xsl:value-of select="family-name"/><xsl:text>, </xsl:text><xsl:value-of select="name"/>
</li>
</xsl:template>
</xsl:stylesheet>
Med XML-inputfilen vist ovenfor resulterer det i følgende XHTML (Whitespace-tegn) er justeret her for klarhedens skyld):
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head> <title>Testing XML Example</title> </head>
<body>
<h1>Persons</h1>
<ul>
<li>Ismincius, Morka</li>
<li>Smith, John</li>
</ul>
</body>
</html>
Denne XHTML genererer outputtet nedenfor, når den gengives i en webbrowser.

For at en webbrowser kan anvende en XSL-transformation på et XML-dokument, der vises, kan en XML-stilarkbehandlingsinstruktion indsættes i XML. Så hvis stylesheetet i eksempel 2 ovenfor fx var tilgængeligt som "example2.xsl", kunne følgende instruktion tilføjes til den oprindelige indgående XML:[1]
<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>
I dette eksempel er text/xsl teknisk set forkert i henhold til W3C-specifikationerne[1] (som siger, at typen skal være application/xslt+xml), men det er den eneste medietype, der er bredt understøttet på tværs af browsere fra 2009, og situationen er uændret i 2021.
Remove ads
Referencer
Eksterne henvisninger
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads