chaîne de requête à l'aide de xslt
est-il possible d'accéder à une chaîne de requête à l'aide de xslt?
j'ai une url.e.g
www.example.com/page.aspx?k=aa&lang=fr
Je veux faire quelque chose comme
si lang = fr
<div>displaly stuff</div>
d'autre
<div>display other stuff</div>
pouvez-vous me montrer comment faire cela à l'aide de xslt?
- Actuellement accepté réponse n'est pas correcte. Pas de fonction d'extension est nécessaire pour accéder à une chaîne de requête. Il peut être passé comme un (global) de paramètre. C'est à privilégier, car elle réduit la nécessité pour les extensions et les résultats dans plus propre et plus lisible le code.
Vous devez vous connecter pour publier un commentaire.
Oui, si la chaîne de requête est transmise en tant que paramètre.
Le code ci-dessous montre qu'aucune fonction d'extension est nécessaire pour accéder à une chaîne de requête. Il peut être passé comme un (global) de paramètre. C'est à privilégier, car elle réduit la nécessité pour les extensions et les résultats dans plus propre et plus lisible le code.
Alors on peut effectuer la segmentation (avec le
marquer()
fonction XSLT 2.0 ou en XSLT 1.0 à l'aide de lastr-split-à-dire
modèle de FXSL 1.x ou d'un self-écrit récursive de segmentation en unités de modèle.)XSLT 1.0 solution:
lors de la transformation ci-dessus est appliqué sur n'importe quel document XML (ne sera pas utilisé), le résultat souhaité est produit:
Ne remarque l'utilisation de la FXSL 1.x
str-split-to-words
modèle et l'utilisation de la EXSLText:node-set()
fonction d'extension.XSLT 2.0 solution:
Lorsque les ci-dessus XSLT 2.0, la transformation est effectuée, elle produit le résultat correct:
Pas en natif XSLT non, mais vous pouvez écrire extension des objets qui gèrent des fonctions complexes qui sont à l'extérieur de la portée de la maternelle XSLT ainsi par exemple dans votre XSLT vous pouvez insérer un espace de noms dans la feuille de style comme
et ensuite appeler
Non, parce que XSLT n'est pas compilé le code qui s'exécute sur son propre. C'est une technologie permettant de transformer des données XML et il est appelé par certains le processeur XSLT.
Donc, c'est à vous de fournir les données variables comme paramètres de votre processeur XSLT.