Expand description
DDS-XML 1.0 Loader — well-formed Foundation (Cluster F).
Crate zerodds-xml. Implementiert die gemeinsame Wohlgeformtheits- und
IDL-PSM-Mapping-Schicht aus DDS-XML 1.0 §7.1 und §7.2. Building-Block-
spezifische Decoder (QoS-Library, Types, Domains, Participants,
Applications, Samples) bauen auf diesem Crate auf — siehe
docs/spec-coverage/zerodds-xml-1.0.open.md Cluster G/H/I/J.
§Spec-Quellen
- OMG DDS-XML 1.0, formal/18-10-01, Dezember 2018.
- §7.1 — XML Representation Syntax (General Rules + Schema + Chameleon Pattern).
- §7.2 — XML Representation of DDS IDL PSM (Datentyp-Mapping).
- §7.2.2 — Symbol-Konstanten (
LENGTH_UNLIMITED,DURATION_INFINITE_*). - §7.2.6 —
Duration_t-Repraesentation.
§Public API (Foundation)
parse_xml_tree— Generischer Wohlgeformtheits-Loader, liefertDdsXmlDocument.parse_dds_xml— High-Level Building-Block-Loader, liefertDdsXml(Cluster G+H+I+J).DdsXmlDocument/XmlElement— In-Memory-Baum.- Datentyp-Helper aus
types(Boolean, Long, ULong, Duration, Enum-Whitelist, String). - Inheritance-Aufloesung aus
inheritance::resolve_chainmit Cycle-Detection. - Fehler aus
XmlError.
Safety classification: STANDARD.
Siehe docs/architecture/02_architecture.md §3 und
docs/architecture/04_safety_by_architecture.md §2.
Das Crate ist #![forbid(unsafe_code)], no_std + alloc, und
verwendet ausschliesslich roxmltree (Apache-2.0 / MIT, pure-Rust)
als XML-Backend.
Re-exports§
pub use application::ApplicationEntry;pub use application::ApplicationLibrary;pub use application::parse_application_libraries;pub use conformance::IDL_TO_XML_MAPPING;pub use conformance::SUPPORTED_BUILDING_BLOCKS;pub use domain::DomainEntry;pub use domain::DomainLibrary;pub use domain::RegisterType;pub use domain::TopicEntry;pub use domain::parse_domain_libraries;pub use errors::XmlError;pub use inheritance::MAX_INHERITANCE_DEPTH;pub use inheritance::resolve_chain;pub use parser::DDS_XML_NS;pub use parser::DdsXmlDocument;pub use parser::MAX_LIST_ELEMENTS;pub use parser::MAX_TOTAL_ELEMENTS;pub use parser::XmlElement;pub use parser::parse_xml_tree;pub use participant::DataReaderEntry;pub use participant::DataWriterEntry;pub use participant::DomainParticipantEntry;pub use participant::DomainParticipantLibrary;pub use participant::PublisherEntry;pub use participant::SubscriberEntry;pub use participant::parse_domain_participant_libraries;pub use qos::EntityQos;pub use qos::QosLibrary;pub use qos::QosProfile;pub use qos::topic_filter_matches;pub use qos_inheritance::ResolvedQos;pub use qos_inheritance::resolve_profile;pub use qos_parser::parse_bool_strict;pub use qos_parser::parse_entity_qos_public;pub use qos_parser::parse_qos_libraries;pub use qos_parser::parse_qos_library;pub use qos_parser::parse_qos_library_element_public;pub use resolver::LibraryRef;pub use resolver::parse_library_ref;pub use sample::PrimitiveValue;pub use sample::SampleValue;pub use sample::parse_sample;pub use sample::parse_sample_element;pub use sample::serialize_sample;pub use schemas::ALL_SCHEMAS;pub use schemas::APPLICATIONS_NAMESPACED_XSD;pub use schemas::APPLICATIONS_NONAMESPACE_XSD;pub use schemas::COMMON_XSD;pub use schemas::DATA_SAMPLES_NAMESPACED_XSD;pub use schemas::DATA_SAMPLES_NONAMESPACE_XSD;pub use schemas::DDS_SYSTEM_NAMESPACED_XSD;pub use schemas::DDS_SYSTEM_NONAMESPACE_XSD;pub use schemas::DOMAIN_PARTICIPANTS_NAMESPACED_XSD;pub use schemas::DOMAIN_PARTICIPANTS_NONAMESPACE_XSD;pub use schemas::DOMAINS_NAMESPACED_XSD;pub use schemas::DOMAINS_NONAMESPACE_XSD;pub use schemas::QOS_NAMESPACED_XSD;pub use schemas::QOS_NONAMESPACE_XSD;pub use schemas::TYPES_NAMESPACED_XSD;pub use schemas::TYPES_NONAMESPACE_XSD;pub use schemas::embedded_block_names;pub use typeobject_bridge::BridgeError;pub use typeobject_bridge::bridge_library;pub use typeobject_bridge::xml_type_to_minimal_typeobject;pub use typeobject_bridge::xml_type_to_typeobject;pub use types::DURATION_INFINITE_NSEC;pub use types::DURATION_INFINITE_SEC;pub use types::DURATION_ZERO_NSEC;pub use types::DURATION_ZERO_SEC;pub use types::Duration;pub use types::LENGTH_UNLIMITED;pub use types::MAX_STRING_BYTES;pub use types::TIME_INVALID_NSEC;pub use types::TIME_INVALID_SEC;pub use types::parse_bool;pub use types::parse_duration_nsec;pub use types::parse_duration_sec;pub use types::parse_enum;pub use types::parse_long;pub use types::parse_octet_sequence;pub use types::parse_positive_long_unlimited;pub use types::parse_string;pub use types::parse_ulong;pub use xtypes_def::BitField;pub use xtypes_def::BitValue;pub use xtypes_def::BitmaskType;pub use xtypes_def::BitsetType;pub use xtypes_def::EnumLiteral;pub use xtypes_def::EnumType;pub use xtypes_def::Extensibility;pub use xtypes_def::ModuleEntry;pub use xtypes_def::PrimitiveType;pub use xtypes_def::StructMember;pub use xtypes_def::StructType;pub use xtypes_def::TypeDef;pub use xtypes_def::TypeLibrary;pub use xtypes_def::TypeRef;pub use xtypes_def::TypedefType;pub use xtypes_def::UnionCase;pub use xtypes_def::UnionDiscriminator;pub use xtypes_def::UnionType;pub use xtypes_parser::parse_type_libraries;pub use xtypes_parser::parse_types_element;pub use zerodds_xml::DdsXml;pub use zerodds_xml::ParticipantFactoryAdapter;pub use zerodds_xml::ResolvedDataReader;pub use zerodds_xml::ResolvedDataWriter;pub use zerodds_xml::ResolvedParticipant;pub use zerodds_xml::ResolvedPublisher;pub use zerodds_xml::ResolvedSubscriber;pub use zerodds_xml::ResolvedTopic;pub use zerodds_xml::apply_to_factory;pub use zerodds_xml::parse_dds_xml;pub use xsd_loader::load_type_libraries_from_uri;pub use xsd_loader::DDS_XML_NAMESPACE;pub use xsd_loader::MAX_DATA_URI_BODY;pub use xsd_loader::MAX_FILE_BYTES;pub use xsd_loader::ValidationMode;pub use xsd_loader::load_type_libraries_from_string;
Modules§
- application
- DDS-XML 1.0 §7.3.6 Building Block “Application Library”.
- conformance
- Conformance-Marker fuer DDS-XML 1.0 §2.4 + §7.2.0.
- domain
- DDS-XML 1.0 §7.3.4 Building Block “Domain Library”.
- errors
XmlError— Fehler-Enum fuer den DDS-XML-Loader.- inheritance
base_name-Resolver mit Cycle-Detection.- parser
- Generischer well-formed XML-Loader fuer DDS-XML 1.0 §7.1.
- participant
- DDS-XML 1.0 §7.3.5 Building Block “Domain Participant Library”.
- qos
- Datenmodell fuer die DDS-XML 1.0 §7.3.2 QoS-Profile-Library.
- qos_
inheritance - Inheritance-Resolver fuer QoS-Profile gemaess DDS-XML 1.0 §7.3.2.4.2.
- qos_
parser - Parser fuer DDS-XML 1.0 §7.3.2 QoS-Profile-Library.
- resolver
- Cross-Library-Reference-Resolver fuer DDS-XML 1.0 §7.3.4-7.3.6.
- sample
- DDS-XML 1.0 §7.3.7 Building Block “Data Samples” — XML-Codec.
- schemas
- Embedded normative XSD-Schema-Files fuer DDS-XML 1.0 §7.1.2 + §8.1.2.
- typeobject_
bridge - XML → TypeObject Bridge (Cluster C4.5-b).
- types
- IDL-PSM-Datentyp-Mapping nach DDS-XML 1.0 §7.2.
- xsd_
loader - XTypes 1.3 Annex A — XSD-Schema-Loader fuer
<types>XML (C4.5). - xsd_
schema - W3C XML Schema (XSD) → DDS-XTypes-Bridge (XTypes 1.3 §7.3.3).
- xtypes_
def - DDS-XML 1.0 §7.3.3 Building Block “Types” — Datenmodell.
- xtypes_
parser - DDS-XML 1.0 §7.3.3 Building Block “Types” — XML→AST-Parser.
- zerodds_
xml - Top-Level Building-Block-Loader fuer DDS-XML 1.0.