blob: 69993ed91916fa1012e9953029f9df95c4288eec (
plain) (
tree)
|
|
use std::{num::ParseIntError, str::Utf8Error};
use crate::element::{Name, NamespaceDeclaration};
#[derive(Debug)]
pub enum Error {
ReadError(std::io::Error),
Utf8Error(Utf8Error),
ParseError(String),
EntityProcessError(String),
// TODO: better choice for failures than string
InvalidCharRef(String),
DuplicateNameSpaceDeclaration(NamespaceDeclaration),
DuplicateAttribute(String),
UnqualifiedNamespace(String),
MismatchedEndTag(Name, Name),
NotInElement(String),
ExtraData(String),
UndeclaredNamespace(String),
}
impl From<std::io::Error> for Error {
fn from(e: std::io::Error) -> Self {
Self::ReadError(e)
}
}
impl From<Utf8Error> for Error {
fn from(e: Utf8Error) -> Self {
Self::Utf8Error(e)
}
}
impl From<ParseIntError> for Error {
fn from(e: ParseIntError) -> Self {
Self::InvalidCharRef(e.to_string())
}
}
|