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

javascript处理xsl中的document()方法问题,javascript,xml,webkit,xmlhttprequest,xslt,Javascript,Xml,Webkit,Xmlhttprequest,Xslt,我的问题是,当我使用javascript进行xslt处理时,WebKit无法处理xslt文档方法。当我在xml中包含xsl文件并从浏览器调用xml文件时,它就可以工作了。但当我使用javascript处理这个过程时,它崩溃了。我必须使用javascript将参数传递给xsl文件。所以我不能没有javascript。 这里是html部分 <html> <head> <script language="javascript" src="./js/jquerymi

我的问题是,当我使用javascript进行xslt处理时,WebKit无法处理xslt文档方法。当我在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文件时,它起作用

这是虫子还是我错过了什么

谢谢

编辑:这是我使用的jquery插件。顺便说一下,firefox和opera等其他浏览器可以非常完美地处理这两种方式,要使用XSLT处理文档,您需要使用转换插件的服务器端,要使用XSLT处理文档,您需要使用转换插件的服务器端

我一直在等待WebKit团队修复这个bug,这已经有相当长的一段时间了,它从2007年年中开始开放

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

我一直在等待WebKit团队修复这个bug,这已经有相当长的一段时间了,它从2007年年中开始开放


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

@savruk:唯一的解决方法是将文档作为参数传递。@Alejandro我可以在这个参数上应用xpath吗?因为我从javascript传递文档。假设我使用xsl:value of select=$xsdfile时,它会显示xsd文件的内容。但是我不能像$xsdfile/xs:schema/child::*@savruk那样对其应用xpath:如果是这样,那么您就没有传递节点集参数。也许是一根绳子?查看XSLT处理器文档,了解如何将节点集作为参数传递。@Alejandro没有区别。我可以作为节点集发送。但同样,它在WebKit上不起作用。当我使用它时,它会在webkit上打印[object Document],而不会在其他网站上打印任何内容。但当我使用它时,它会在其他人身上给出预期的输出,而不是在其他人身上WebKit@savruk:如果XPath表达式更精确地表示/operator对其他表达式起作用,则表示您正在为其他表达式传递节点集。如果XML模式文档没有文本节点,那么正确的字符串值将是空字符串,而不会是[对象文档]除非Webkit将参数强制转换为字符串,并且对文档对象的操作会产生这样的字符串。@savruk:唯一的解决方法是将文档作为参数传递。@Alejandro我可以对这个参数应用xpath吗?因为我从javascript传递文档。假设我使用xsl:value of select=$xsdfile时,它会显示xsd文件的内容。但是我不能像$xsdfile/xs:schema/child::*@savruk那样对其应用xpath:如果是这样,那么您就没有传递节点集参数。也许是一根绳子?查看XSLT处理器文档,了解如何将节点集作为参数传递。@Alejandro没有区别。我可以作为节点集发送。但同样,它在WebKit上不起作用。当我使用它时,它会在webkit上打印[object Document],而不会在其他网站上打印任何内容。但当我使用它时,它会在其他人身上给出预期的输出,而不是在其他人身上WebKit@savruk:如果XPath表达式更精确地表示/operator对其他表达式起作用,则表示您正在为其他表达式传递节点集。如果XML模式文档没有文本节点,那么正确的字符串值将是空字符串,而永远不会是[object document],除非Webkit将参数强制转换为字符串,并且对文档对象的操作会产生这样的字符串。