Skip to main content

Module xsd

Module xsd 

Source
Expand description

XSD parsing module.

Provides types and a streaming parser for the subset of XSD constructs used in ISO 20022 schema files.

§Quick start

use std::{fs::File, io::BufReader};
use mx20022_codegen::xsd::parser::parse;

let file = File::open("schemas/head/head.001.001.04.xsd").unwrap();
let schema = parse(BufReader::new(file)).unwrap();
println!("namespace: {}", schema.target_namespace);
println!("{} complex types", schema.complex_types.len());

Re-exports§

pub use parser::parse;
pub use parser::parse_str;
pub use parser::ParseError;
pub use types::Attribute;
pub use types::ChoiceVariant;
pub use types::ComplexContent;
pub use types::ComplexType;
pub use types::Element;
pub use types::Facet;
pub use types::MaxOccurs;
pub use types::Restriction;
pub use types::Schema;
pub use types::SequenceElement;
pub use types::SimpleType;

Modules§

parser
XSD parser built on quick_xml streaming events.
types
XSD Abstract Syntax Tree types.