Expand description
Parser for the DDS-XML 1.0 §7.3.2 QoS profile library.
Consumes raw XML, builds the foundation tree (see
crate::parser::parse_xml_tree) and maps it onto the typed
data model from crate::qos.
§Spec-conformant boolean semantics
The foundation parse_bool from crate::types deliberately accepts
TRUE/FALSE spellings for Cyclone/FastDDS compatibility.
DDS-XML 1.0 §7.1.4, by contrast, requires strict true/false. Here
we use the local parse_bool_strict helper, which only allows the
spec values.
§Single-QoS shortcut (§7.3.2.4.1)
A <qos_profile> with only one <datawriter_qos> (or one of the
other 6 entity containers) is treated like a fully specified profile —
the direct container tag replaces the container-for-multiple-policies
style. Other entity containers in the same profile
are additionally accepted; that is a superset of the spec
example in §7.3.2.4.1.
Functions§
- parse_
bool_ strict - DDS-XML 1.0 §7.1.4 requires strict
true/false(case-sensitive). - parse_
entity_ qos_ public - Crate-internal
pubwrapper for [parse_entity_qos], so that other building-block modules (domain, participant) can decode inline QoS containers without duplicating the parser. - parse_
qos_ libraries - Parses the top-level
<dds>document and returns all contained QoS libraries (Spec §7.3.2.3 allows multiple libraries per document). - parse_
qos_ library - Convenience: parses the document and returns the first QoS library.
Returns
MissingRequiredElement("qos_library")if none is present. - parse_
qos_ library_ element_ public - Crate-internal
pubwrapper for [parse_qos_library_element], so that the top-level loader (crate::zerodds_xml::parse_dds_xml) can decode a<qos_library>element sub-tree directly without duplicating the parser.