Bonjour,
je poste pour la première fois parce que j'ai un souci avec une feuille xslt qui ne donne rien.
J'ai un fichier xml sous le format suivant :
or je voudrais obtenir un csv comme suit:
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 <?xml version="1.0" encoding="UTF-8"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <results> <result> <binding name="donnee"> <uri>http://www.bidulechouette.com</uri> </binding> <binding name="titre"> <literal xml:lang="fr">bazinga!!!!</literal> </binding> <binding name="emprise"> <box> <point1>hdfjhfj</point1> <point2>fhdjsfhsdio</point2> </box> </binding> <binding name="extent"> <literal>12256582</literal> </binding> </result> </results> </sparql>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'donnee';'titre';'point1';'point2';'extent' 'http://www.bidulechouette.com';'bazinga!!!!';'hdfjhfj';'fhdjsfhsdio';'12256582'
vous imaginez bien qu'il y a plein de petit <result> les uns à la suite des autres.
Pour obtenir mon csv je voulais modifier le format de mon xml qui est un peu trop alambiqué et comme ça excel m'aurait mis ça en csv sans souci mais je n'y arrive pas. J'ai essayé mon xslt sur un fichier différent et ça fonctionne donc je ne dois pas arriver à sélectionner correctement mes chemins. J'ai donc besoin de votre aide.
Voici ce que j'ai essayé en vain:
je débute tout juste en xslt et là je bloque. Merci d'avance pour votre aide précieuse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <xsl:template match="node() | @*"> <xsl:copy> <xsl:apply-templates select="node() | @*"/> </xsl:copy> </xsl:template> <xsl:template match="/binding[@name='donnee']"> <xsl:for-each select="current()"> <adresse><xsl:value-of select="uri"/></adresse> </xsl:for-each> </xsl:template>
Partager