Skip to main content

Crate zerodds_xml

Crate zerodds_xml 

Source
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)

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.