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中使用相同的功能。
请避免语法错误。我给出了一个简化的例子。