我想使用firebug进行调试并帮助快速完成一些XSLT布局问题,但是我无法获得以下代码来执行并在Firefox中显示客户端XSLT(在IE中一切都很好):
$().ready(function() {
var oXMLHTTP
var oXSLT
if ($.browser.mozilla){
oXMLHTTP = document.implementation.createDocument("","",null);
oXSLT = document.implementation.createDocument("","",null);
}else{
oXMLHTTP = new ActiveXObject("Microsoft.XMLDOM");
oXSLT = new ActiveXObject("Microsoft.XMLDOM");
}
oXMLHTTP.async = false;
oXSLT.async = false;
oXSLT.load('Layout.xslt');
var sURL = "somepage"
/**/
$.get(sURL,function(data){
var sTranformedXML = "";
if ($.browser.mozilla){
oXMLHTTP.load(data);
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(oXSLT);
var mDoc = document.implementation.createDocument("","",null);
sTranformedXML = xsltProcessor.transformToFragment(oXMLHTTP,mDoc);
}else{
oXMLHTTP.loadXML(data);
sTranformedXML = oXMLHTTP.transformNode(oXSLT)
}
$("#main").html(sTranformedXML);
$("#tbl_Not Grouped").insertAfter("tbl_Social Sciences");
})// $.get
})
我在这里忽略了什么吗?
我真的只需要Firefox代码测试。所以,它不需要漂亮。
答案 0 :(得分:1)
已知Gecko的XSL-T实现错误地处理默认命名空间。尝试在XML文档中添加前缀元素和/或在XSL文档中的XPath查询中添加前缀元素(不要忘记绑定新前缀)
答案 1 :(得分:1)
这本身并没有真正回答你的问题,但是你可以考虑看看谷歌AJAXSLT,它包含各种浏览器的功能并“填补空白:”link