use std::fmt;
#[derive(Debug, Clone, PartialEq)]
pub enum NamespaceError {
UnknownPrefix {
prefix: String,
},
UriMismatch {
expected: String,
found: String,
},
MissingDeclaration {
uri: String,
},
}
impl fmt::Display for NamespaceError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
NamespaceError::UnknownPrefix { prefix } => {
write!(f, "unknown namespace prefix: '{}'", prefix)
}
NamespaceError::UriMismatch { expected, found } => {
write!(
f,
"namespace URI mismatch: expected '{}', found '{}'",
expected, found
)
}
NamespaceError::MissingDeclaration { uri } => {
write!(f, "missing namespace declaration for URI: '{}'", uri)
}
}
}
}
impl std::error::Error for NamespaceError {}