I have the following XML code:
<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>
And the following XSL code:
<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>
After XSL-transformation Course 1 is shown only. But logically Course 2 shall be shown also.
In what error?