2009-07-17 38 views
1

J'utilise très souvent la fonction document() xslt pour accéder à un fichier XML externe et l'utiliser dans la transformation. Si je fournis une URL dans la fonction, je peux aussi accéder au service web RESTfull à partir du xslt et utiliser le XML que ce service retourne dans mon xslt. Mais maintenant j'ai un programme local qui renvoie XML et je voudrais l'aborder de la même manière. Je pourrais le transformer en service et y accéder de cette façon, mais ce serait bien si je pouvais faire en sorte que le processeur XSLT (libxslt) démarre le programme et renvoie la sortie. Le site EXSLT ne semble pas se référer à ce genre de fonctions. Quelqu'un là-bas qui a résolu ce problème?Existe-t-il un moyen d'appeler des éléments externes à partir d'une feuille de style xsl?

+0

Sauvage. Voulez-vous dire que vous appliquez xslt-1 à un fichier xml, puis xslt-1 télécharge xslt-2 pour faire la vraie transformation dans le fichier xml d'origine? – Kieveli

+0

Vous voulez donc que votre XSLT obtienne du XML à partir d'un programme générateur via un appel de fonction? Peut-être que ce que vous voulez vraiment, c'est un langage de script comme ANT, Python, ou même les anciens scripts shell réguliers pour lier vos pièces ensemble. –

+0

Quelqu'un avec les droits nécessaires peut vouloir corriger l'orthographe dans le titre de la question afin qu'il apparaisse dans les recherches. –

Répondre

0

Vous pouvez utiliser un URIResolver et un schéma d'URI personnalisé. Vous pouvez ensuite rediriger certaines références d'URI pour les lire depuis n'importe quelle source.

+0

Eh bien, pas vraiment. Je n'utilise pas Java. J'utilise la bibliothèque libxslt. Je peux bien sûr écrire une extension et l'utiliser, comme vous le feriez en écrivant un URIResolver dans votre exemple java. Je voulais juste savoir si quelqu'un l'a fait en utilisant libxslt. – PetervanBoheemen