Skip to main content

Module typeobject_bridge

Module typeobject_bridge 

Source
Expand description

XML → TypeObject Bridge (Cluster C4.5-b).

Konvertiert das interne XML-Datenmodell aus [xtypes_def] in das XTypes-1.3-TypeObject-Format aus zerodds-types. Wire-/Hash-Kompatibel mit dem IDL-Lowering aus zerodds-idl::semantics::to_typeobject.

§Spec-Quellen

  • OMG XTypes 1.3 §7.3.4.x — TypeObject + Minimal/Complete-Variants.
  • OMG XTypes 1.3 §7.3.4.5 — MinimalStructType / EnumType / UnionType.
  • OMG XTypes 1.3 Annex A — XML-Mapping.

§Scope C4.5-b (diese Stufe)

  • Nur MinimalTypeObject. CompleteTypeObject nicht implementiert.
  • Top-Level-Mapping (struct, enum, union, typedef, bitmask, bitset).
  • Member-Typen via TypeRef::Primitive (direkt) oder TypeRef::Named (Lookup in TypeLibrary mit Hash-Vorberechnung).
  • Modifier arrayDimensions/sequenceMaxLength/stringMaxLength wickeln den Member-TypeIdentifier in PlainArray-/PlainSequence-/ String-Bound-Variants.
  • Member-IDs: @id aus XSD wenn gesetzt, sonst sequentiell ab 1 (AUTOID_SEQUENTIAL, Spec §7.3.1.2.1.1).
  • Extensibility: final/appendable/mutable aus Extensibility auf StructTypeFlag/UnionTypeFlag mappen.

§Bewusst nicht im Crate

  • CompleteTypeObject (kommt in Phase 6).
  • Forward-Declarations / Cross-Library-Refs.
  • Inheritance via baseType — der Bridge setzt zwar base_type als EquivalenceHashMinimal, aber Cycle-Detection bleibt Aufgabe des bestehenden crate::inheritance-Moduls.
  • @autoid(HASH) — XML-Schema kennt keine entsprechende Annotation.

Enums§

BridgeError
Fehler beim XML→TypeObject-Mapping.

Functions§

bridge_library
Konvertiert eine ganze TypeLibrary in eine Map Name → MinimalTypeObject. Named-Refs zwischen Types innerhalb der Library werden in einem zweistufigen Pass aufgeloest:
xml_type_to_minimal_typeobject
Wie xml_type_to_typeobject, aber direkt als MinimalTypeObject (ohne Discriminator-Wrapper).
xml_type_to_typeobject
Konvertiert ein einzelnes XmlType-TypeDef in einen TypeObject (Minimal-Variant).