Variable et XPath - XML/XSL - Programmation
Marsh Posté le 11-08-2010 à 16:21:27
Bon j'ai résolu le problème ... belle prise de tête quand même
Donc l'erreur venait du fait que j'essayais de mixer un node set (image/alt/) avec un string ($language).
Il ne faut PAS essayer de tout caster en String (ce que j'ai essayé de faire) :
Code :
|
Cat dans ce cas, on obtient tout simplement le texte "image/alt/en", et non pas son contenu.
Ce qu'il faut faire, c'est justement réflechir en "node set" en non pas en essayant de bricoler des concaténations (qui ne servent pas à ça en XSL).
Donc ce qu'il faut faire c'est ça :
Code :
|
Pourquoi? image/alt/* signifie : Tous les enfants de image/alt. Ensuite, parmis ces enfants on selectionne ceux dont le nom est égal à notre variable.
Voilà
Marsh Posté le 10-08-2010 à 18:26:51
Bonjour,
J'ai un problème à 2 balles que j'arrive pas à résoudre :
J'ai un XML dont des attributs sont en plusieurs langues, genre :
Et qui sont dissiminés un peu partout dans l'arborescence de l'XML.
Pour éviter de me taper 2 fichiers XSL complètement différents, je veux juste définir une variable en haut du fichier genre :
Comme ça je crée 1 fichier par langue, contenant juste la déclaration de la variable + l'import du code "générique". Comme ça j'évite aussi de duppliquer trop de code.
Et ensuite faire appel à cette variable dans mes XPath, ce qui donne des trucs genre :
Et là, bam je me prend l'interpreteur dans la gueule. Pourquoi?
P.S: Non je ne peux pas passer les valeur "en" et "fr" directement à l'interpreteur depuis un langage genre PHP/autre parce que les fichiers XML/XSLT sont rentrés dans une appli proprio qui ne le permet pas.
Merci
Message édité par esox_ch le 10-08-2010 à 18:28:21
---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait