pub enum XmlError {
InvalidXml(String),
MissingRequiredElement(String),
UnknownElement(String),
BadEnum(String),
CircularInheritance(String),
ValueOutOfRange(String),
LimitExceeded(String),
UnresolvedReference(String),
}Expand description
Fehler beim Parsen oder Aufloesen eines DDS-XML-Dokuments.
Spec-Quelle: OMG DDS-XML 1.0 §7.1 (XML Representation Syntax) und §7.2 (XML Representation of DDS IDL PSM).
Variants§
InvalidXml(String)
XML ist nicht wohlgeformt gemaess [XML] §2.1.
Spec-Ref: DDS-XML 1.0 §7.1.1 (“XML shall be well-formed”).
MissingRequiredElement(String)
Ein gemaess Spec-Tabelle 7.2 / 7.3.x verpflichtendes Element fehlt.
Spec-Ref: DDS-XML 1.0 §7.1.4 Tab.7.1, §7.2.x.
UnknownElement(String)
Ein Element, das nicht in der Element-Tabelle 7.1/7.2/7.3 steht, wurde gefunden. Strict-Modus rejected; Lax-Modus ignoriert.
Spec-Ref: DDS-XML 1.0 §7.1.4 (Element-Werte-Tabelle).
BadEnum(String)
Enum-String passt nicht in die DCPS-IDL-Whitelist
(Spec §7.1.4 Tab.7.1 — enum-Werte sind String-Literale, nicht
numerisch).
Spec-Ref: DDS-XML 1.0 §7.1.4 Tab.7.1 (enum), §7.2.1.
CircularInheritance(String)
base_name-Inheritance bildet einen Zyklus (A erbt von B erbt von A).
Spec-Ref: DDS-XML 1.0 §7.3.2.4.2 (QoS Profile Inheritance — “shall only inherit from previously defined profiles”). Naive Implementierungen koennen Zyklen ueber Bibliotheks-Grenzen erzeugen; der Loader fuehrt darum DAG-Pruefung durch.
ValueOutOfRange(String)
Element-Wert ausserhalb des Spec-Wertebereichs (z.B. long >
0x7fffffff ohne Symbol-Aliasing).
Spec-Ref: DDS-XML 1.0 §7.1.4 Tab.7.1 (Wertebereiche), §7.2.2
(LENGTH_UNLIMITED, DURATION_INFINITE_*).
LimitExceeded(String)
DoS-Cap getroffen — Liste/String ueberschreitet die im Loader konfigurierte Obergrenze (Default: 1024 Listen-Elemente, 64 KiB Strings).
Kein direkter Spec-Bezug; folgt der ZeroDDS-Security-Posture
(docs/spec-coverage/zerodds-xml-1.0.open.md Risiken-Abschnitt).
UnresolvedReference(String)
Eine Cross-Reference (z.B. base_name einer QoS-Profile-
Inheritance) konnte nicht aufgeloest werden, weil das referenzierte
Item nicht existiert.
Spec-Ref: DDS-XML 1.0 §7.3.2.4.2 (QoS-Profile-Inheritance).
Trait Implementations§
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()