在将XML转换为HTML时,是否必须使用XSLT模板?

时间:2014-08-24 02:42:28

标签: xml templates xslt

我为提出一个关于XSLT的相对基本的问题而道歉,但我无法在任何地方找到满意的答案。我已经尝试了几个在线教程(包括w3 schools)和Sal Mangano的excellent book

大多数教程和解释建议使用<xsl:template><xsl:apply-templates>将XML转换为HTML。然而,当我做非常简单的换位时,我可以在没有模板的情况下实现我需要的一切,只有这样的东西:

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

这种方法略显冗长,似乎同样有效。但是,我想知道我是否遗漏了一些东西。有什么理由为什么我应该使用模板甚至简单的转换?谢谢。

1 个答案:

答案 0 :(得分:3)

基于规则的转换方法,使用xsl:template和xsl:apply-templates,特别适合于半结构化数据,其中文档之间存在相当大的差异,并且您希望在其中编写代码能够适应您将来遇到的文档中可能发生的变化。如果数据高度结构化,可预测且稳定,那么for-each方法同样有效。但XML主要是针对数据不常规的情况而设计的。