Xul is a set of XML scripts written in Python.
ppx
: pretty print XMLxp
: select XML nodes with XPathtransform
: transform XML with XSLTvalidate
: validate XML with XSD, DTD or RELAX NG
Xul command line scripts can be installed with pip:
$ pip install Xul
Install Pygments for XML syntax highlighting (optional).
$ pip install Xul[syntax]
Xul uses the excellent lxml XML toolkit, a Pythonic binding for the C libraries libxml2 and libxslt.
Xul documentation can be found on Read The Docs.
List the command-line options of a Xul script with --help
.
For example:
$ xp --help usage: xp [-h] [-V] [-l | -L] [-d DEFAULT_NS_PREFIX] [-e] [-q] [-p] [-r] [-m] xpath_expr [xml_source ...] Select nodes in an XML source with an XPath expression. positional arguments: xpath_expr XPath expression xml_source XML source (file, <stdin>, http://...) options: -h, --help show this help message and exit -V, --version show program's version number and exit -m, --method use ElementTree.xpath method instead of XPath class file hit options: output filenames to standard output -l, -f, --files-with-hits only the names of files with a non-false and non-NaN result are written to standard output -L, -F, --files-without-hits only the names of files with a false or NaN result, or without any results are written to standard output namespace options: -d DEFAULT_NS_PREFIX, --default-prefix DEFAULT_NS_PREFIX set the prefix for the default namespace in XPath [default: 'd'] -e, --exslt add EXSLT XML namespaces -q, --quiet don't print XML source namespaces output options: -p, --pretty-element pretty print the result element -r, --result-xpath print the XPath expression of the result element (or its parent)
- Extensible Markup Language (XML) 1.0
- XML Schema 1.1
- XSL Transformations (XSLT) 1.0
- XML Path Language (XPath) 1.0
- Namespaces in XML 1.0