У меня есть следующий XML код:XML/XSLT - XSL: ключ CONCAT
<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? –
Я использую XSLT 1.0 – ollazarev