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? Smiley biggrin

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)
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.
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.
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.