pub mod dtd;
use crate::item::{Node, NodeType};
use crate::validators::dtd::validate_dtd;
#[derive(Clone)]
pub enum Schema{
DTD
}
#[derive(Debug)]
pub enum ValidationError{
DocumentError(String),
SchemaError(String)
}
pub(crate) fn validate(doc: &impl Node, schema: Schema) -> Result<(), ValidationError>{
match doc.node_type(){
NodeType::Document => {
match schema {
Schema::DTD => {
validate_dtd(doc.clone())
}
}
}
_ => {
Err(ValidationError::DocumentError("Node provided was not a document".to_string()))
}
}
}