Here is synopsis for 'xml val' command:
XMLStarlet Toolkit: Validate XML document(s) Usage: xml val <options> [ <xml-file-or-uri> ... ] where <options> -w or --well-formed - validate well-formedness only (default) -d or --dtd <dtd-file> - validate against DTD -s or --xsd <xsd-file> - validate against XSD schema -r or --relaxng <rng-file> - validate against Relax-NG schema -e or --err - print verbose error messages on stderr -b or --list-bad - list only files which do not validate -g or --list-good - list only files which validate -q or --quiet - do not list files (return result code only) NOTE: XML Schemas are not fully supported yet due to its incomplete support in libxml (see http://xmlsoft.org) XMLStarlet is a command line toolkit to query/edit/check/transform XML documents (for more information see http://xmlstar.sourceforge.net/)
EXAMPLE
# Validate XML document against DTD xml val --dtd dtd/table.dtd xml/tab-obj.xml >/dev/null 2>&1; echo $?
Output:
1
EXAMPLE
# Validate against XSD schema xml val -b -s xsd/table.xsd xml/table.xml xml/tab-obj.xml 2>/dev/null; echo $?
Output:
xml/tab-obj.xml 1