Enum roxmltree::Error

source ·
pub enum Error {
Show 30 variants InvalidXmlPrefixUri(TextPos), UnexpectedXmlUri(TextPos), UnexpectedXmlnsUri(TextPos), InvalidElementNamePrefix(TextPos), DuplicatedNamespace(String, TextPos), UnknownNamespace(String, TextPos), UnexpectedCloseTag(String, String, TextPos), UnexpectedEntityCloseTag(TextPos), UnknownEntityReference(String, TextPos), MalformedEntityReference(TextPos), EntityReferenceLoop(TextPos), InvalidAttributeValue(TextPos), DuplicatedAttribute(String, TextPos), NoRootNode, UnclosedRootNode, UnexpectedDeclaration(TextPos), DtdDetected, NodesLimitReached, AttributesLimitReached, NamespacesLimitReached, InvalidName(TextPos), NonXmlChar(char, TextPos), InvalidChar(u8, u8, TextPos), InvalidChar2(&'static str, u8, TextPos), InvalidString(&'static str, TextPos), InvalidExternalID(TextPos), InvalidComment(TextPos), InvalidCharacterData(TextPos), UnknownToken(TextPos), UnexpectedEndOfStream,
}
Expand description

A list of all possible errors.

Variants§

§

InvalidXmlPrefixUri(TextPos)

The xmlns:xml attribute must have an http://www.w3.org/XML/1998/namespace URI.

§

UnexpectedXmlUri(TextPos)

Only the xmlns:xml attribute can have the http://www.w3.org/XML/1998/namespace URI.

§

UnexpectedXmlnsUri(TextPos)

The http://www.w3.org/2000/xmlns/ URI must not be declared.

§

InvalidElementNamePrefix(TextPos)

xmlns can’t be used as an element prefix.

§

DuplicatedNamespace(String, TextPos)

A namespace was already defined on this element.

§

UnknownNamespace(String, TextPos)

An unknown namespace.

Indicates that an element or an attribute has an unknown qualified name prefix.

The first value is a prefix.

§

UnexpectedCloseTag(String, String, TextPos)

Incorrect tree structure.

expected, actual, position

§

UnexpectedEntityCloseTag(TextPos)

Entity value starts with a close tag.

Example:

<!DOCTYPE test [ <!ENTITY p '</p>'> ]>
<root>&p;</root>
§

UnknownEntityReference(String, TextPos)

A reference to an entity that was not defined in the DTD.

§

MalformedEntityReference(TextPos)

A malformed entity reference.

A & character inside an attribute value or text indicates an entity reference. Otherwise, the document is not well-formed.

§

EntityReferenceLoop(TextPos)

A possible entity reference loop.

The current depth limit is 10. The max number of references per reference is 255.

§

InvalidAttributeValue(TextPos)

Attribute value cannot have a < character.

§

DuplicatedAttribute(String, TextPos)

An element has a duplicated attributes.

This also includes namespaces resolving. So an element like this will lead to an error.

<e xmlns:n1='http://www.w3.org' xmlns:n2='http://www.w3.org' n1:a='b1' n2:a='b2'/>
§

NoRootNode

The XML document must have at least one element.

§

UnclosedRootNode

The root node was opened but never closed.

§

UnexpectedDeclaration(TextPos)

An XML document can have only one XML declaration and it must be at the start of the document.

§

DtdDetected

An XML with DTD detected.

This error will be emitted only when ParsingOptions::allow_dtd is set to false.

§

NodesLimitReached

Indicates that the ParsingOptions::nodes_limit was reached.

§

AttributesLimitReached

Indicates that too many attributes were parsed.

§

NamespacesLimitReached

Indicates that too many namespaces were parsed.

§

InvalidName(TextPos)

An invalid name.

§

NonXmlChar(char, TextPos)

A non-XML character has occurred.

Valid characters are: https://www.w3.org/TR/xml/#char32

§

InvalidChar(u8, u8, TextPos)

An invalid/unexpected character.

expected, actual, position

§

InvalidChar2(&'static str, u8, TextPos)

An invalid/unexpected character.

expected, actual, position

§

InvalidString(&'static str, TextPos)

An unexpected string.

Contains what string was expected.

§

InvalidExternalID(TextPos)

An invalid ExternalID in the DTD.

§

InvalidComment(TextPos)

A comment cannot contain -- or end with -.

§

InvalidCharacterData(TextPos)

A Character Data node contains an invalid data.

Currently, only ]]> is not allowed.

§

UnknownToken(TextPos)

An unknown token.

§

UnexpectedEndOfStream

The steam ended earlier than we expected.

Should only appear on invalid input data.

Implementations§

source§

impl Error

source

pub fn pos(&self) -> TextPos

Returns the error position.

Trait Implementations§

source§

impl Clone for Error

source§

fn clone(&self) -> Error

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for Error

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for Error

source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl Hash for Error

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Error

source§

fn eq(&self, other: &Error) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Error

source§

impl StructuralEq for Error

source§

impl StructuralPartialEq for Error

Auto Trait Implementations§

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.