xsd-parser-types 0.1.2

Types used by the code generated by xsd-parser
Documentation
# xsd-parser-types

Types and helpers used by the code generated by
[`xsd-parser`](https://github.com/Bergmann89/xsd-parser).

<a href="https://github.com/Bergmann89/xsd-parser/blob/master/LICENSE"><img src="https://img.shields.io/crates/l/xsd-parser-types" alt="Crates.io License"></a> <a href="https://crates.io/crates/xsd-parser-types"><img src="https://img.shields.io/crates/v/xsd-parser-types" alt="Crates.io Version"></a> <a href="https://crates.io/crates/xsd-parser-types"><img src="https://img.shields.io/crates/d/xsd-parser-types" alt="Crates.io Total Downloads"></a> <a href="https://docs.rs/xsd-parser-types"><img src="https://img.shields.io/docsrs/xsd-parser-types" alt="docs.rs"></a> <a href="https://github.com/Bergmann89/xsd-parser/actions/workflows/main.yml"><img src="https://github.com/Bergmann89/xsd-parser/actions/workflows/main.yml/badge.svg" alt="Github CI"></a> <a href="https://deps.rs/repo/github/Bergmann89/xsd-parser"><img src="https://deps.rs/repo/github/Bergmann89/xsd-parser/status.svg" alt="Dependency Status"></a>

---

## Overview

`xsd-parser-types` contains the **runtime types** that generated code from
[`xsd-parser`](https://crates.io/crates/xsd-parser) depends on. It is split out
into a separate crate to keep the main code generator light on dependencies and
to make it easier for downstream crates to control their own runtime stack.

The crate provides:

- small utility traits (`AsAny`, `WithNamespace`)
- helper types for XML namespaces and raw byte handling
- types for unstructured XML content (`xs:any`, `xs:anyAttribute`, mixed text)
- helper traits and adapters for `quick-xml`-based serialization and
  deserialization (incl. optional async support)

If you use `xsd-parser` to generate Rust code, you must also depend on
`xsd-parser-types` in your own crate and enable the correct feature flags.
Generated code will reference the runtime types from this crate, and missing
features will lead to compile-time errors.

In short: generated code requires `xsd-parser-types` as a direct dependency
with the same feature flags that were active during code generation.

## Features

```toml
[dependencies]
xsd-parser-types = { version = "0.1", features = [ "xml", "async", "quick-xml" ] }
```

Available features:

  - `xml` - enables the unstructured XML types
  - `async` - adds async deserializer reader support
  - `quick-xml` - enables serialization/deserialization support

Most users do not need to enable features manually, `xsd-parser` will automatically do this.

## License

This crate is licensed under the MIT License.