rsconstruct 0.9.132

Rust based fast build system
# XMLLint Processor

## Purpose

Validates XML files using [xmllint](http://xmlsoft.org/xmllint.html).

The Rust alternative is [ixmllint](ixmllint.md): the same well-formedness checks and `--schema` validation, in-process, with libxml2's messages and verdicts. Switching is `xmllint` → `ixmllint` in the stanza header, and `args = ["--schema", "x.xsd"]` → `schema = "x.xsd"`. Files that need `--valid`, `--dtdvalid` or `--relaxng` stay here.

## How It Works

Discovers `.xml` files in the project (excluding common build tool directories),
runs `xmllint --noout` on each file, and records success in the cache. A non-zero
exit code from xmllint fails the product.

This processor supports batch mode.

## Source Files

- Input: `**/*.xml`
- Output: none (checker)

## Configuration

```toml
[processor.checker.xmllint]
args = []
dep_inputs = []
```

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| `args` | string[] | `[]` | Extra arguments passed to xmllint |
| `dep_inputs` | string[] | `[]` | Extra files whose changes trigger rebuilds |

## Batch support

The tool accepts multiple files on the command line. When batching is enabled (default), rsconstruct passes all files in a single invocation for better performance.

## Clean behavior

This processor is a Checker — `rsconstruct clean outputs` is a no-op for it (checkers produce no outputs). See [Clean behavior](../../processors.md#clean-behavior) and [`rsconstruct clean`](../../commands.md#rsconstruct-clean).