简单的xslt错误:

时间:2014-11-11 17:29:37

标签: javascript internet-explorer xslt

所以,我在IE11中运行以下代码:

var processor = new ActiveXObject("Msxml2.XSLTemplate");
var xslt = new ActiveXObject("MSXML2.FreeThreadedDOMDocument");                 
xslt.load(xsl_str_loc);
processor.stylesheet = xslt;

在第四行,此操作失败,异常为Error: the data necessary to complete this operation is not yet available

我加载的xml是:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes" encoding="UTF-8" />
<xsl:template match="/">
    <D>
     <xsl:for-each select="/D/R">
        <xsl:sort select="C3" data-type="number" order="ascending" />
        <xsl:sort select="C5" data-type="number" order="ascending" />
        <xsl:sort select="C1" data-type="number" order="ascending" />
        <xsl:copy-of select="." />
     </xsl:for-each>
  </D>
</xsl:template>
</xsl:stylesheet>

我已经检查了xslt的readyState,它是4.有没有一种简单的方法可以追踪丢失的资源并等到它被加载?当我将xslt分配给样式表时,为什么会失败?

1 个答案:

答案 0 :(得分:1)

在调用xslt.async = false;方法之前设置load