現在のXMLは次のとおりです。
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Empire Burlesque</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
<cd>
<title>Still got the blues</title>
<artist>Gary Moore</artist>
<country>UK</country>
<company>Virgin records</company>
<price>10.20</price>
<year>1990</year>
</cd>
</catalog>
現在のXSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited by XMLSpy® -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:variable name="a" select="count(catalog/cd[contains(title,'Empire Burlesque')])"/>
<xsl:for-each select="catalog/cd">
<tr>
<td>
<xsl:choose>
<xsl:when test="$a = '2' and contains(title,'Empire Burlesque') ">
<xsl:text>pass</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="title"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
これから:
pass
Hide your heart
pass
Still got the blues
期待される出力:
Empire Burlesque
Hide your heart
pass
Still got the blues
「エンパイアバーレスク」を繰り返さないでください。代わりに、2回目に「パス」に置き換える必要があります。誰かが私が間違っていたに違いないところを助けてくれませんか?