27 #ifndef RL_XML_SCHEMA_H
28 #define RL_XML_SCHEMA_H
32 #include <boost/shared_array.hpp>
33 #include <libxml/xmlschemas.h>
44 explicit Schema(const ::std::string& url) :
45 parser(::xmlSchemaNewParserCtxt(url.c_str()), ::xmlSchemaFreeParserCtxt),
47 valid(::xmlSchemaNewValidCtxt(
schema.
get()), ::xmlSchemaFreeValidCtxt)
55 ::xmlSchemaPtr
get()
const
67 return 0 == ::xmlSchemaValidateDoc(this->
valid.get(), doc.
get()) ? true :
false;
73 ::std::shared_ptr< ::xmlSchemaParserCtxt>
parser;
75 ::std::shared_ptr< ::xmlSchema>
schema;
77 ::std::shared_ptr< ::xmlSchemaValidCtxt>
valid;
82 #endif // RL_XML_SCHEMA_H