voilà un exemple,
Le fichier Xml en entrée :
nicolas@ubuntu:~/git-clones/xml-dev/src/xslt
$ cat inputs/table-row-attributes.xml
<?xml version="1.0" encoding="UTF-8"?>
<table>
<row titre='Definitive Xml Schema' auteur='Priscilla WALMSLEY' date='2002'
editeur='Prentice Hall'/>
<row titre='Xquery' auteur='Priscilla WALMSLEY' date='2007'
editeur="O'Reilly"/>
<row titre='Xslt 2.0 and Xpath 2.0' auteur='Michael KAY' date='2008'
editeur='Wiley Publishing'/>
</table>
La transformation xslt :
nicolas@ubuntu:~/git-clones/xml-dev/src/xslt
$ cat attributes-to-csv-root-row.xsl
<?xml version='1.0'?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- Paramétrage de la transformation
l'option strip white space à all
-->
<xsl:output method="text"/>
<xsl:template match="/root">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="row">
<xsl:for-each select="@*">
<xsl:value-of select="."/>
<xsl:if test="not(position()=last())">
<xsl:text>;</xsl:text>
</xsl:if>
</xsl:for-each>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
La ligne de commande pour exécuter la transformation :
nicolas@ubuntu:~/git-clones/xml-dev/src/xslt
$ java -cp /usr/local/lib/saxon/9.6.0.4/saxon9he.jar net.sf.saxon.Transform -strip:all
-s:inputs/table-row-attributes.xml -xsl:attributes-to-csv-root-row.xsl -o:~/tmp/xml-csv.csv
Et le résultat, le fichier csv attendu :
nicolas@ubuntu:~/git-clones/xml-dev/src/xslt
$ cat \~/tmp/xml-csv.csv
Definitive Xml Schema;Priscilla WALMSLEY;2002;Prentice Hall
Xquery;Priscilla WALMSLEY;2007;O'Reilly
Xslt 2.0 and Xpath 2.0;Michael KAY;2008;Wiley Publishing
nicolas@ubuntu:~/git-clones/xml-dev/src/xslt
$
Bien sûr à adapter en fonction du xml en entrée et du séparateur csv attendu.
On 07/04/2015 14:06, factooor wrote:
Bonjour Merci pour ta réponse ça peut-être une approche si tu as envie de
partager je suis preneur :)
--
View this message in context:
http://nabble.documentfoundation.org/Macro-import-XML-dans-Calc-tp4145297p4145582.html
Sent from the Users mailing list archive at Nabble.com.
--
Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous
désinscrire
Les archives de la liste sont disponibles à
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne
pourront pas être supprimés