通过两种到HTML的转换在web浏览器中转换XML
我尝试通过两个XSL转换将web浏览器中的XML文档转换为HTML 长话短说:XML=>XML=>HTML 第一个XSL应该向XML添加一些元素, 第二个XSL应该将第一步的结果转换为HTML 我的目标是在最后显示HTML 这两种XSL都是单独转换的通过两种到HTML的转换在web浏览器中转换XML,html,xml,xslt,browser,xslt-1.0,Html,Xml,Xslt,Browser,Xslt 1.0,我尝试通过两个XSL转换将web浏览器中的XML文档转换为HTML 长话短说:XML=>XML=>HTML 第一个XSL应该向XML添加一些元素, 第二个XSL应该将第一步的结果转换为HTML 我的目标是在最后显示HTML 这两种XSL都是单独转换的 在我看来,Safari、Firefox和Chrome不会执行多条处理指令。这是真的,还是我遗漏了什么?我从未尝试在web浏览器中执行两个单独的转换,但您可以尝试使用这种模式在1中执行2个转换这只适用于XSLT 2.0,这是可变结构的原因: <
在我看来,Safari、Firefox和Chrome不会执行多条处理指令。这是真的,还是我遗漏了什么?我从未尝试在web浏览器中执行两个单独的转换,但您可以尝试使用这种模式在1中执行2个转换这只适用于XSLT 2.0,这是可变结构的原因:
<xsl:template match="/">
<!-- You use a variable to store the result of the first transformation.-->
<xsl:variable name="result1">
<!-- You use a mode called transform1 (or whatever) to distinct templates for
transform1 from those of transform2-->
<xsl:apply-templates select="*" mode="transform1"/>
</xsl:variable>
<!-- You execute the second transform on the result variable (you could use a
mode to formally distinct the template from transform2, or you could use default
mode for them) -->
<xsl:apply-templates select="$result1"/>
我不认为可以这样链接两个样式表,正确的方法是让第一个样式表使用第二个处理指令生成XML文档。但据我记忆所及,在使用Chrome渲染引擎之前,只有旧版本的Opera支持这种链接转换。因此,目前您所能做的就是使用脚本来运行转换:。不幸的是,您是对的。没有办法用这种方式把它拴起来。谢谢。使用代替,否则match=/template会无限期地调用自身。不幸的是,web浏览器中很少支持XSLT 2.0;。谢谢。