7
votes

Quand XSLT est-il une solution appropriée pour définir des transformations XML au lieu d'utiliser un langage de script comme Python?

Lorsque XSLT est une solution appropriée pour définir des transformations XML au lieu d'utiliser un langage de script comme Python?


0 commentaires

7 Réponses :


0
votes

Il est principalement de faire avec XML étant une sorte de structure de données hiérarchique.

Vous pouvez définir des opérations pour arriver lorsque certains modèles sont assortis partout où ils apparaissent dans l'arborescence d'un fichier XML.
Vous pouvez également utiliser des transformations en cascade afin que certains soient appliqués / ignorés en fonction des opérations précédentes de plus en plus de l'arborescence.

Si vos données XML sont relativement plats et une balise de signifie que quelque chose de partout, les avantages ne sont pas aussi clairs, mais si signifie Une chose à la racine et une autre chose à l'intérieur d'un et quelque chose d'autre s'il est à l'intérieur d'un après un puis xslt devient beaucoup plus facile.


0 commentaires

0
votes

Il y a beaucoup de chevauchement.

  • Si vous pouvez spécifier un nombre inférieur de règles de modèle que pour définir de manière récursive le même comportement avec le code, alors XSLT a du sens.
  • Si la personne qui maintient les règles à long terme est plus confortable et familiarisée avec (ou a de meilleurs outils à prendre en charge) que XML / XSLT, le code est le meilleur moyen d'y aller.
  • Si vous voulez pouvoir soutenir le parallélisme massif pour une meilleure performance, alors XSLT (ou une langue fonctionnelle comme F #) peut être la voie à suivre, bien que cela ne soit pas pratiquement disponible en ce moment (bien que cela soit à l'avenir. ).

0 commentaires

0
votes

Je trouve que XSLT est très utile pour des travaux simples et il est également indépendant de la plate-forme (XSLT est intégré à de nombreuses langues). Cependant, je ne trouve pas que les écailles ne trouvent pas facilement et que je dois aussi faire un calcul spécifique à un domaine, il est très fastidieux d'écrire des opérations normales de la manière de manière récursive.

aussi XSLT2.0 est également nécessaire pour des opérations telles que le groupement (sans cela, vous devez vous rappeler la méthode Muenchian qui est intelligente mais non intuitive). Cependant, tous les systèmes ne prennent pas en charge XSLT2.0.


0 commentaires

3
votes

Si vous ne voulez pas envisager des choses comme la familiarité du développeur, je dirais toujours toujours, en supposant que vous avez XSLT 2.0 ou au moins EXSLT, car XSLT 1.0 est assez limitatif (si vous n'avez besoin que de transformations structurelles, 1,0 suffit, Mais si vous avez besoin de faire quelque chose avec le contenu, vous voulez rester loin de 1.0). XSLT est spécialement conçu pour transformer XML et je l'ai trouvé beaucoup mieux pour cette tâche que les bibliothèques XML dans les langages de programmation à usage général.

Bien sûr, tout en supposant que vous n'avez besoin que de transformer l'entrée XML en une autre forme. Dans le monde réel, les exigences changent et vous finirez tout à fait que vous devez non seulement transformer le XML, mais également effectuer certaines opérations en fonction de cela. Et bien que la XSLT soit complète, ce n'est pas vraiment un langage de programmation à usage général, afin que la future épreuve, il pourrait être plus sûr d'utiliser une autre langue. Néanmoins, je voudrais probablement mettre en œuvre la première version de XSLT car je le trouve plus rapide et plus facile à comprendre, et seulement si XSLT se révèle inappropriée, je considère que quelque chose d'autre.


0 commentaires

0
votes

performance-sage, certains processeurs XSL compilent la transformation en binaire avant de l'exécuter. Si la transformation sera utilisée plusieurs fois, cela peut être un avantage de performance important.


0 commentaires

0
votes

Dès le départ de la batte, si vous transformez le XML en quelque chose d'autre que HTML, XML ou Texte, XSLT n'est pas ce que vous devez utiliser.

Autre que cela, j'ai fait une tonne de travail avec XSLT et je dois encore courir dans un cas où j'ai utilisé XSLT pour transformer XML et me suis retrouvé souhaitant que j'avais choisi autre chose. Comme avec JK, ma réponse "À peu près toujours".


0 commentaires

0
votes

Si vous ou une personne avec qui vous travaillez est plus confortable dans XSLT ou si vous obtiendrez des avantages techniques que vous gagneriez à partir de XSLT (intégrer le XSLT dans cocon, par exemple), puis utilisez XSLT. Sinon, c'est presque toujours plus douloureux que vous ne le pensez. Vous serez beaucoup plus heureux en utilisant une langue comme Python (avec LXML), Ruby (avec REXML) ou même PHP (avec SimplexML). Vous pouvez même le coupler avec une bibliothèque de modèles (comme Genshi, avec Python) pour rendre le travail encore plus facile.

Après avoir pris les deux approches moi-même, je me sens confiant que vous serez plus heureux à long terme en utilisant quelque chose d'autre que XSLT.


0 commentaires