Expand description
Conversion from layer 1 (the private schema module, generated by
xsd-parser from the SUMO XSDs) to layer 2
(crate::additional::domain).
Mirrors the other formats’ mappers in spirit, but is independent code:
additional doesn’t require net or routes to be enabled, so it
can’t reuse their conversions.
The one thing worth knowing here is that SUMO’s floatType is declared
in types/base.xsd as an xsd:string restricted by a pattern, not as
xsd:float — so xsd-parser hands positions over as String and this
module parses them. positiveFloatType and nonNegativeFloatType are
real xsd:floats, and arrive as f32.