Expand description
Declarative TOML-based MIG-tree <-> BO4E mapping engine.
§Architecture
- TOML mapping files define simple 1:1 field mappings
- Complex handlers are Rust functions for non-trivial logic
- MappingEngine loads all definitions and provides bidirectional conversion
§Usage
ⓘ
let engine = MappingEngine::load("mappings/FV2504/UTILMD_Strom/pid_55001")?;
let def = engine.definition_for_entity("Marktlokation").unwrap();
let bo4e = engine.map_forward(&tree, def, 0);
let instance = engine.map_reverse(&bo4e, def);Re-exports§
pub use engine::DataBundle;pub use engine::MappingEngine;pub use engine::VariantCache;pub use error::MappingError;pub use error_mapping::Bo4eFieldIndex;pub use handlers::HandlerRegistry;pub use model::MappedMessage;pub use model::MappedTransaktion;pub use path_resolver::PathResolver;pub use pid_requirements::load_definitions_for_pid;pub use pid_requirements::PidRequirements;pub use pid_schema_index::PidSchemaIndex;pub use pid_validation::PidValidationError;pub use pid_validation::ValidationReport;
Modules§
- code_
lookup - Code enrichment lookup — maps EDIFACT companion field codes to human-readable meanings.
- definition
- TOML mapping definition types.
- engine
- Mapping engine — loads TOML definitions and provides bidirectional conversion.
- error
- error_
mapping - Maps EDIFACT validation paths to BO4E field paths.
- handlers
- Complex mapping handler registry.
- model
- Output model types for the MIG-driven mapping pipeline.
- path_
resolver - Resolves EDIFACT ID paths to numeric element indices (and vice versa).
- pid_
requirements - PID field requirements — built from PID schema JSON + TOML mappings.
- pid_
schema_ index - Lightweight PID schema index for checking which groups exist in a PID.
- pid_
validation - PID validation errors — typed, LLM-consumable error reports.
- segment_
structure - MIG-aware segment structure lookup.
Structs§
- Interchange
- A complete EDIFACT interchange. M = message stammdaten, T = transaction stammdaten.
- Interchangedaten
- EDIFACT interchange envelope metadata (UNB/UNZ).
- Nachricht
- A single EDIFACT message within an interchange.
- Nachrichtendaten
- EDIFACT message metadata (UNH/UNT).
Type Aliases§
- Dynamic
Interchange - Dynamic variant for untyped usage.
- Dynamic
Nachricht - Dynamic variant for untyped message usage.