Project Release Information
This release fixes a crash in the pyx subcommand that occurred when it handled nodes with multiple attributes.
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.
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.
A crash when libxml2 returned NULL nodeset result was fixed. "-" was being confused with --elif. The generated XSLT now contains the namespaces extracted from the first input file. -N is once again allowed after other options. Namespace values were being registered as prefixes. A segfault is avoided when asked to move namespace nodes. There was a missing newline in the ed --help message. The test scripts portability was improved. XML_SAVE_WSNONSIG is only used if libxml is version 2.7.8 or later.
This release implements --update --expr for the ed command. The ed and sel commands use top-level namespace definitions from first input file, which should remove the need to define namespaces on the command line with -N in most cases. Select exits with 0 only if the result is non-empty. The -Q option has been added to select, like grep's -q. This release adds column number and restores input context (lost in version 1.0.3) to error messages. It adds the --net option to c14n, ed, fo, and val. It removes --catalog from the tr --help message since it isn't actually supported. It adds --elif and --else to the sel --help message.
XMLStarlet is a set of command line XML utilities