Thanks, Noam, for the detailed answer! It seems to me that there is indeed XSLT support for str:replace but the XPath support was removed 5 years ago because of a bug which seemed "impossible" to fix: https://gitlab.gnome.org/GNOME/libxslt/commit/ae49d7a73b043bccb7631e7d9577bcaa0bbf8528 . Please can you confirm that this makes my code not possible to work at the moment? In this case the way to go is to try to find a fix for the "impossible" one in libxslt...
I would like to do something like this: xmlstarlet ed -u "/my/xpath[@entry]/@entry -x "str:replace(.,\"from\",\"to\")" But str:replace is not implemented in xmlstarlet. Unfortunately I am unsure which exslt commands are implemented, I found no information on how I get a complete list of the supported functions. I am also interested in improving the code to make this easily possible. Where to start? Thanks!