system-property() 関数 |
関数のパラメータによって名前が付けられるシステムプロパティの値を返します。
説明
定義により、すべての XSLT プロセッサは次の 3 つのシステムプロパティをサポートする必要があります。 xsl:version この XSLT プロセッサによって実装された XSLT のバージョンを表す浮動小数点数。現時点では、XSLT プロセッサによってサポートされている XSLT の唯一の正式なバージョンは 1.0 です。 xsl:vendor この XSLT プロセッサのベンダーを識別する文字列。 xsl:vendor-url XSLT プロセッサのベンダーを識別する URL を含む文字列。この文字列は、通常はベンダーの Web サイトのホームページになります。
入力
XSLT 1.0 仕様では、xsl:version、xsl:vendor、および xsl:vendor-url の 3 つのプロパティが定義されています。これらのプロパティは、すべての XSLT プロセッサがサポートする必要があります。その他のプロパティは個別のプロセッサでサポートされている場合があります。詳細については、プロセッサのマニュアルを参照してください。
出力
クエリーしたプロパティの値。
定義先
XSLT 12.4 節「Miscellaneous Additional Functions」
例
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>
Xalan XSLT プロセッサを使用して任意の XML ドキュメントに対してスタイルシートを適用した場合 (次のコマンドによって呼び出し) の例を次に示します。
    java org.apache.xalan.xslt.Process -in test1.xml -xsl systemproperties.xsl
結果は次のとおりです。
    xsl:version = "1"
    xsl:vendor = "Apache Software Foundation"
    xsl:vendor-url = "http://xml.apache.org/xalan"
次のコマンドは、Michael Kay 氏の Saxon プロセッサによる結果を呼び出します。
    java com.icl.saxon.StyleSheet test1.xml systemproperties.xsl
結果は次のとおりです。
    xsl:version = "1"
    xsl:vendor = "SAXON 6.4.3 from Michael Kay"
    xsl:vendor-url = "http://saxon.sourceforge.net"
Oracle の XML パーサーを次のように呼び出しました。
    java oracle.xml.parser.v2.oraxsl test1.xml systemproperties.xsl
結果は次のとおりです。
    xsl:version = "1"
    xsl:vendor = "Oracle Corporation."
    xsl:vendor-url = "http://www.oracle.com"
James Clark 氏の XT プロセッサを次のように呼び出しました。
    java com.jclark.xsl.sax.Driver test1.xml systemproperties.xsl
結果は次のとおりです。
    xsl:version = "1"
    xsl:vendor = "James Clark"
    xsl:vendor-url = "http://www.jclark.com/"
最後に、Microsoft の XSLT プロセッサを次のように呼び出しました。
    msxsl test1.xml systemproperties.xsl
結果は次のとおりです。
    xsl:version = "1"
    xsl:vendor = "Microsoft"
    xsl:vendor-url = "http://www.microsoft.com"