我正在开发一个应用程序,我需要转换如下所示的XML文档:
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE words SYSTEM "words.dtd">
<words>
<word id="word_1">Alfa</word>
<word id="word_2">Beta</word>
<word id="word_3">Gamma</word>
<word id="word_4">Pi</word>
</words>
使用XSLT样式表。我希望转换的结果是(在这种情况下)Alfa Beta Gamma Pi
,这是我正在使用的XSL:
<?xml version='1.0' encoding='ISO-8859-1'?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:for-each select="words/word">
<tr>
<td><xsl:value-of select="@id"/></td>
<td>
<xsl:attribute name="word">
<xsl:value-of select="@id" />
</xsl:attribute>
</td>
</tr>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
结果不是我要找的那个。我需要在XSLT中更改什么?
答案 0 :(得分:2)
我猜......它输出的是ID而不是值。
你可能想要:
<td><xsl:value-of select="."/></td>
或
<td><xsl:value-of select="text()"/></td>
答案 1 :(得分:1)
样式表缺少开头<xsl:stylesheet
元素。