nntp2http.com
Posting
Suche
Optionen
Hilfe & Kontakt

Xslt avec une seconde base xml

Von: CrazyCat (crazycat@c-p-f.org) [Profil]
Datum: 04.01.2010 18:44
Message-ID: <hht9da$692$1@speranza.aioe.org>
Newsgroup: fr.comp.text.xml
Bonjour à tous, et meilleurs voeux !

Je dois faire une transformation XSL sur un fichier (jusque là pas de
problème), et ce fichier contient des identifiants qui doivent me
permettre de retrouver des libellés présents dans un autre fichier XML.

Mon problème est que je ne vois pas trop comment faire. J'ai suivi une
piste qui m'amènerait à faire:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="utf-8" indent="yes"
/>
<xsl:strip-space elements="*" />
<!-- Only make xml file if it's an agency which is a client  -->
<!-- Parsing the xml file  -->
<xsl:template match='Locations'>
<xsl:for-each select='Location'>
<xsl:value-of select="ZipCode" /> :
<xsl:variable name="CityId"
select="document('/home/user/Cities.xml', /CityId)" />
<xsl:value-of select="$CityId/@CityId" />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Mon fichier initial est de la forme:
<?xml version="1.0" encoding="utf-8"?>
<root>
<Locations>
<Location>
<Address>Une adresse</Address>
<ZipCode>75000</ZipCode>
<CityId>1</CityId>
</Location>
</Locations>
</root>

Et mon fichier Cities.xml de la forme:
<Cities>
<City CityId="1">Paris</City>
<City CityId="2">Lyon</City>
</Cities>

Cette solution ne semble pas marcher, quelqu'un aurait-il une idée ?

Merci d'avance.

[ Auf dieses Posting antworten ]

Antworten