Forum de discussion
Forum « Programmation XML et XSL » (archives)
Re: Urgeant: extraire un nouds d'un autre fichier xml
Envoyé: 20 décembre 2003, 10h02 par Oznog
Rien ne presse pour un programmeur sinon c'est des problème à n'en plus finir!
Enfin, tu ne peux certes pas extraire quoi que se soit avec un fichier XML. Ce ne sont que des données structurées.
Tu dois, comme tu dois le savoir, utiliser un document XSL pour extraire quoi que se soit d'un document XML.
Le XSL peut par contre utiliser une valeur d'un document XML "A" pour en extraire une seconde d'un document "B".
Pour ce faire tu as le document XSL qui traite le document XML "A" normalement et tu appelle un document XML "B" comme ceci :
<xsl:for-each select="neudA">
<xsl:variable name="valeurA" select="current()"></xsl:variable>
<xsl:variable name="noeudB"
select="document('documentB.xml')"></xsl:variable>
<xsl:value-of select="$noeudB//nomDunNoeudB =
$valeurA"></xsl:value-of>
</xsl:for-each>
Sans connaître la structure du document XML "B" ce n'est pas facile à décrire.
Mais l'idée est de créer une variable à partir d'une valeur du document "A" (valeurA). Pour la comparer avec une valeur d'un noeud du document "B" (nomDunNoeudB).
Et le document "B" est lui aussi déposé dans une variable lors de "l'include" (noeudB).
La sélection se fait donc sur : $noeudB//nomDunNoeudB =
$valeurA"
$noeudB = le document "B" en entier
// = Racine du document "B"
"nomDunNoeudB" = un noeud du premier niveau du document "B"
Le tout comparé à la variable du document "A" ($valeurA).
Ciao
Oznog
Réponses
|