javascript XSLT中的getNode.transformNode beahaviour

时间:2017-06-22 07:46:36

标签: javascript html xml xslt

transformNode存在问题。我无法理解这种行为。 在IE中我有我正在做的代码

innerListing.innerHTML = getNode(listSource.documentElement,"/OBJECTS_LIST/VECTOR_OBJECT[@name='List']").transformNode(document.XSLDocument);

我的XSL文档有两个模板。

</xsl:stylesheet>
<xsl:template match="/">
…
</xsl:template>
<xsl:template match="VECTOR_OBJECT[@name='List']">
…
</xsl:template>
</xsl:stylesheet>

我的XML是一个大文档,其他节点也与VECTOR_OBJECT[@name='List']

一起

一旦我执行了上面的transformnode,它只是在IE中应用第二个模板,这是正确的,但为什么不执行与根节点匹配的第一个模板。

要在chrome中执行相同操作,我这样做:

document.XSLDocument=xslDocInv.responseXML;
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(document.XSLDocument);
html = xsltProcessor.transformToDocument(listSource.documentElement);

但在这种情况下,两个模板都在应用。我想在IE和Chrome中使用相同的功能。

请避免语法错误。我给出了一个简化的例子。

0 个答案:

没有答案