У меня есть следующий XML-файл:Серьезное печать из преобразования XSL
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="university_students.css" ?>
<university>
<students>
<student sid="sckl9999">
<name>Schmitt</name>
<firstname>Klaus</firstname>
<courses>
<course cid="IM120">
<grade attempt="1" term="WS13" type="simple">4.7</grade>
<grade attempt="2" term="SS14" type="simple">5.0</grade>
<grade attempt="3" term="WS14" type="simple">1.3</grade>
</course>
<course cid="IM130">
<grade attempt="1" term="SS14" type="complex">2.1</grade>
<course cid="IM131">
<grade attempt="1" term="WS14" type="simple">2.2</grade>
</course>
<course cid="IM132">
<grade attempt="1" term="SS14" type="simple">2.3</grade>
</course>
<course cid="IM133">
<grade attempt="1" term="WS14" type="simple">2.0</grade>
</course>
</course>
<course cid="IM140">
<grade attempt="1" term="WS14" type="simple">1.7</grade>
</course>
</courses>
</student>
<student sid="sckl9999">
<name>Putin</name>
<firstname>Wladimir</firstname>
<courses>
<course cid="IM120">
<grade attempt="1" term="WS14" type="simple">1.7</grade>
</course>
<course cid="IM130">
<grade attempt="1" term="SS14" type="complex">2.3</grade>
<course cid="IM131">
<grade attempt="2" term="WS14" type="simple">2.3</grade>
</course>
<course cid="IM132">
<grade attempt="1" term="SS14" type="simple">2.7</grade>
</course>
<course cid="IM133">
<grade attempt="1" term="WS14" type="simple">2.7</grade>
</course>
</course>
<course cid="IM140">
<grade attempt="1" term="WS14" type="simple">1.7</grade>
</course>
</courses>
</student>
<student sid="sckl9999">
<name>Merkel</name>
<firstname>Angela</firstname>
<courses>
<course cid="IM120">
<grade attempt="1" term="SS14" type="simple">1.0</grade>
</course>
<course cid="IM130">
<grade attempt="1" term="SS14" type="complex">1.1</grade>
<course cid="IM131">
<grade attempt="1" term="WS14" type="simple">1.3</grade>
</course>
<course cid="IM132">
<grade attempt="1" term="SS14" type="simple">2.3</grade>
</course>
<course cid="IM133">
<grade attempt="1" term="WS14" type="simple">1.3</grade>
</course>
</course>
<course cid="IM140">
<grade attempt="1" term="WS14" type="simple">2.0</grade>
</course>
</courses>
</student>
</students>
</university>
И follwoing XSLT в файл:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/">
<html>
<body>
<h2>Following errors were found:</h2>
<xsl:apply-templates/>
</body>
</html>
</xsl:template>
<xsl:template match="grade[@type='simple']">
<xsl:if test="not(.='1.0' or .='1.3' or .='1.7' or .='2.0' or .='2.3' or .='2.7' or .='3.0' or .='3.3' or .='3.7' or .='4.0' or .='4.3' or .='4.7' or .='5.0')">
<h3>
Simple grade <xsl:value-of select="."/> not correct in course <xsl:value-of select="../@cid" /> under term <xsl:value-of select="@term" /> at attempt <xsl:value-of select="@attempt" />.
</h3>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
Этот XSLT должен проверить для любого класса в файле XML до он имеет тип «простой», а затем он должен проверять значение, если оно соответствует утверждению if. Моя проблема в том, что я получаю следующий результат:
Following errors were found:
Schmitt Klaus 2.1
Simple grade 2.2 not correct in course IM131 under term WS14 at attempt 1.
Putin Wladimir 2.3 Merkel Angela 1.1
Третья строка это то, что мне нужно, но почему есть еще вторая и четвертая строка, я действительно не нужен? Я сделал ошибку, и вы можете исправить ее?
Заранее спасибо.