Question

Pour une raison quelconque, je ne peux pas XSLTProcessor() de travailler tout le temps.

Voici mon 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);

fonctionne très bien dans : Firefox sur Mac OS X, iPhone Simulator sur Mac OS X, Safari sur Mac OS X

ne fonctionne pas du tout dans : Safari sur iPhone Mobile, Safari sur Windows

Est-ce que je manque quelque chose? Y at-il une solution de contournement à XSLTProcessor()? Est-ce que le traitement XSLT côté serveur plus rapide pour le développement mobile de toute façon?

Était-ce utile?

La solution

Je suis assez sûr que Safari Mobile ne prend pas en charge XSLT, comme la mise en œuvre OS X sous-jacent ne comprend pas les bibliothèques pertinentes qui sont présentes dans les versions de bureau de Mac OS X.

traitement côté serveur serait certainement plus rapide pour une application mobile de toute façon: tout traitement, vous pouvez raisonnablement passer loin du téléphone au serveur est une victoire

.

Autres conseils

Votre code JS semble juste. Safari (et mobile Safari ainsi) a acutally le support de XSLT. Il est juste une mise en œuvre sans merci. Le problème est que, parfois, il peut ressembler à ce qui ne fonctionne pas juste parce qu'il est pas bavard du tout quand il échoue.

Rappelez-vous que le moteur webkit xsl est basé sur libxsl, vous pouvez utiliser un logiciel basé sur cette bibliothèque pour tester votre feuille de style contre votre document. Personnellement, j'utilise xslproc qui échoue tout comme Safari, mais donne beaucoup plus de sortie.

Si vous ne pouvez pas sortir du problème, juste après le xslt et les fichiers XML.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top