Safari中没有XSLTProcessor()支持?

cfr*_*ree 3 iphone xslt safari mobile-safari

无论出于何种原因,我无法XSLTProcessor()一直工作.

这是我的JS:

... xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xmlRequest.responseXML);
// Pass variables
xsltProcessor.setParameter(null, "sectionNumber", section);
xsltProcessor.setParameter(null, "entryNumber", elementNo);

// Transform XML using XSL
var resultDocument = xsltProcessor.transformToFragment(phonebookDump,document);
// Append to document
document.getElementById('three').appendChild(resultDocument);
Run Code Online (Sandbox Code Playgroud)

适用于:OSX上的Firefox,OSX上的iPhone模拟器,OSX上的Safari

完全不起作用:iPhone上的Mobile Safari,Windows上的Safari

我错过了什么吗?有解决方法XSLTProcessor()吗?无论如何,服务器端XSLT处理能否更快地进行移动开发?

Dav*_*zzi 7

你的JS代码似乎是对的.Safari(以及Safari移动设备)也可以支持xslt.这只是一个无情的实现.问题是,有时它可能看起来不起作用,因为它失败时根本不是冗长的.

请记住,webkit xsl引擎基于libxsl,因此您可以使用基于此库的任何软件来根据您的文档测试样式表.我个人使用的xslproc就像safari一样失败,但提供了更多的输出.

如果您无法解决问题,只需发布​​xslt和XML文件即可.