mx20022_codegen/xsd/mod.rs
1//! XSD parsing module.
2//!
3//! Provides types and a streaming parser for the subset of XSD constructs used
4//! in ISO 20022 schema files.
5//!
6//! # Quick start
7//!
8//! ```no_run
9//! use std::{fs::File, io::BufReader};
10//! use mx20022_codegen::xsd::parser::parse;
11//!
12//! let file = File::open("schemas/head/head.001.001.04.xsd").unwrap();
13//! let schema = parse(BufReader::new(file)).unwrap();
14//! println!("namespace: {}", schema.target_namespace);
15//! println!("{} complex types", schema.complex_types.len());
16//! ```
17
18pub mod parser;
19pub mod types;
20
21pub use parser::{parse, parse_str, ParseError};
22pub use types::{
23 Attribute, ChoiceVariant, ComplexContent, ComplexType, Element, Facet, MaxOccurs, Restriction,
24 Schema, SequenceElement, SimpleType,
25};