J'ai des fichiers XML assez volumineux (jusque 10Mo) et je veux faire une recherche qui mix recherche libre et recherche par critère. Voici un exemple de fichier XML :
<?xml version="1.0" encoding="UTF-8"?>
<produits>
<produit>
<trademark>Renault</trademark>
<title>Renault Clio TDI 95 CV</title>
<desc>Renault Clio 5 portes gris metalisé</desc>
<full_desc/>
<url><![CDATA[
http://www.toto.com]]></url>
<other/>
<price currency="EUR">14099</price>
<tax>
<name/>
<price currency="EUR"/>
</tax>
<shipping>
<delivery>Livrable au plus tard le 26/10/2010</delivery>
<price currency="EUR"/>
</shipping>
<category>
<merchant>
<name>Clio</name>
<id/>
</merchant>
</category>
<storeData>
<data type="Modele">TDI 95CV</data>
<data type="Carburant">Diesel</data>
<data type="Prix catalogue">18999.00</data>
<data type="Reduction pourcentage">13.5</data>
<data type="Reduction montant">4900</data>
<data type="Emission CO2">135 g/km</data>
<data type="motorisation" unit="cm 3">95 ch</data>
<data type="nbportes">5</data>
<data type="boite">Automatique</data>
<data type="Coloris">Sur mesure</data>
</storeData>
</produit>
</produits>
Je dois pouvoir faire une recherche libre sur <trademark>, <title>, <desc> et sur les <data type>.
Je dois aussi pouvoir faire une recherche sur critère (Essence/diesel, nombre de portes...) sur les <data type>
J'avais commencé en utilisant xpath/xquery, mais je suis confronté à plusieurs problèmes :
- je n'ai pas trouvé le moyen de faire une recherche qui matche le contenu partiel d'une balise (par exemple une recherche sur "clio" dans la balise <title> doit matcher, actuellement cela ne matche que lorsque je recherche le contenu exact "Renault Clio TDI 95 CV" )
- les requètes sont sensibles à la casse
- difficulté de rechercher dans des balises situées à des niveaux différents dans l'arborescence
Merci par avance pour vos compléments de réponses.
J'ai des fichiers XML assez volumineux (jusque 10Mo) et je veux faire une recherche qui mix recherche libre et recherche par critère. Voici un exemple de fichier XML :
<?xml version="1.0" encoding="UTF-8"?>
<produits>
<produit>
<trademark>Renault</trademark>
<title>Renault Clio TDI 95 CV</title>
<desc>Renault Clio 5 portes gris metalisé</desc>
<full_desc/>
<url><![CDATA[http://www.toto.com]]></url>
<other/>
<price currency="EUR">14099</price>
<tax>
<name/>
<price currency="EUR"/>
</tax>
<shipping>
<delivery>Livrable au plus tard le 26/10/2010</delivery>
<price currency="EUR"/>
</shipping>
<category>
<merchant>
<name>Clio</name>
<id/>
</merchant>
</category>
<storeData>
<data type="Modele">TDI 95CV</data>
<data type="Carburant">Diesel</data>
<data type="Prix catalogue">18999.00</data>
<data type="Reduction pourcentage">13.5</data>
<data type="Reduction montant">4900</data>
<data type="Emission CO2">135 g/km</data>
<data type="motorisation" unit="cm 3">95 ch</data>
<data type="nbportes">5</data>
<data type="boite">Automatique</data>
<data type="Coloris">Sur mesure</data>
</storeData>
</produit>
</produits>
Je dois pouvoir faire une recherche libre sur <trademark>, <title>, <desc> et sur les <data type>.
Je dois aussi pouvoir faire une recherche sur critère (Essence/diesel, nombre de portes...) sur les <data type>
J'avais commencé en utilisant xpath/xquery, mais je suis confronté à plusieurs problèmes :
- je n'ai pas trouvé le moyen de faire une recherche qui matche le contenu partiel d'une balise (par exemple une recherche sur "clio" dans la balise <title> doit matcher, actuellement cela ne matche que lorsque je recherche le contenu exact "Renault Clio TDI 95 CV" )
- les requètes sont sensibles à la casse
- difficulté de rechercher dans des balises situées à des niveaux différents dans l'arborescence
Merci par avance pour vos compléments de réponses.