Bonjour à tous!
J'aurai aimé avoir un petit coup de main sur la transformation XLS, couplé à l'utilisation d'un concat. Le principe est assez simple. J'ai deux balises dans mon fichier XML d'entrée, et j'ai besoin de les concaténer dans une seule dans mon fichier de sortie. Le principe est que ces deux champs me permettent de définir une clé "unique" (pour l'instant) dans mon fichier de sortie
Pour le moment, mon XLS ressemble à ca:
Et bien évidemment... Ça ne fonctionne pas... Est ce que je dois impérativement utiliser des paramètres, des for each, autre? Je sèche complètement car avant d'arriver à ce résultat, j'ai eu énormément de problème de variables non définies ou non joignables, etc....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes" xmlns:err="http://www.w3.org/2005/xqt-errors" exclude-result-prefixes="xs xdt err fn"> <xsl:output omit-xml-declaration="yes" encoding="ISO-8859-1" indent="yes" method="xml" version="2.0"/> <xsl:template match="row"> <ITEM> <xsl:attribute name="class">New_Person</xsl:attribute> <xsl:apply-templates/> </ITEM> </xsl:template> <xsl:template match="NOM"> <item_id> <xsl:value-of select="concat(NOM,'-',PRENOM)"/> </item_id> </xsl:template> <xsl:template match="PRENOM"> </xsl:template> </xsl:stylesheet>
Merci d'avance pour votre aide!
EDIT: JE continue d'essayer d'avancé sur ce XSL, et la pause repas m'a déjà donné une piste "Damnit!". Car les champs sont vides dans mon fcihier de sortie... Il faut mettre:
Maintenant, le problème est de récupérer le text() de PRENOM.... Je pense ne plus être trop loin!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <?xml version="1.0" encoding="ISO-8859-1" ?> <xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes" xmlns:err="http://www.w3.org/2005/xqt-errors" exclude-result-prefixes="xs xdt err fn"> <xsl:output omit-xml-declaration="yes" encoding="ISO-8859-1" indent="yes" method="xml" version="2.0"/> <xsl:template match="row"> <ITEM> <xsl:attribute name="class">New_Person</xsl:attribute> <xsl:apply-templates/> </ITEM> </xsl:template> <xsl:template match="NOM"> <item_id> <xsl:value-of select="concat(text(),'-',PRENOM)"/> </item_id> </xsl:template> <xsl:template match="PRENOM"> </xsl:template> </xsl:stylesheet>
Partager