Skip to main content

Crate ooxml_codegen

Crate ooxml_codegen 

Source
Expand description

Code generator for OOXML types from RELAX NG schemas.

This crate parses RELAX NG Compact (.rnc) schema files from the ECMA-376 specification and generates Rust structs for Office Open XML types.

Re-exports§

pub use analysis::ModuleReport;
pub use analysis::analyze_schema;
pub use ast::DatatypeParam;
pub use ast::Definition;
pub use ast::Namespace;
pub use ast::Pattern;
pub use ast::QName;
pub use ast::Schema;
pub use codegen::CodegenConfig;
pub use codegen::FeatureMappings;
pub use codegen::ModuleMappings;
pub use codegen::NameMappings;
pub use codegen::generate;
pub use lexer::LexError;
pub use lexer::Lexer;
pub use parser::ParseError;
pub use parser::Parser;
pub use parser_gen::generate_parsers;
pub use serializer_gen::generate_serializers;

Modules§

analysis
Static analysis for codegen configuration files.
ast
AST types for RELAX NG Compact syntax (subset used by OOXML schemas).
codegen
Rust code generator from parsed RNC schemas.
lexer
Lexer for RELAX NG Compact syntax.
parser
Parser for RELAX NG Compact syntax.
parser_gen
Event-based XML parser generator.
serializer_gen
XML serializer code generator.

Enums§

Error

Functions§

lex_rnc
Lex an RNC schema into tokens (for debugging).
parse_rnc
Parse an RNC schema from a string.