Documentation

The XMLStarlet User's Guide is generated from the project source and covers every command with examples:

Read the User's Guide

Each command also has built-in help — run xml <command> --help. The man page (xmlstarlet.1) and a plain-text guide are installed alongside the binary.

Depending on how it was packaged, the command is invoked as either xml (the upstream default) or xmlstarlet. The examples below use xml.

Basic command line syntax

$ xml
XMLStarlet Toolkit: Command line utilities for XML
Usage: xml [<options>] <command> [<cmd-options>]
where <command> 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/RelaxNG)
   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
<options> are:
   --version            - show version
   --help               - show help
Wherever a file name is mentioned in command help, it is assumed
that a URL can be used instead as well.

Type: xml <command> --help <ENTER> for command help

We welcome feedback on the documentation. Comments, suggestions, and corrections can be filed on the GitHub issue tracker.