使用XSL样式表转换XML

时间:2012-03-16 11:20:29

标签: xml xslt

我正在开发一个应用程序,我需要转换如下所示的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中更改什么?

2 个答案:

答案 0 :(得分:2)

我猜......它输出的是ID而不是值。

你可能想要:

<td><xsl:value-of select="."/></td> 

<td><xsl:value-of select="text()"/></td> 

答案 1 :(得分:1)

样式表缺少开头<xsl:stylesheet元素。