Mozilla客户端XSLT无法显示。 (也使用jQuery)

时间:2008-12-31 16:19:24

标签: javascript jquery firefox xslt

我想使用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代码测试。所以,它不需要漂亮。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

这本身并没有真正回答你的问题,但是你可以考虑看看谷歌AJAXSLT,它包含各种浏览器的功能并“填补空白:”link