zerodds_xml_wire/lib.rs
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2026 ZeroDDS Contributors
3//! DDS-XML 1.0 Wire-PSM (`formal/2019-09-01` §6) — XML als
4//! Wire-Format fuer DDS-Topic-Daten.
5//!
6//! Crate `zerodds-xml-wire`. Safety classification: **STANDARD**.
7//!
8//! Spec §6 spezifiziert XML als alternative Wire-Repraesentation fuer
9//! Topic-Samples (parallel zu CDR). Wir liefern:
10//!
11//! * [`codec`] — Bidirektionaler XML↔CDR-Codec auf Type-Token-Ebene.
12//! * [`xsd`] — XSD-Schema-Generation aus IDL-Type-Definitionen.
13//! * [`parser`] — Streaming-XML-Parser (kein DOM-Buffering).
14//! * [`emitter`] — Streaming-XML-Emitter mit XML 1.0 Conformance.
15//! * [`validator`] — Schema-Validation gegen XSD.
16
17#![no_std]
18#![forbid(unsafe_code)]
19#![warn(missing_docs)]
20
21extern crate alloc;
22
23#[cfg(feature = "std")]
24extern crate std;
25
26pub mod codec;
27pub mod emitter;
28pub mod parser;
29pub mod validator;
30pub mod xsd;
31
32pub use codec::{CodecError, FieldKind, FieldValue, decode_xml, encode_to_xml};
33pub use emitter::{EmitError, XmlEmitter};
34pub use parser::{Event, ParseError, XmlParser};
35pub use validator::{ValidationError, validate};
36pub use xsd::{XsdGenerator, XsdType};