我想使用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代码测试。因此,它不必很漂亮。

最佳答案

已知Gecko的XSL-T实现会错误地处理默认名称空间。尝试为XML文档中的元素添加前缀和/或XSL文档中的XPath查询中的前缀元素(不要忘记绑定新的前缀)

09-13 07:56