oxml-drawing 0.14.2

DrawingML models and serialization for OOXML documents
Documentation
# oxml-drawing

Parse, edit, resolve, and serialize reusable DrawingML content without
depending on a document format.

## Capabilities

- Typed colors with theme and color-map resolution.
- Solid, gradient, pattern, image, and no-fill models.
- Preset and custom geometry, lines, transforms, text bodies, and tables.
- Schema-ordered writing with ordered preservation of unmodelled children.
- Shared chart, table, color, theme, and geometry models serve both document
  families without importing either facade.

## Measured footprint and speed

The archive row is regenerated from the package that carries this README.

| Measurement | Value | Version | Platform | Build mode | Input | Command | Statistic | Measured on |
|---|---|---|---|---|---|---|---|---|
| Crates.io archive: oxml-drawing | 226,344 compressed bytes, 1,491,701 member bytes, 24 members | 0.14.2 | macOS 26.6.2, Apple M5 Max, arm64 | `cargo publish --workspace --dry-run --allow-dirty --locked` | Tracked `oxml-drawing` package inventory | `python3 scripts/readme_doctests.py --record-measurements` | gzip archive bytes, tar member bytes, tar member count | 2026-10-16 |

## Use it when

Use this crate when reading or writing DrawingML shared by DOCX and PPTX packages. Use `rpptx` or `rdocx` for complete documents.

## Relationship

It consumes format-neutral OOXML primitives and supplies drawing models to
presentation and rendering crates. Format-specific anchors, wrappers,
packaging, and rendering belong elsewhere. Effects and DrawingML elements that
are not typed remain preserved rather than being interpreted.

## Example

```rust,no_run
use oxml_drawing::fill::Fill;

let fill = Fill::from_xml(
    br#"<a:noFill xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>"#,
)?;
assert!(matches!(fill, Fill::NoFill(_)));
# Ok::<(), oxml_drawing::fill::FillError>(())
```

Add `oxml-drawing = "0.14.2"` to your dependencies. Browse the [typed DrawingML API](https://docs.rs/oxml-drawing) before constructing schema-level values directly.