pub enum XmlError {
InvalidXml(String),
MissingRequiredElement(String),
UnknownElement(String),
BadEnum(String),
CircularInheritance(String),
ValueOutOfRange(String),
LimitExceeded(String),
UnresolvedReference(String),
}Expand description
Error while parsing or resolving a DDS-XML document.
Spec source: OMG DDS-XML 1.0 §7.1 (XML Representation Syntax) and §7.2 (XML Representation of DDS IDL PSM).
Variants§
InvalidXml(String)
XML is not well-formed per [XML] §2.1.
Spec ref: DDS-XML 1.0 §7.1.1 (“XML shall be well-formed”).
MissingRequiredElement(String)
An element mandatory per spec table 7.2 / 7.3.x is missing.
Spec ref: DDS-XML 1.0 §7.1.4 Tab.7.1, §7.2.x.
UnknownElement(String)
An element not present in the element table 7.1/7.2/7.3 was found. Strict mode rejects; lax mode ignores.
Spec ref: DDS-XML 1.0 §7.1.4 (element value table).
BadEnum(String)
Enum string does not fit the DCPS-IDL whitelist
(Spec §7.1.4 Tab.7.1 — enum values are string literals, not
numeric).
Spec ref: DDS-XML 1.0 §7.1.4 Tab.7.1 (enum), §7.2.1.
CircularInheritance(String)
base_name inheritance forms a cycle (A inherits from B inherits from A).
Spec ref: DDS-XML 1.0 §7.3.2.4.2 (QoS Profile Inheritance — “shall only inherit from previously defined profiles”). Naive implementations can create cycles across library boundaries; the loader therefore performs DAG checking.
ValueOutOfRange(String)
Element value outside the spec value range (e.g. long >
0x7fffffff without symbol aliasing).
Spec ref: DDS-XML 1.0 §7.1.4 Tab.7.1 (value ranges), §7.2.2
(LENGTH_UNLIMITED, DURATION_INFINITE_*).
LimitExceeded(String)
DoS cap hit — list/string exceeds the upper bound configured in the loader (default: 1024 list elements, 64 KiB strings).
No direct spec reference; follows the ZeroDDS security posture
(docs/spec-coverage/zerodds-xml-1.0.open.md risks section).
UnresolvedReference(String)
A cross-reference (e.g. base_name of a QoS profile
inheritance) could not be resolved because the referenced
item does not exist.
Spec ref: DDS-XML 1.0 §7.3.2.4.2 (QoS profile inheritance).
Trait Implementations§
impl Eq for XmlError
Source§impl Error for XmlError
Available on crate feature std only.
impl Error for XmlError
std only.1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()