---
name: "xq-python"
section: "1"
platform: "linux"
package: "yq"
version: "3.4.3-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/xq-python"
---

# xq-python(1)

Command-line XML processor - jq wrapper for XML documents

## NAME

xq - Command-line XML processor - jq wrapper for XML documents

## SYNOPSIS

**jq** \[*options*\] *\<jq filter\>* \[*file*...\]

## DESCRIPTION

usage: xq \[options\] \<jq filter\> \[input file...\]

-

  \[--version\] \[jq\_filter\] \[files ...\]

xq: Command-line XML processor - jq wrapper for XML documents

xq transcodes XML documents to JSON and passes them to jq. See https://github.com/kislyuk/xq for more information.

### positional arguments:

-

  jq\_filter files

### options:

- **-h**, **--help**

  show this help message and exit

- **--xml-output**, **-x**

  Transcode jq JSON output back into XML and emit it

- **--xml-item-depth** 123

  Specify depth of items to emit (default 0; use a positive integer to stream large docs)

- **--xml-dtd**

  Preserve XML Document Type Definition (disables streaming of multiple docs)

- **--xml-root** XML\_ROOT

  When transcoding back to XML, envelope the output in an element with this name

- **--xml-force-list** ELT

  Emit a list for elements with this name even if they occur only once (option can repeat)

- **--in-place**, **-i**

  Edit files in place (no backup - use caution)

- **--version**

  show program's version number and exit

jq - commandline JSON processor \[version 1.7\]

-

  jq \[options\] **--args** \<jq filter\> \[strings...\] jq \[options\] **--jsonargs** \<jq filter\> \[JSON\_TEXTS...\]

jq is a tool for processing JSON inputs, applying the given filter to its JSON text inputs and producing the filter's results as JSON on standard output.

The simplest filter is ., which copies jq's input to its output unmodified except for formatting. For more advanced filters see the [jq(1)](/jq/1.md) manpage ("man jq") and/or https://jqlang.github.io/jq/.

Example:

-

  `$ echo '{"foo": 0}' | jq .`

-

  {

-

  "foo": 0

-

  }

### Command options:

- **-n**, **--null-input**

  use \`null\` as the single input value;

- **-R**, **--raw-input**

  read each line as string instead of JSON;

- **-s**, **--slurp**

  read all inputs into an array and use it as the single input value;

- **-c**, **--compact-output**

  compact instead of pretty-printed output;

- **-r**, **--raw-output**

  output strings without escapes and quotes;

- **--raw-output0**

  implies **-r** and output NUL after each output;

- **-j**, **--join-output**

  implies **-r** and output without newline after each output;

- **-a**, **--ascii-output**

  output strings by only ASCII characters using escape sequences;

- **-S**, **--sort-keys**

  sort keys of each object on output;

- **-C**, **--color-output**

  colorize JSON output;

- **-M**, **--monochrome-output**

  disable colored output;

- **--tab**

  use tabs for indentation;

- **--indent** n

  use n spaces for indentation (max 7 spaces);

- **--unbuffered**

  flush output stream after each output;

- **--stream**

  parse the input value in streaming fashion;

- **--stream-errors**

  implies **--stream** and report parse error as an array;

- **--seq**

  parse input/output as application/json-seq;

- **-f**, **--from-file** file

  load filter from the file;

- **-L** directory

  search modules from the directory;

- **--arg** name value

  set $name to the string value;

- **--argjson** name value

  set $name to the JSON value;

- **--slurpfile** name file set $name to an array of JSON values read

  from the file;

- **--rawfile** name file

  set $name to string contents of file;

- **--args**

  consume remaining arguments as positional string values;

- **--jsonargs**

  consume remaining arguments as positional JSON values;

- **-e**, **--exit-status**

  set exit status code based on the output;

- **-V**, **--version**

  show the version;

- **--build-configuration**

  show jq's build configuration;

- **-h**, **--help**

  show the help;

- **--**

  terminates argument processing;

Named arguments are also available as $ARGS.named\[\], while positional arguments are available as $ARGS.positional\[\].

## SEE ALSO

The full documentation for **xq** is maintained as a Texinfo manual.  If the **info** and **xq** programs are properly installed at your site, the command

-

  **info xq**

should give you access to the complete manual.
