Fonction system-property() |
Renvoie la valeur de la propriété système nommée par l'argument de la fonction.
Description
Par définition, tous les processeurs XSLT doivent prendre en charge trois propriétés système : xsl:version Un nombre à virgule flottante représentant la version de XSLT implémentée par ce processeur XSLT. Concernant cette rédaction, la seule version officielle de XSLT prise en charge par tous les processeurs XSLT est 1.0. xsl:vendor Une chaîne qui identifie le fournisseur de ce processeur XSLT. xsl:vendor-url Une chaîne contenant l'URL qui permet d'identifier le fournisseur du processeur XSLT. Cette chaîne correspond généralement à la page d'accueil du site web du fournisseur.
Entrées
La spécification XSLT 1.0 définit les trois propriétés suivantes : xsl:version, xsl:vendor et xsl:vendor-url. Ces propriétés doivent être prises en charge par tous les processeurs XSLT. D'autres propriétés peuvent être prises en charge par des processeurs individuels ; voir la documentation de votre processeur pour plus d'informations.
Sortie
La valeur de la propriété demandée.
Définie dans
XSLT section 12.4, Fonctions supplémentaires Divers.
Exemple
La feuille de style suivante demande différentes propriétés du processeur XSLT :
    <?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>
Lorsque la feuille de style est appliquée à un document XML avec le processeur XSLT de Xalan (invoquée par la commande suivante) :
    java org.apache.xalan.xslt.Process -in test1.xml -xsl systemproperties.xsl
Les résultats sont les suivants :
    xsl:version = "1"
    xsl:vendor = "Apache Software Foundation"
    xsl:vendor-url = "http://xml.apache.org/xalan"
La commande suivante invoque les résultats du processeur Saxon de Michael Kay :
    java com.icl.saxon.StyleSheet test1.xml systemproperties.xsl
Les résultats sont les suivants :
    xsl:version = "1"
    xsl:vendor = "SAXON 6.4.3 from Michael Kay"
    xsl:vendor-url = "http://saxon.sourceforge.net"
L'analyseur XML d'Oracle a été invoqué à l'aide de :
    java oracle.xml.parser.v2.oraxsl test1.xml systemproperties.xsl
Les résultats sont les suivants :
    xsl:version = "1"
    xsl:vendor = "Oracle Corporation."
    xsl:vendor-url = "http://www.oracle.com"
Le processeur XT de James Clark a été invoqué à l'aide de :
    java com.jclark.xsl.sax.Driver test1.xml systemproperties.xsl
Les résultats sont les suivants :
    xsl:version = "1"
    xsl:vendor = "James Clark"
    xsl:vendor-url = "http://www.jclark.com/"
Enfin, le processeur XSLT de Microsoft a été invoqué à l'aide de :
    msxsl test1.xml systemproperties.xsl
Les résultats sont les suivants :
    xsl:version = "1"
    xsl:vendor = "Microsoft"
    xsl:vendor-url = "http://www.microsoft.com"