use libxml::schemas::SchemaParserContext;
use libxml::schemas::SchemaValidationContext;
use libxml::parser::Parser;
fn main() {
let xml = Parser::default()
.parse_file("tests/resources/schema.xml")
.expect("Expected to be able to parse XML Document from file");
let mut xsdparser = SchemaParserContext::from_file("tests/resources/schema.xsd");
let xsd = SchemaValidationContext::from_parser(&mut xsdparser);
if let Err(errors) = xsd {
for err in &errors {
println!("{}", err.message.as_ref().unwrap());
}
panic!("Failed to parse schema");
}
let mut xsd = xsd.unwrap();
if let Err(errors) = xsd.validate_document(&xml) {
for err in &errors {
println!("{}", err.message.as_ref().unwrap());
}
panic!("Invalid XML accoding to XSD schema");
}
}