XMLStarlet command line utility is written in C and uses libxml2 and libxslt from Implementation of extensive choice of options for XMLStarlet utility was only possible because of rich feature set of libxml2 and libxslt (many thanks to the developers of those libraries for great work).'diff' and 'patch' options are not currently implemented. Please, send an email to the project administrator (see if you wish to help. That is why the validating parser tells you it can't find a declaration for that element, you haven't provided a schema for elements in no namespace.You either need to change the schema to not use a target namespace at all or you need to change the instance to use e.g."value-of": A child element used as part of the content of a "template" element.An "value-of" element serves as an XPath string expression evaluation statement.All you have to do is use a parser that has DTD validation enabled: option, which loads the DTD and weaves attribute default values into the document.
Libxml2 is known to be very portable, the library should build and work without serious troubles on a variety of systems (Linux, Unix, Windows, Cyg Win, Mac OS, Mac OS X, RISC Os, OS/2, VMS, QNX, MVS, Vx Works, ...) Libxml2 implements a number of existing standards related to markup languages: In most cases libxml2 tries to implement the specifications in a relatively strictly compliant way."Programming with libxml2 is like the thrilling embrace of an exotic stranger." Mark Pilgrim Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside of the Gnome platform), it is free software available under the MIT License.XML itself is a metalanguage to design markup languages, i.e.Comments, suggestions, feature requests, bug reports can be done via Source Forge project web site (see XMLStarlet Sourceforge forums, or XMLStarlet mailing list) is one of: ed (or edit) - Edit/Update XML document(s) sel (or select) - Select data or query XML document(s) (XPATH, etc) tr (or transform) - Transform XML document(s) using XSLT val (or validate) - Validate XML document(s) (well-formed/DTD/XSD/Relax NG) fo (or format) - Format XML document(s) el (or elements) - Display element structure of XML document c14n (or canonic) - XML canonicalization ls (or list) - List directory as XML esc (or escape) - Escape special XML characters unesc (or unescape) - Unescape special XML characters pyx (or xmln) - Convert XML into PYX format (based on ESIS - ISO 8879) p2x (or depyx) - Convert PYX into XML are: -q or --quiet - no error output --doc-namespace - extract namespace bindings from input doc (default) --no-doc-namespace - don't extract namespace bindings from input doc --version - show version --help - show help Wherever file name mentioned in command help it is assumed that URL can be used instead as well.Type: xml Before you do anything with your XML document you probably would like to know its structure at first. Let's say you have the following XML document (table.xml)xml xml/table xml/table/rec xml/table/rec/num Field xml/table/rec/string Field xml/table/rec xml/table/rec/num Field xml/table/rec/string Field xml/table/rec xml/table/rec/num Field xml/table/rec/string Field Every line in this output is an XPath expression which indicates a 'path' to elements in XML document.