XSLTます。<xsl:key>要素
定義と使用法
ます。<xsl:key>要素は、先頭要素(トップレベルの要素)であり、それは(名前と値のペアが割り当てられていることは、XML文書の要素で指定されている)という名前のキーを宣言することができます。 スタイルシートのキー()関数でキーを効果的にあなたを助ける複雑なXML文書にアクセス要素を割り当てるために使用されます。
注:キーはユニークである必要はありません!
文法
<xsl:key
name="name"
match="pattern"
use="expression"/>
name="name"
match="pattern"
use="expression"/>
プロパティ
属性 | 值 | 描述 |
---|---|---|
name | name | 必需。规定键的名称。 |
match | pattern | 必需。定义该键被应用到哪个节点。 |
use | expression | 必需。指定要作为每个节点的键的值使用的表达式。 |
例1
あなたは「persons.xml「XMLファイルを命名していると仮定します。
<persons>
<person name="Tarzan" id="050676"/>
<person name="Donald" id="070754"/>
<person name="Dolly" id="231256"/>
</persons>
<person name="Tarzan" id="050676"/>
<person name="Donald" id="070754"/>
<person name="Dolly" id="231256"/>
</persons>
次のように、XSLファイル内のキーを定義することができます。
<xsl:key name="preg" match="person" use="@id"/>
人でのid = "050676"を検索するには、(XSLファイル内の)コードを使用してください:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="preg" match="person" use="@id"/>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="key('preg','050676')">
<p>
Id: <xsl:value-of select="@id"/><br />
Name: <xsl:value-of select="@name"/>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:key name="preg" match="person" use="@id"/>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="key('preg','050676')">
<p>
Id: <xsl:value-of select="@id"/><br />
Name: <xsl:value-of select="@name"/>
</p>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
完全なXSLT要素のリファレンス・マニュアル