我有以下XML代码:
<training_center>
<course id="XML">
<title>Course 1</title>
<keywords>
<keyword>XML</keyword>
<keyword>XPath</keyword>
</keywords>
<teachers>
<teacher>Nikitin</teacher>
<teacher>Pavlov</teacher>
</teachers>
</course>
<course id="AJAX">
<title>Course 2</title>
<keywords>
<keyword>AJAX</keyword>
<keyword>XML</keyword>
</keywords>
<teachers>
<teacher>Nikitin</teacher>
<teacher>Chebykin</teacher>
</teachers>
</course>
</training_center>
以及以下XSL代码:
<xsl:key
name='concat_key'
match="/training_center/course"
use="concat(teachers/teacher, ':', keywords/keyword)"
/>
<xsl:template match="/">
<xsl:apply-templates select="key('concat_key', concat('Nikitin',':','XML'))" />
</xsl:template>
<xsl:template match="course">
<xsl:element name="course">
<xsl:value-of select="./title" />
</xsl:element>
</xsl:template>
XSL 转换 后课程 1仅显示。但从逻辑上讲,课程 2也应显示。
在什么错误?