Nous utilisons beaucoup XSLT pour des choses comme la documentation et pour rendre certains paramètres de configuration complexes réparables par l'utilisateur.
Pour la documentation, nous utilisons beaucoup DocBook, qui est un format basé sur XML. Cela nous permet de stocker et de gérer notre documentation avec tout notre code source, car les fichiers sont en texte brut. Avec XSLT, nous pouvons facilement créer nos propres formats de documentation, ce qui nous permet à la fois de générer automatiquement le contenu de manière générique et de rendre le contenu plus lisible. Par exemple, lorsque nous publions des notes de publication, nous pouvons créer du XML qui ressemble à quelque chose comme:
<ReleaseNotes>
<FixedBugs>
<Bug id="123" component="Admin">Error when clicking the Foo button</Bug>
<Bug id="125" component="Core">Crash at startup when configuration is missing</Bug>
<Bug id="127" component="Admin">Error when clicking the Bar button</Bug>
</FixedBugs>
</ReleaseNotes>
Et puis en utilisant XSLT (qui transforme ce qui précède en DocBook), nous nous retrouvons avec de belles notes de publication (PDF ou HTML généralement) où les ID de bogue sont automatiquement liés à notre traqueur de bogues, les bogues sont regroupés par composant, et le format de tout est parfaitement cohérent . Et le XML ci-dessus peut être généré automatiquement en interrogeant notre traqueur de bogues pour ce qui a changé entre les versions.
L'autre endroit où nous avons trouvé que XSLT est utile est en fait notre produit principal. Parfois, lors de l'interfaçage avec des systèmes tiers, nous devons en quelque sorte traiter les données dans une page HTML complexe. L'analyse HTML est moche, nous alimentons donc les données via quelque chose comme TagSoup(qui génère des événements XML SAX appropriés, nous permettant essentiellement de traiter le HTML comme s'il était correctement écrit en XML) et ensuite nous pouvons exécuter du XSLT contre lui, pour transformer les données en un format "connu stable" avec lequel nous pouvons réellement travailler . En séparant cette transformation en un fichier XSLT, cela signifie que si et quand le format HTML change, l'application elle-même n'a pas besoin d'être mise à niveau, à la place, l'utilisateur final peut simplement modifier le fichier XSLT lui-même, ou nous pouvons envoyer un e-mail leur un fichier XSLT mis à jour sans que le système entier ait besoin d'être mis à niveau.
Je dirais que pour les projets Web, il existe aujourd'hui de meilleures façons de gérer le côté vue que XSLT, mais en tant que technologie, il existe certainement des utilisations pour XSLT. Ce n'est pas la langue la plus facile à utiliser au monde, mais elle n'est certainement pas morte et, de mon point de vue, elle a encore beaucoup de bonnes utilisations.