Comment appeler un script Perl externe ou un script depuis un xslt?Appel d'un script Perl externe depuis XSLT
Répondre
Veuillez regarder la méthode register_function()
dans XML::LibXSLT
. La documentation XML::LibXSLT
a un petit exemple comment enregistrer une petite fonction perl à utiliser dans une feuille de style XSLT. De l'expérience personnelle, il n'y a aucun problème à définir aussi des fonctions plus importantes ici.
Cela n'a aucun sens. Lier une feuille de style XSLT à des commandes externes annulerait toute portabilité, en particulier pour les navigateurs.
Des processeurs XSLT spécifiques pourraient permettre l'écriture de scripts¹, mais ils ne seront généralement pas disponibles. Le XSLT specification ne contient pas quoi que ce soit liés à l'appel de commandes externes. La spécification indique comment les extensions de la langue sont gérées, ce qui permet aux fournisseurs d'inclure des supports pour l'écriture de scripts ou l'appel de commandes externes.
Si votre problème ne peut pas être résolu dans le langage XSLT (Turing-complete), il se peut que ce soit le mauvais outil pour votre travail. Réécrire certaines parties en Python ou Perl peut être plus approprié.
1. Une implémentation Microsoft vous permet de définir des fonctions supplémentaires en JavaScript.
Mon objectif est d'ajouter des chemins de données à partir d'un modèle d'acquisition de données à partir d'un système de gestion de contenu. Auparavant, nous utilisions Perl pour générer les modèles, de sorte que l'écriture des fonctions était standard. Nous passons à XSL, j'essaie de trouver un moyen de tirer parti de ces données, car ce ne sera pas un contenu défini par l'utilisateur. –
@AndersonNicholasL Vous pouvez traiter plusieurs documents d'entrée, qui peuvent être référencés par des URI. Si l'autre contenu est statique, c'est trivial (juste vider le XML supplémentaire dans un fichier, et être fait avec lui). Sinon, vous pourriez en quelque sorte lier un script à une URL spécifique, par ex. grâce à CGI - mais ce serait un modèle très discutable. – amon
@amon S'il vous plaît voir ma réponse. Il est parfaitement possible d'enregistrer des fonctions externes pour xslt. –
- 1. Appel d'un script Perl depuis un script Perl
- 2. Appel de script awk depuis perl
- 3. Appel du script Perl depuis vbscript
- 4. Appel d'un script Perl depuis JavaScript
- 5. script externe dans XSLT
- 6. Appel de perl depuis java
- 7. Appel d'un script externe depuis l'interface d'administration de Django?
- 8. Comment exécuter un script Perl depuis un script Perl?
- 9. Traitement XSLT dans/depuis ruby
- 10. Appel du module externe depuis la Chapelle
- 11. Appel d'un autre script en tant qu'utilisateur différent depuis un script Perl
- 12. Comment appeler un script Perl depuis PHP?
- 13. Exécution du script Perl depuis tcl
- 14. Comment appeler le script Perl depuis PIG ..?
- 15. Appeler un script Perl depuis JavaScript
- 16. Perl - Utilisation de rsync depuis le script Perl
- 17. Appeler un script externe depuis Flink
- 18. Sécuriser un script depuis un accès externe?
- 19. appel awk dans le script perl
- 20. Appel d'un script Perl dans AWK
- 21. Appel du script Perl en utilisant Ansible
- 22. Appel du script Perl "interactif" de Java
- 23. Appel du script python depuis awk
- 24. Appel de script depuis Selenium Python
- 25. Appel d'un outil externe à partir de XSLT
- 26. XSLT/Xalan: appel de apply-templates depuis une extension Java
- 27. Appel du script à partir du script en Perl
- 28. XSLT Stylesheet fonctionne avec un script vbs, mais pas Perl
- 29. Appel de perl à partir d'un script java sans serveur
- 30. Comment est-ce que je démonise un script Perl depuis un script Perl?
C'est une fonctionnalité intéressante, mais cela vaut la peine de répéter que c'est une fonctionnalité spécifique à l'implémentation. – amon
La spécification XSLT mentionne et autorise [extensions] (http://www.w3.org/TR/xslt#extension) dans le langage xslt. Et bien sûr, c'est spécifique à la mise en œuvre; une implémentation de python xslt est peu susceptible de supporter le code Perl. Si votre objectif est la portabilité, n'utilisez pas cette fonctionnalité. Sinon, je ne connais aucun obstacle pour utiliser cette fonctionnalité. –
Merci pour votre réponse. Je n'ai pas affaire à des navigateurs. Le XSL que j'écris est de générer du XML à envoyer à une base de données. Rien de ce que je travaille ne va au-delà du système de gestion de contenu en dehors du XML. Le CMS capture les informations de l'espace de travail de l'utilisateur et les données de l'utilisateur, en utilisant perl, nous pouvons capturer ces informations et les envoyer en tant que métadonnées dans le fichier XML. Cependant, à moins que XSL ne puisse saisir de telles informations, l'utilisation de fonctions perl intégrées est la solution. Merci encore @SlavenRezic! –