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§
Trait Implementations§
source§impl Error for Error
impl Error for Error
source§fn description(&self) -> &str
fn description(&self) -> &str
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl Freeze for Error
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)