初学者 - 使用XSLT进行XML到XML的转换

时间:2011-10-26 07:22:28

标签: xml xslt

我是XSLT的新手,并尝试了一些示例应用程序,我找到了关于XML到HTML和XML到XML转换的示例,但我在使用XSLT进行XML到XML转换时遇到了问题。

这是我的源XML:

<?xml-stylesheet type="text/xsl" ref="articale.xsl"?>
<article>
  <title>the title</title>
  <para>a para para para para para</para>
</article>

这是我的XSLT:

<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org 1999/XSL/Transform">
  <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>

  <xsl:template match="article">
    <foo><xsl:apply-templates/></foo>
  </xsl:template>

  <xsl:template match="title">
    <foo.title><xsl:apply-templates/></foo.title>
  </xsl:template>

  <xsl:template match="para">
    <foo.para><xsl:apply-templates/></foo.para>
  </xsl:template>
</xsl:stylesheet> 

但是这会产生如下的纯文本:

the title a para para para para para 

有人可以帮忙解决这个问题。

我遵循的步骤:

  1. 创建了XSL文件。
  2. 将XSLT文件包含在首先出现的源XML中。
  3. 在浏览器中访问此内容。
  4. 如果我错误地执行了这个XML,请纠正我。

1 个答案:

答案 0 :(得分:0)

浏览器中的XSLT转换引擎假设您要生成HTML,然后它们呈现HTML。如果您的输出是XML,并且包含对浏览器毫无意义的标记,则浏览器中的呈现引擎通常会忽略它们。

如果您正在尝试熟悉XSLT并发挥其功能,那么浏览器不是一个非常好的游乐场。它“呈现”输出,而不是“按原样”显示输出,并且大多数浏览器在出错时提供明确的错误消息非常糟糕。让自己像氧气一样使用IDE,或者如果你想要便宜又开朗的东西,可以试试KernowForSaxon。或者如果您对它感到满意,只需使用命令行。