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

Reply via email to