Was ist das XSL-Dateiformat?
Eine .xsl-Datei ist ein XSLT-Stylesheet - ein XML-Dokument im Klartext, das in der Sprache XSLT geschriebene Transformationsregeln enthält. XSLT (Extensible Stylesheet Language Transformations) wurde im November 1999 vom W3C standardisiert; die aktuelle Version, XSLT 3.0, erschien 2017. Das Stylesheet ist weder ein Datensatz noch ein fertiges Dokument: Es ist ein Programm, das ein XSLT-Prozessor auf eine XML-Eingabedatei anwendet, um HTML, Klartext oder eine andere XML-Ausgabe zu erzeugen.
Innerhalb einer .xsl-Datei ist das Wurzelelement <xsl:stylesheet> oder <xsl:transform>, deklariert im Namensraum http://www.w3.org/1999/XSL/Transform. Template-Regeln (<xsl:template match="...">) wählen Knoten aus dem Quellbaum aus; Ausgabebefehle wie <xsl:value-of>, <xsl:for-each> und <xsl:apply-templates> bauen das Ergebnis auf. Das version-Attribut im Wurzelelement - 1.0, 2.0 oder 3.0 - teilt dem Prozessor mit, welche Sprachebene anzuwenden ist.
.xsl und .xslt beziehen sich auf dieselbe Art von Datei; .xsl ist die ältere Schreibweise aus der XSLT 1.0-Ära, während .xslt mit XSLT 2.0 und 3.0 gebräuchlicher wurde. Historisch deckte die Endung .xsl auch XSL-FO (Formatting Objects für die PDF-Ausgabe) ab, einen separaten Zweig der XSL-Familie, der heute mit .fo-Dateien assoziiert wird.
Häufige Anwendungen sind das Konvertieren von XML-Datenfeeds in lesbare Webseiten, das Transformieren von Konfigurationsdateien zwischen Schemata und das Erzeugen von PDFs über XSL-FO-Prozessoren wie Apache FOP.
Sicherheit
RISIKO: LOWEine .xsl-Datei ist XML im Klartext und enthält keinen kompilierten Code, daher ist das Lesen oder Bearbeiten sicher. Die realistischen Risiken liegen beim PROZESSOR, wenn ein NICHT VERTRAUENSWÜRDIGES Stylesheet oder eine Eingabe ausgeführt wird: XSLT 2.0/3.0 und einige Erweiterungsfunktionen können Dateien lesen/schreiben oder Netzwerkaufrufen oder Netzwerkaufrufe tätigen (document(), unparsed-text(), Erweiterungsfunktionen), und die XML-Verarbeitung kann durch XXE/Entity-Expansion-Angriffe gefährdet sein. Führen Sie daher keine Stylesheets aus nicht vertrauenswürdigen Quellen mit aktivierten Erweiterungen oder externen Entitäten aus. Für einen Endbenutzer, der eine .xsl nur zum Lesen öffnet, besteht keine Gefahr.
Formatdetails
kurz gefasstProgramme zum Öffnen von XSL-Dateien
Technische Details
technische Spezifikation| MIME-Typ | application/xslt+xml (auch akzeptiert: text/xsl, application/xml, text/xml) |
| Dateikodierung | Standardmäßig UTF-8; UTF-16 und andere XML-deklarierte Kodierungen sind zulässig; ein UTF-8 BOM (EF BB BF) kann der XML-Deklaration vorangestellt sein |
| Container-Format | Wohlgeformtes XML-Dokument |
| Wurzelelement | <xsl:stylesheet> oder <xsl:transform> im Namensraum http://www.w3.org/1999/XSL/Transform |
| Versionssignalisierung | version-Attribut im Wurzelelement: 1.0, 2.0 oder 3.0 - wählt die XSLT-Sprachebene aus, die der Prozessor anwendet |
| Dateisignatur (Magic Bytes) | 3C 3F 78 6D 6C («<?xml») bei Offset 0; die definitive Identität erfordert das XSLT-Wurzelelement und den Namensraum, keine feste magische Zahl |
| Typische Dateigröße | 1 KB - 200 KB; große Enterprise-Stylesheets können umfangreicher sein |
| Ausgabemodi | HTML, XHTML, Klartext oder XML - ausgewählt über die Deklaration <xsl:output method="..."> innerhalb des Stylesheets |
| Kernbefehlselemente | <xsl:template>, <xsl:apply-templates>, <xsl:for-each>, <xsl:value-of>, <xsl:if>, <xsl:choose>, <xsl:call-template> |
| XPath-Abhängigkeit | Verwendet XPath-Ausdrücke zur Adressierung und Auswahl von Knoten: XPath 1.0 mit XSLT 1.0, XPath 2.0 mit XSLT 2.0, XPath 3.1 mit XSLT 3.0 |
| Namensraum-URI | http://www.w3.org/1999/XSL/Transform (konventionell an das Präfix xsl: gebunden) |
| Kompression | Keine integrierte; Klartext, kann auf HTTP-Transportebene gzip-komprimiert übertragen werden |
| Prozessor-Unterstützung | xsltproc (libxslt), Saxon (2.0/3.0), Xalan-C/J, MSXML, .NET XslCompiledTransform, integrierte Browser-Engines (XSLT 1.0) |
| Plattformunterstützung | Plattformübergreifend: Windows, macOS, Linux und jede Umgebung mit einem konformen XSLT-Prozessor |
| Standardisierungsgremium | W3C (World Wide Web Consortium) |
| Veröffentlicht | 1999 (XSLT 1.0, W3C Recommendation, November 16, 1999) |
| Neueste Version | XSLT 3.0 (W3C Recommendation, June 8, 2017) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | www.w3.org |
XSL-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu XSL-Dateien.