Bonjour à tous,

j'ai une question concernant xmlstarlet. J'ai ce fichier xml:

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?xml version="1.0"?>
<php_macro_engine_config xmlns="http://www.jedox.com/jedox/wss" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
contenu divers
</php_macro_engine_config>

je souhaiterais ajouter les lignes suivantes en utilisant xmlstarlet:

Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<functions loglevel="error">
    <function spreadsheet_function="GETTPOS"/>
    <function spreadsheet_function="GETLPOS"/>
</functions>

j'ai executé ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
xmlstarlet ed -s "/_:php_macro_engine_config" -t elem -n "functions" -v "" -i "/_:php_macro_engine_config/functions" -t attr -n loglevel -v error
-s "/_:php_macro_engine_config/functions" -t elem -n "function" -i "/_:php_macro_engine_config/functions/function" -t attr -n spreadsheet_function -v GETTPOS
-s "/_:php_macro_engine_config/functions" -t elem -n "function" -i "/_:php_macro_engine_config/functions/function" -t attr -n spreadsheet_function -v GETLPOS 
macro_engine_config.xml
la commande ci-dessus me crée ceci:
<function spreadsheet_function="GETTPOS" spreadsheet_function="GETLPOS"/>
<function spreadsheet_function="GETLPOS"/>

sans doute car les <function> ne sont pas uniques, et on ne peut pas les différencier?

Une idée?

D'avance merci!