XSLT <xsl:key> ÔªËØ
¶¨ÒåºÍÓ÷¨
<xsl:key> ÔªËØÊǶ¥²ãÔªËØ£¬Ëü¿ÉÉùÃ÷Ò»¸öÃüÃûµÄ¼ü£¨¼´Îª XML ÎĵµÖÐÖ¸¶¨µÄÔªËØ·ÖÅäµÄÃû³ÆºÍÖµ¶Ô£©¡£
´Ë¼üͨ¹ý key() º¯ÊýÔÚÑùʽ±íÖÐʹÓ㬰ïÖúÄúÓÐЧµØÔÚ¸´Ô XML ÎĵµÖзÃÎÊ·ÖÅäµÄÔªËØ¡£¡£
×¢ÊÍ£º¼ü²»±ØÊÇΨһµÄ£¡
Óï·¨
<xsl:key 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>
Äú¿ÉÒÔÔÚ XSL ÎļþÖж¨ÒåÒ»¸ö¼ü£¬¾ÍÏñÕâÑù£º
<xsl:key name="preg" match="person" use="@id"/>
ÈçÐèÕÒµ½ id="050676" µÄ person£¬ÇëʹÓÃÕâЩ´úÂ루ÔÚ 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>