# 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)
You usually depend on this crate **indirectly** through generated code, but you
can also use its types directly in hand-written models if needed.