javascript - javascript处理xsl时的document()方法问题

标签 javascript xml webkit xmlhttprequest xslt

我的问题是当我使用 javascript 进行 xslt 处理时,WebKit 无法处理 xslt document() 方法。当我在 xml 中包含 xsl 文件并从浏览器调用 xml 文件时,它可以工作。但是当我使用 javascript 来处理这个过程时,它崩溃了。我必须使用 javascript 将参数传递给 xsl 文件。所以我的生活离不开javascript。 这是html部分。

<html>
<head>
    <script language="javascript" src="./js/jquerymin.js"></script>
    <script language="javascript" src="./js/jquery.transform.js"></script>
<script>

$(document).ready(function(){
    $("#example").transform({xml:"sample.xml", xsl:"sample.xsl", xslParams:{scan:'system',sub:'lan'}});
});
</script>
</head>
<body >
<div id="example" ></div>
</body>
</html>

这是基本的 xsl 文件,使用这种方法会崩溃:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:nsm="http://xxxxx.com/yyyyy/system"
                xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xsl:param name="scan" select="'system'"/>
<xsl:param name="sub" select="'lan'"/>

<xsl:output method="html"/>  

<xsl:template match="/">
        <xsl:variable name="xsdFile" select="document('sample.xsd')"/>
        <xsl:for-each select="$xsdFile">
               ssss
        </xsl:for-each>
</xsl:template>

</xsl:stylesheet>

正如我所说,当我让 javascript 进行转换时它不起作用。但是当我从浏览器调用 xml 文件时它起作用。

这是一个错误还是我错过了一些东西?

谢谢

编辑:http://plugins.jquery.com/project/Transform这是我使用的jquery插件。顺便说一句,其他浏览器(例如 firefox 和 opera)可以非常完美地处理这两种方式

最佳答案

Bug 14101 - XSLTProcessor does not accept Nodes as parameter values

我等待 WebKit 团队修复这个 bug 已经有一段时间了(它从 2007 年中就已经开放)。

如果有人知道加快此修复的方法,请插话。

关于javascript - javascript处理xsl时的document()方法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5312179/

相关文章:

javascript - 将值设置为 true 时,复选框不显示已选中

javascript - while 循环使用谷歌图表

java - 如何减少 Android 按钮对象中文本周围的内部填充?

java - 比 javax.xml.xpath 更快的 api 来解析 xml 的值?

javascript - 在 JavaScript 中访问 -webkit- vendor 前缀

javascript - 将 h2 的值更改为其文本

javascript - 为什么我们需要 force.on ('tick' .. 在 d3

java - dbUnit dtd 错误 : The declaration for element type "dataset" must end with '>'

audio - HTML5 <audio> Safari 直播 vs 不直播

ios - UITableViewCell 中的 Swift WebKitView - Cell 每次出现在屏幕上时都会重新加载 webkit View