system-property()-Funktion |
Diese Funktion gibt den Wert der im Argument genannten Systemeigenschaft zurück.
Beschreibung
Gemäß der Definition müssen alle XSLT-Prozessoren die folgenden drei Systemeigenschaften unterstützen: xsl:version Eine Gleitpunkzahl, die die vom XSLT-Prozessor implementierte XSLT-Version repräsentiert. Momentan ist 1.0 die einzige von XSLT-Prozessoren unterstützte offizielle XSLT-Version. xsl:vendor Ein String, der den Hersteller des XSLT-Prozessors bezeichnet. xsl:vendor-url Ein String mit der URL, die den XSLT-Prozessor-Hersteller identifiziert. Dieser String entspricht in der Regel der Websiteadresse des Herstellers.
Eingaben
Die XSLT-1.0-Spezifikation definiert drei Eigenschaften: xsl:version, xsl:vendor und xsl:vendor-url. Diese Eigenschaften müssen von allen XSLT-Prozessoren unterstützt werden. Von bestimmten Prozessoren mögen auch noch andere Eigenschaften unterstützt werden, schlagen Sie dies in der Dokumentation Ihres XSLT-Prozessors nach.
Ausgabe
Der Wert der abgefragten Eigenschaft.
Definition
XSLT-Abschnitt 12.4, Diverse zusätzliche Funktionen
Beispiel
Es folgt ein Stylesheet, das verschiedene Eigenschaften des XSLT-Prozessors abfragt.
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

      <xsl:output method="text"/>

      <xsl:variable name="newline">
    <xsl:text>
    </xsl:text>
      </xsl:variable>

      <xsl:template match="/">
        <xsl:text>xsl:version = "</xsl:text>
        <xsl:value-of select="system-property('xsl:version')"/>
        <xsl:text>"</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>xsl:vendor = "</xsl:text>
        <xsl:value-of select="system-property('xsl:vendor')"/>
        <xsl:text>"</xsl:text><xsl:value-of select="$newline"/>
        <xsl:text>xsl:vendor-url = "</xsl:text>

        <xsl:value-of select="system-property('xsl:vendor-url')"/>
        <xsl:text>"</xsl:text><xsl:value-of select="$newline"/>
      </xsl:template>

    </xsl:stylesheet>
Das Stylesheet wird über den XSLT-Prozessor Xalan anhand des folgenden Befehls auf ein XML-Dokument angewendet:
    java org.apache.xalan.xslt.Process -in test1.xml -xsl systemproperties.xsl
Die Ergebnisse sind wie folgt:
    xsl:version = "1"
    xsl:vendor = "Apache Software Foundation"
    xsl:vendor-url = "http://xml.apache.org/xalan"
Der folgende Befehl erzeugt die Ergebnisse über Michael Kays XSLT-Prozessor Saxon:
    java com.icl.saxon.StyleSheet test1.xml systemproperties.xsl
Hier die Ergebnisse:
    xsl:version = "1"
    xsl:vendor = "SAXON 6.4.3 from Michael Kay"
    xsl:vendor-url = "http://saxon.sourceforge.net"
Auch Oracles XML-Parser wurde getestet:
    java oracle.xml.parser.v2.oraxsl test1.xml systemproperties.xsl
Hier die Ergebnisse:
    xsl:version = "1"
    xsl:vendor = "Oracle Corporation."
    xsl:vendor-url = "http://www.oracle.com"
Hier der Befehl für James Clarks XSLT-Prozessor XT:
    java com.jclark.xsl.sax.Driver test1.xml systemproperties.xsl
Hier die Ergebnisse:
    xsl:version = "1"
    xsl:vendor = "James Clark"
    xsl:vendor-url = "http://www.jclark.com/"
Schließlich und endlich Microsofts XSLT-Prozessor:
    msxsl test1.xml systemproperties.xsl
Hier die Ergebnisse:
    xsl:version = "1"
    xsl:vendor = "Microsoft"
    xsl:vendor-url = "http://www.microsoft.com"