| Auteur | |
|---|---|
| GrandVampire | # 26 Feb 2010 - 15:37:56 |
| 13 Posts |
Bonjour, je dois transformer un fichier xml avec xslt, mais certaines informations de test sont stockées dans un autre fichier xml: ex. xslt doit chercher dans 1.xml si il y a des données identiques à celles contenues dans 2.xml est-ce possible? comment faire? est-ce que la même chose serait possible sur le contenu d'un array dans un fichier javascript? Merci beaucoup, Grandvampire Modifié par GrandVampire (01 Mar 2010 - 12:30) |
| dragonfire34 | # 26 Feb 2010 - 20:41:56 |
| 5 Posts |
Bonsoir, Une façon déjà d'intégrer les données d'une feuille xml externe est la suivante dans la feuille xsl : <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:xlink="http://www.w3.org/1999/xlink"> <xsl:output method='html' indent="no" encoding="iso-8859-1" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" /> <xsl:variable name="infos_tests" select="document('../infos_tests.xml')" /> <xsl:template match="/"> <xsl:apply-templates /> </xsl:template> <xsl:template match="balise_de_valeur_a_tester"> <xsl:variable name="valeur_a_tester"> <xsl:value-of select="."/> </xsl:variable> <xsl:variable name="valeur_de_test"> <xsl:value-of select="$infos_tests//racine_document/valeur_de_test"/> </xsl:variable> <xsl:if test="$valeur_a_tester=$valeur_de_test"> EXECUTER CODE.... </xsl:if> </xsl:template> </xsl:stylesheet> Vous associez cette feuille de style à votre document principal ou vous l'appelez en PHP ou AJAX. N'oubliez pas que vous pouvez associer des modes à vos traitements pour différencier les résultats. <xsl:apply-templates select="$valeur_a_tester" mode="templates_01" /> <xsl:template match="mon_template" mode="template_01"> </xsl:template> J'espère ne pas avoir introduit trop de bug, je n'ai pas testé mais l'idée y est ! Bon courage. |
| Gilles | # 01 Mar 2010 - 09:46:54 |
| 1003 Posts |
La fonction la plus importante pour ce que tu cherches à faire dans le code donné par dragonfire34 est la fonction document() de XPath, qui prend en argument une chaîne de caractère qui donne le chemin vers un autre fichier XML à analyser. Donne à une personne un poisson, elle se nourrira pendant un jour. Apprends-lui à pêcher, elle se nourrira toute sa vie. Kuan-Tseu |
| GrandVampire | # 01 Mar 2010 - 12:30:11 |
| 13 Posts |
Merci beaucoup pour vos réponses qui m'ont bien aidé à réaliser ce que je voulais faire Grandvampire |
| rimousky | # 17 Apr 2010 - 22:35:52 |
La nuit porte conseil ! 52 Posts |
Tiens la réponse de dragonfire34 me donne des idées car elle pourrait répondre à un problème d'agrégation de fichiers que je n'arrive pas à résoudre avec XInclude. je vais faire le test. Cordialement Rimousky |