2010-06-23 2 views
1

J'ajoute du support XSLT à l'un de nos produits ces dernières semaines. Pour ce faire, j'ai expérimenté l'utilisation des bibliothèques MSXML de Microsoft pour transformer les fichiers XML et XSL.Quelle est la qualité de MSXML chez XSLT?

Le traitement syntaxique avec MSXML fonctionne fondamentalement, mais j'ai rencontré quelques endroits où il ne supporterait pas certaines choses que XSL devrait permettre. Cela me fait craindre que ce ne soit pas conforme aux normes à 100%, et que peut-être l'utiliser pourrait nous causer des problèmes à l'avenir. Par exemple, il ne semble pas générer de balises de démarrage correctes spécifiant un code HTML conforme aux normes, et la déclaration de nouvelles entités au début du document ne semble pas fonctionner.

Est-ce que quelqu'un a déjà utilisé MSXML pour XSLT et avez-vous rencontré des problèmes?

Ou, est-ce que les développeurs Windows ont des suggestions pour d'autres analyseurs XSL que je peux utiliser? J'ai besoin d'un moyen de prendre un fichier XML et un fichier XSL, et de générer un fichier HTML basé sur eux. (Les fonctions doivent pouvoir être appelés à partir de C ou C++ dans le code win32.)

Répondre

3

D'après ce que j'ai vu avec XML + XSLT et Internet Explorer (7), ainsi que dans d'autres termes: MSXML ... Comme Tant que vous vous limitez à XSLT 1.0, vous devriez être plutôt bon, sauf que le support de l'espace de noms peut laisser à désirer. Cependant, cela signifie que vous n'avez pas beaucoup de fonctions XPath plus belles ...

Vous pouvez également utiliser par ex. libxml qui offre des fonctionnalités similaires; ou vous pouvez utiliser quelque chose par les projets Apache ...

2

En utilisant 'Xerces' pour cross plate-forme et ramassé 'Xalan' pour faire XSLT.

Là où quelques différences mineures nous avons noté entre MSXML et Xerces. Nous avons dû modifier légèrement la transformation entre ces moteurs, MSXML semblait être le moins standard. Si vous n'êtes pas inquiet à propos de la plate-forme croisée, je vais essayer avec les deux et voir lequel fonctionne le mieux avec votre transformation. Vous aimeriez peut-être aussi regarder l'éditeur XML 'Oxygen', pour nous, il avait le meilleur support XSLT où vous pouviez choisir quel moteur XSLT utiliser, bon pour voir quelles sont les différences, mais aussi super pour travailler avec le même moteur interactif pour le débogage que vous utiliserez dans votre application finale.

2

Sur Windows, j'ai utilisé à la fois MSXML et Xerces/Xalan. Je pencherais plus vers MSXML, parce que vous êtes sur un environnement Windows. Je l'ai utilisé avec succès sur un certain nombre de projets, allant du bureau aux applications web, au fil des ans. Un inconvénient est que MSXML est une API basée sur COM. Le support de XPath 2.0 dans Xalan a été démarré, mais s'est arrêté. Il y a aussi des inquiétudes quant au développement futur de Xalan. Il ya aussi libxslt et XQilla, qui ont tous les deux le support de Windows, mais je n'ai aucune expérience en utilisant l'un ou l'autre.