Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过两种到HTML的转换在web浏览器中转换XML_Html_Xml_Xslt_Browser_Xslt 1.0 - Fatal编程技术网

通过两种到HTML的转换在web浏览器中转换XML

通过两种到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,这是可变结构的原因: <

我尝试通过两个XSL转换将web浏览器中的XML文档转换为HTML

长话短说:XML=>XML=>HTML

第一个XSL应该向XML添加一些元素, 第二个XSL应该将第一步的结果转换为HTML

我的目标是在最后显示HTML

这两种XSL都是单独转换的


在我看来,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;。谢谢。