Expand description
W3C XML Schema (XSD) → DDS-XTypes-Bridge (XTypes 1.3 §7.3.3).
Spec OMG XTypes 1.3 §7.3.3 erlaubt XSD als alternative Type-
Representation neben IDL/XML/TypeObject. Dieses Modul mappt eine
Untermenge von W3C XSD 1.0/1.1 auf das interne TypeLibrary-
Datenmodell aus crate::xtypes_def; via
crate::typeobject_bridge wird daraus ein
zerodds_types::TypeObject berechnet.
§Mapping (XTypes 1.3 §7.3.3 Tab.6.x)
XSD | DDS-Type
-------------------------------------- | -------------------------
<xsd:schema> | TypeLibrary (Top-Level)
<xsd:complexType name=X> | <struct name=X>
<xsd:sequence> |
<xsd:element name=f type=t/> | <member name=f type=t/>
<xsd:simpleType name=E> | <enum name=E>
<xsd:restriction base="xsd:string"> |
<xsd:enumeration value=A/> | <enumerator name=A/>
minOccurs=0 (Element) | optional=true
maxOccurs=unbounded | sequence
maxOccurs=N (N>1) | bounded sequence§Built-In Type Mapping
xsd:boolean | xsd:byte | xsd:short | xsd:int | xsd:long
-> boolean octet short long longlong
xsd:unsignedByte | xsd:unsignedShort | xsd:unsignedInt | xsd:unsignedLong
-> octet ushort ulong ulonglong
xsd:float | xsd:double | xsd:string | xsd:base64Binary
-> float double string sequence<octet>§Bewusst nicht im Crate
- Voller XSD-1.1-Validator (key/keyref, assertions).
<xsd:choice>als Union-Equivalent (Spec sieht das nicht normativ vor; folgt evtl. Phase 2).- XSD
xsd:include/xsd:import(Multi-File-Schemas). - Mixed Content / Attribute-as-Member.
Functions§
- parse_
xsd_ schema - Parst ein XSD-Schema-Dokument und liefert eine
TypeLibrary.