edit command


edit [--editor|:E filename] [--all|:A] [--noindent|:n] [--recover|:r] [--keep-blanks|:k] [--allow-empty|:0] [--no-coment|:q] [--encoding|:e encoding] expression


This command may be used to interactively edit parts of a XML document directly in your favorite editor.

A given expression is evaluated to a node-list and the first the first resulting node is opened in an external editor as a XML fragment. When the editor exits, the (possibly modified) fragment is parsed and returned to the original document. Unless --no-comment (:q) flag is used, the XML fragment is preceded with a XML comment specifying canonical XPath of the node being edited.

The command returns a node-list consisting of nodes that resulted from parsing the individual edits.

--editor or :E option may be used to specify external editor command. If not specified, environment variables EDITOR and VISUAL are tried first, then vi editor is used as a fallback.

If --all or :A flag is present, all nodes from the node-list are opened in the editor, one at a time.

If --recover or :r is specified, the parser tries to recover from possible syntax errors when parsing the resulting XML.

--keep-blanks or :b option may be used to force the parser to include ignorable white space.

If the result saved by the editor is empty, the interactive XSH2 shell asks user to confirm this was correct. This confirmation can be suppressed using --allow-empty or :0 (zero) options.

The --encoding or :e parameter can be used to specify character encoding to use when communicating with the external editor.

Example 1. Edit all chapter elements (one by one) with emacs

edit --editor 'emacs -nw' --encoding iso-8859-1 --all //chapter


Tree modification