阅读:1938回复:2
求助:为什么firefox下不能正确执行xslt 转换xml为html的问题?
想在文件开头显示一个xslt 转换xml为html的文件,但是用了如下的语句提示有问题,那位高手帮忙指点一下,谢谢
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> convert xsl using javascript - http://www.never-online.net </title> <meta http-equiv="ImageToolbar" content="no" /> <meta name="author" content="never-online, BlueDestiny"/> <meta name="keywords" content="never modules, Mozilla CSS, C#, .net, Refercence, BlueDestiny, never-online"/> <meta name="description" content="BlueDestiny, never-online"/> <meta name="title" content=" - http://www.never-online.net" /> <meta name="creator.name" content="never-online, BlueDestiny" /> <style type="text/css" media="all" title="Default"> .title { margin:10px 10% 0 10%; text-align:center; background-color:#639ACE; padding:10px; color:#fff; } .desc { margin:10px 10% 0 10%; text-align:center; } .box { margin:10px 10% 0 10%; border: 1px dotted #639ACE; padding:20px; } </style> <script type="text/javascript"> //<![CDATA[ //]]> </script> <body id="www.never-online.net"> <div id="demo"></div> <script type="text/javascript"> //<![CDATA[ var xsltParser = function(xmlfileStr, xslfileStr) { var retval = xslStylesheet = xmlDocument = null; var browser = { isIE:!!window.ActiveXObject, isMozilla:(typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined') }; var loadDocument = function (fileStr) { if (!fileStr) throw new Error([65221, "调用XMLHTTP错误,没有指定文件名。"]); var req = browser.isIE?new ActiveXObject("MSXML2.XMLHTTP"):new XMLHttpRequest(); req.open("GET", fileStr, false); req.send(null); if (req.readyState==4 && req.status==200) { return req.responseXML; } else throw new Error([65222, "调用XMLHTTP错误,远程文件失败。"+fileStr+""]); }; var ready2Transform = function () { xmlDocument = loadDocument(xmlfileStr); xslStylesheet = loadDocument(xslfileStr); }(); var parseFromMoz = function () { var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xslStylesheet); var retval = xsltProcessor.transformToDocument(xmlDocument); return (new XMLSerializer()).serializeToString(retval);//序列化 }; var parseFromIE = function () { return xmlDocument.transformNode(xslStylesheet.documentElement); }; if (browser.isMozilla) { retval = parseFromMoz(xmlfileStr, xslfileStr); } else if (browser.isIE) { retval = parseFromIE(xmlfileStr, xslfileStr); } else { /* TO DO */ ;}; return retval; } document.getElementById("demo").innerHTML=xsltParser("foo.xml","foo.xsl") //]]> </script> </body> </html> 我是从这个网址找的,在他那里可以运行,我存下来在我的机器上就不行,郁闷。http://blog.never-online.net/article.asp?id=62 |
|
1楼#
发布于:2006-10-09 20:33
Firefox 对 xml + xslt 的支持确实有问题!
|
|
|
2楼#
发布于:2006-10-09 20:33
提示红字的地方有问题
|
|