...XSH - XML Editing Shell

Support This Project

SF project page
Hosted on SourceForge
RSS feed

Older News

xmltools-bundle updated
Tue Mar 30 10:33:48 2004

A package bundling libxml2 and perl XML modules required to run XSH on GNU/Linux or Unix platforms was updated to ship the latest versions: libxml2-2.6.8, XML::LibXSLT 1.57 and a pre-release snapshot of XML::LibXML 1.58.

New features in CVS
Mon Dec 15 15:41:56 2003

While new release should appear within the first weeks of January 2004, let's see some highlights already available in CVS version:

  • Large amount of new predefined XPath extension functions making the tool more powerful than ever: current, doc, grep, id2, if, join, map, matches, max, min, new-attribute, new-cdata, new-chunk, new-comment, new-element, new-element-ns, new-pi, new-text, node-type, parse, path, reverse, same, serialize, split, sprintf, strmax, strmin, subst, substr, sum, times, var.
  • All predefined XPath extension functions use XSH namespace associated by default with prefix xsh. New command extension-functions can be used to allow using these functions without prefix.
  • Documentation improvements. Help on predefined extension functions is available with help xsh:function.
  • New commands: wrap, wrap-span, lineno
  • Nodes created with copy, move, add, and wrap (and their variants) can be stored in a nodelist using command args result %nodelist syntax.
  • Some internal preparation for XSH2

The January release will most probably be the last XSH 1 release. XSH 2 will bring some backward incompatible changes and would yield to cleaner and simplier XSH syntax, more tightly connected to XPath and Perl (it will be for example possible to use both Perl expressions - enclosed in braces - and XPath expressions at almost any place where expressions can occur). It will also replace string variables of XSH 1 with XPath variables capable of containing any XPath object (accessible equally from XPath and Perl) In a nutshell: XSH2 will rock :-)

fixed problem with package released on Sourceforge
Thu Sep 11 16:58:29 2003
The XML-XSH-1.8.2.tar.gz package released yesterday on SourceForge was broken (probably due to error in ftp transfer). CPAN upload was ok. All hopefully fixed now, thanks to Oliver Eikemeier for reporting the problem.

XSH 1.8.2 released
Wed Sep 10 17:08:41 2003

This is a bug-fix release with some enhancements.

  • new xsh command-line option --format to start with indent 1 and keep_blanks 0
  • new xsh command-line options --input (-I), --output (-O), and --process (-P) to automatically open given file (as a default document called _ - underscore) and save it after the processing
  • external DTD validation support (valid, validate)
  • RelaxNG and XSD validation support for valid and validate (requires latest CVS LibXML) - EXPERIMENTAL
  • conditional variant of include (ifinclude) added
  • new commands set-enc and set-standalone allow changing the values in document's XML decl
  • new commands affecting serialization: empty-tags ($EMPTY_TAGS) and skip-dtd ($SKIP_DTD).
  • new Perl module: Inline::XSH to simplify inclusion of inline XSH code in Perl programs
Bug fixes:
  • fixed broken XPath extension functions (xsh:grep, xsh:matches, ...)
  • encoding related fix for Perl 5.8 (now using Encode in Perl 5.8)
  • serialization now doesn't force utf-8 encoding on files with no encoding specified
  • fixed @ARGV passing
  • documentation fixes
  • other general bug fixes

XSH 1.8 released (at last)
Tue Aug 12 14:43:39 2003

This release contains major feature enhancements as well as some bug-fixes.

User Interface:
  • Major TAB-completion improvements: XPath-completion (can be disabled for large documents), improved filename, command, variable and keyword completion.
  • xsh without arguments starts in interactive shell mode if run from a terminal
  • xsh -p for easier pipe-line XML processing.
  • xsh now defines long variants for command-line options.
  • xsh --man displays nice manual page.
  • New command-line options mentioned in older news on CVS versions.
  • register-namespace (regns) command for registering a namespace prefix to be used in XPath queries.
  • register-function (regfunc) command allowing writing a custom XPath extension functions (in Perl) - EXPERIMENTAL
  • XPath extensions functions xsh:doc,xsh:matches,xsh:grep,xsh:same (check xsh help xpath or the on-line documentation here).
  • undef command to undefine existing XSH subroutines allowing include-scripts to be reloaded - EXPERIMENTAL
  • stream command for processing huge documents, that do not fit into memory - EXPERIMENTAL
  • rename command similar to map but working on node's name rather than content.
  • Some document-oriented commands (such as save) no longer require arguments (assuming current document's ID by default)
  • Many other new commands, mentioned in older news about CVS version enhancements include: try/catch, throw, last, prev, next, redo, return, strip, normalize, catalog, iterate, sort, types. Also mentioned before: sort has new simpified syntax.
  • Improved documentation: manpages (xsh(1) and XSH(3)), and command-line help xsh --help, xsh --man.
  • xsh now uses long options.
  • Simplified Windows installation based on PPM.
  • Disabled GDOME support
  • Bug fixes.
  • Updated bundle of requred modules

XSH 1.8 is supposed to be the last major XSH 1 release (maintenance and bug-fix releases may follow, though). In the future, I plan to concentrate on a next-generation XSH 2. It should be easier to use (and learn) yet even more powerful. As a result, XSH 2.0 will probably introduce incompatible changes both to the language and the command-line interface but hopefully, those changes will be to the better.

News: 1-5 | 6-10 | 11-15 | 16-20 | 21-25 | 26-30 | 31-33