Probleme génération tableau après parsing XML - PHP - Programmation
Marsh Posté le 02-06-2006 à 09:42:02
moi j'ai pas compris pourquoi tu avais besoin d'appliquer 3 fois ta xslt...
Pourquoi tu fais pas un truc insensitive plutot?
Marsh Posté le 02-06-2006 à 13:35:38
Parce que ça existe pas, on peut pas faire autrement :-(
Merci pour ta réponse
Marsh Posté le 02-06-2006 à 13:41:20
bin google "xslt case insensitive", premier réponse:
http://www.topxml.com/xsl/articles/caseconvert/
Marsh Posté le 30-05-2006 à 14:56:21
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){
$xh = xslt_create();
$file=fopen($fxml,"r" );
$xml=fread($file,1024000);
fclose($file);
$file=fopen($fxsl,"r" );
$xsl=fread($file,1024000);
fclose($file);
$arguments = array(
'/_xml' => $xml,
'/_xsl' => $xsl
);
$parameters = array(
'no' => $famille,
'no2' => $version,
'no3' => $auteur,
'no4' => $q
);
$result = xslt_process($xh, 'arg_xml', 'arg_xsl', NULL, $arguments, $parameters);
$result=str_replace("array","array_unique",$result);
xslt_free($xh);
echo $result;
}
Et le lancement du parsing :
$recherche = strtolower($_POST['q']);
$recherche2 = strtoupper($_POST['q']);
$recherche3 = ucfirst($_POST['q']);
parser2("./xml/faq.xml", "./xsl/faq4.xsl", "0", "0", "0", $recherche);
parser2("./xml/faq.xml", "./xsl/faq4.xsl", "0", "0", "0", $recherche2);
parser2("./xml/faq.xml", "./xsl/faq4.xsl", "0", "0", "0", $recherche3);
Je reste disponible si vous avez besoin d'autres renseignements. Merci d'avance pour votre aide
Akita