子ノードのテキストを表示せずに、特定のノードのテキストを表示する必要があります。私は、子ノードの空のテンプレートを作成することでこれを処理しようとしましたが、うまくいきませんでした。子ノードのテキストを抑制する方法は?ここでXSLTにいくつかのテキストノードを表示するにはどうすればいいですか?
はXMLである:ここでは
<?xml version="1.0" encoding="UTF-8"?>
<document>
<item name="The Item">
<richtext>
<pardef/>
<par def="20">
<run>This text should </run>
<run>be displayed.
<popup><popuptext>This text should not be displayed.</popuptext></popup>
</run>
</par>
</richtext>
</item>
</document>
は私のスタイルシートです:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output indent="yes" method="html"/>
<xsl:template match="/*">
<html>
<body>
<table border="1">
<xsl:apply-templates/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="item">
<tr>
<td><xsl:value-of select="@name"/></td>
<td>
<xsl:apply-templates/>
</td>
</tr>
</xsl:template>
<xsl:template match="run">
<xsl:value-of select="." separator=""/>
</xsl:template>
<xsl:template match="popuptext" />
</xsl:stylesheet>