私はXMLとXSLTファイルからXHTMLを作成しようとしています。要素の2つの値がセルをマージした場合、XSLT?
2つ以上のXML要素の値がテーブル内の他の要素と一致するかどうかをテストしたい場合、そのセルを結果のXHTMLファイルにマージする必要があります。
簡潔にするために、単純なw3schoolsの例を使用します。 (より多くの人々がstackoverflowでこれを行う必要があります)。ここで
はXMLである:ここでは
<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
</cd>
<cd>
<title>Empire Burlesque</title>
<artist>Bonnie Tyler</artist>
</cd>
<cd>
<title>Empire Burlesque</title>
<artist>Mr G</artist>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
</cd>
</catalog>
はXSLTです:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<xsl:choose>
<xsl:when test="count(title) %gr 2">
<td rowspan="2"><xsl:value-of select="title"/></td>
</xsl:when>
<xsl:otherwise>
<td><xsl:value-of select="title"/></td>
</xsl:otherwise>
</xsl:choose>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
間違っているXSLTでの2つの要素がある:TESTとROWSPAN。
タイトルに複数のインスタンスがあるかどうかをテストするにはどうすればよいですか? (この場合はエンパイア・バーレスクで)
私は
3 ROWSPAN NOTEで(その出力はエンパイア・バーレスクを言う一つのセルである)、その場合には、これら二つのセルをマージするプログラムに伝えるにはどうすればよい
:テスト= 'エンパイア・バーレスク'を私に教えてください。私はどこにそれらを追加する場合は、他の繰り返しのインスタンスのために働くしたい。ありがとう。
を試してみてくださいだろう見るために(2.0ではかなり簡単です!)そのため、ターゲットとするバージョンを教えてください。 –