chaine de caractere...decoupage...recupé ration des valeurs [XSL /XSLT] - XML/XSL - Programmation
Marsh Posté le 23-07-2004 à 10:45:50
la structure de ton fichier XML est mal faite, dès le départ il faut mettre un code par balise CP
Marsh Posté le 23-07-2004 à 10:58:51
Ben je sais bien mais je fais avec ce qu'on me donne ...Je dois me demerdez avec le client ...
J'ai plus de 2500 fiches xml alors si je pouvais refaire le code tu penses bien que je n aurais pas posté et poser la question ...
Marsh Posté le 23-07-2004 à 11:11:42
essaye d'utiliser les fonction "substring-after()" et "substring-before()" dans une fonction récursive
regarde aussi les autres fonctions qui sont sur la page suivante, ca pourra peut-être te servir
http://www.w3schools.com/xsl/xsl_functions.asp
Marsh Posté le 23-07-2004 à 16:43:23
J'avais écrit un convertisseur CSV --> XML tu peux t'en inspirer, c'est le même principe :
|
Marsh Posté le 23-07-2004 à 10:30:26
SAlut
j ai une source XL qui possède un new du type:
Mon fichier XSL permet de récupérer les valeurs des CP et de les afficher. les valeurs CP sont des numéros de fichiers xml qui me sont nécessaire lors de création de lien dans ma page...
Pour un <CP> dans lequel il y au une valeur il n'y a aucun probleme:
le lien se genère sans probleme.
Pour un <CP> avec plusieurs valeurs de CP ca coince car comme je recupere la valeur du noeud CP à la creation du lien il me colle tout la chaine de caractere et ma valeur CP au lieu d' etre une valeur pour chaque numéro est la chaine de cara comprise dans mon noeud
En résumé:
quand nbr CP = 1 :
http://....repertoire=XML/con_pra/ [...] a.xsl&sel=286 <= valeur du CP
quand nbr CP > 1 :
http://....repertoire=XML/con_pra/ [...] a.xsl&sel=281 282 <= valeur de la chaine de cara du noeud
Tout cette partie est dans une boucle for each ... par conséquent je voudrais que lorsque nbr CP > 1 il me prene chaque valeur de la chaine...
J'ai vu qu il existait une fonction XSLT normalize-sapce(chaine) mais cela ne ferait que suprimer les espaces de la chaine et me mettre dans le caca encore plus
Si quelqu'un a une idee sur la question ... Sain clou d'avance