无论出于何种原因,我无法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);
适用于:OSX上的Firefox,OSX上的iPhone模拟器,OSX上的Safari
完全不起作用:iPhone上的Mobile Safari,Windows上的Safari
我错过了什么吗?有解决方法XSLTProcessor()
吗?无论如何,服务器端XSLT处理能否更快地进行移动开发?
你的JS代码似乎是对的.Safari(以及Safari移动设备)也可以支持xslt.这只是一个无情的实现.问题是,有时它可能看起来不起作用,因为它失败时根本不是冗长的.
请记住,webkit xsl引擎基于libxsl,因此您可以使用基于此库的任何软件来根据您的文档测试样式表.我个人使用的xslproc就像safari一样失败,但提供了更多的输出.
如果您无法解决问题,只需发布xslt和XML文件即可.