【发布时间】:2014-02-21 18:15:34
【问题描述】:
我有以下 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 也应显示。
什么错误?
【问题讨论】:
-
您使用的是 XSLT 1.0 还是 2.0?