| Auteur | |
|---|---|
| maki69380 | # 05 Feb 2010 - 09:45:14 |
| 14 Posts |
Bonjour, Actuellement j'ai un fichier xml que je met en forme avec du xsl. Maintenant je voudrais créer un moteur de recherche sur ce fichier xml en gardant la mise en page instaurer par le xsl. Les recherches se feraient soit : - sur un champs texte à remplir et à chercher dans chaque noeud - sur une sélection d'un élément dans une liste déroulante correspondant au contenu d'un noeud Est ce que quelqu'un pourrait m'orienter sur l'outil à utiliser, ou des exemple d'implémentation d'un moteur de recherche d'un un fichier xml ? |
| maki69380 | # 05 Feb 2010 - 11:54:09 |
| 14 Posts |
Enfaite l'idée est de rendre dynamique l'affichage du fichiers xml en affichant uniquement les noeuds correspondant à la recherche... |
| koala64 | # 08 Feb 2010 - 01:52:55 |
| Modérateur 4162 Posts |
Salut, XPath dispose de la méthode "contains", permettant de discerner n'importe quelle chaine de caractères au sein d'un nœud. Pour voir comment t'en servir, tu peux, par exemple, consulter ce document. |
| maki69380 | # 08 Feb 2010 - 15:18:45 |
| 14 Posts |
J'ai essayé la méthode "contains" de cette manière :$recherche =$xml->xpath("//Categories/Categorie/Familles/Famille/Figures/Figure[contains(.,'1132']");et cela m'affiche le message d'erreur : Warning: SimpleXMLElement::xpath() [simplexmlelement.xpath]: Invalid expression in C:\wamp\www\comap XML\recherche.php on line 166 ou est mon erreur ? |
| koala64 | # 09 Feb 2010 - 12:33:06 |
| Modérateur 4162 Posts |
mmh... Là, comme çà, à vue de nez, je dirais dans la chaine de caractères de la ligne 166 du fichier recherche.php. Une petite relecture peut-être ? Ça devrait t'aider à la corriger. |
| maki69380 | # 10 Feb 2010 - 10:32:20 |
| 14 Posts |
Quelqu'un peut-il m'expliquer comment on installe Xquery ? |
| rimousky | # 16 Apr 2010 - 19:00:59 |
La nuit porte conseil ! 52 Posts |
J'ai résolu ce pb il y a qq années et je l'utilise avec succès dans plusieurs applications pour l'exploration de fichier de grande taille (150000 lignes). Entre autre : Dictionnaire (4000 entrées) généalogie 150000 lignes. De plus la méthode des DYD externes me permet d'assembler plusieurs contenus et de les explorer. Pour cela j'utilise les méthodes xslProc et xmlProc. Il faut créer un formulaire attaché à une page HTML, celui-ci transmet le contenu de la (ou des) requête(s) à un javascript (que l'ai appelé moteur.js) qui met en relation les fichiers XML et XSL grace aux méthodes citées, puis transmet les éléments de la requête au fichier xsl grace à deux méthodes xslProc comme suit. Le contenu formulaire peut aussi être remplacé par une liste déroulante. code javascript (moteur de recherche)
le résultat est affiché avec la méthode
Dans le fichier xsl il faut déclarer le paramètre qui va servir à rechercher et afficher le contenu des noeuds correspondant à la requête. d
Il faudra simplement écrire une portion de script dans le fichier moteur.js qui détecte le navigateur car il y des différences entre IE et FF. Par contre je n'ai pas trouvé la méthode qui fonctionne avec Safari. Bon tests. Cordialement Cordialement Rimousky |