XMLStarlet is a set of command line XML utilities which can be used to transform, query, validate, and edit XML documents and files using a simple set of shell commands, similar to the way it is done for plain text files using grep/sed/awk/tr/diff/patch.
|Tags||Software Development Interpreters Text Processing Markup DocBook HTML/XHTML SGML XML XSL/XSLT Utilities Shells Systems Administration Internet Web Site Management|
|Operating Systems||Mac OS X Windows Windows POSIX Solaris Linux Unix BSD|
Release Notes: This release fixes a crash in the pyx subcommand that occurred when it handled nodes with multiple attributes.
Release Notes: A crash with invalid editing operations has been fixed. The documentation can now be built from the tarball and installs to the correct place. The test suite has been made more forgiving of serialization differences between libxml2 versions.
Release Notes: This release adds Makefile rules for generating documentation (./configure --enable-build-docs) consistent with --transform-program-name. The ed subcommand now handles relative XPaths correctly, and there is no longer a hard limit on the number of edit operations. The last nodeset inserted can be accessed as the XPath variable $prev (or $xstar:prev), and new variables can also be defined with --var. ed -u -x may now insert nodesets instead of converting to string. The pyx subcommand now handles namespaces correctly.
Release Notes: Multiple values for --value-of are now correctly output with separating newlines. External entities are substituted. Pyx output now has a space between the attribute name and the value.
Release Notes: ASCII carriage returns are no longer added when editing UTF-16/32 xml files under Windows. --value-of now outputs the newline-separated values of all nodes instead of just the first. Special characters produced by ed -u -x are now properly escaped. EXSLT functions can now be used in ed -u -x expressions. This release adds a --var option to select. A libxml bug which caused bogus data to be passed to the error handler was worked around.