Problème génération tableau après avoir parsé mon XML
Akita95
Messages postés23Date d'inscriptiondimanche 13 mars 2005StatutMembreDernière intervention30 juillet 2007
-
30 mai 2006 à 14:42
Akita95
Messages postés23Date d'inscriptiondimanche 13 mars 2005StatutMembreDernière intervention30 juillet 2007
-
2 juin 2006 à 09:27
Bonjour à tous,
Je sollicite votre aide car je suis dans une impasse et j'ai un problème :( Après avoir longtemps cherché, sur le net et sur ce site, je n'ai pas trouvé de solutions à mon problème.
Le principe est simple.
J'ai un fichier XML contennant des données et un fichier XSL pour la mise en forme. J'ai une page PHP avec un champ de recherche. A l'envoi du formulaire, mon parseur de XML se lance puis génère ensuite un tableau HTML
Tout fonctionne bien.
Problème : pour un soucis de respect de la casse, j'éffectue 3 lecture du fichier XML (exemple si je recherche "test", la première lecture va chercher "test", la deuxième "TEST" et la troisème "Test" pour tout couvrir). Donc j'ai 3 tableaux qui se génèrent mais en un seul, c'est à dire que cela forme un seul tableau dans lequel j'ai parfois des doublons. (Exemple si dans une description j'ai "Test" et "TEST"). Ce que je souhaite faire concrètement c'est supprimer ces doublons. Je vous serais très reconnaissant si vous pouviez m'aider.
Mon parser :
function parser2($fxml, $fxsl, $famille, $version, $auteur, $q){
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 30 mai 2006 à 15:21
Hello,
je ne connais pas bien les fonctions XSLT de php4...mais y a quoi dans le xsl qui traite la demande, au juste...? Parce que je ne pense pas que tu aies forcément besoin d'appeler ta fonction 3 fois pour effectuer une recherche insensible à la casse.
translate () te permettra de faire fi de la casse.
En gros, tu fais l'equivalent d'un strtolower ou strtoupper comme tu veux sur les 2 arguments (text du noeud, et texte recherché), pour qu'ils aient la même casse. Il te retournera , si tu cherches Text : TEXT, text, TeXt etc...
et ce, en un seul appel.
Akita95
Messages postés23Date d'inscriptiondimanche 13 mars 2005StatutMembreDernière intervention30 juillet 2007 30 mai 2006 à 15:55
Excuse moi je vais paraitre un peu bête mais tu peux un peux plus expliquer ? j'ai déjà lu de la doc dessus mais j'ai pas compris :-( ca se passe dans le xsl ? ou je dois mettre le code ?
Merci beaucoup pour ton aide :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 31 mai 2006 à 09:13
translate ('test', 'tes', 'TES') va renvoyer 'TEST'.
Il prend le 1er argument, et dans ce 1er argument, les lettres données dans le second, et les remplace dans le premier argument comme leur traduction dans le 3ème.