libxml++: xmlpp::Validator Class Reference

Base class for XML validators. More...

#include <libxml++/validators/validator.h>

Inheritance diagram for xmlpp::Validator:

Public Member Functions

 Validator () noexcept
 
 ~Validator () override
 
virtual operator bool () const noexcept=0
 Test whether a schema or a DTD has been parsed. More...

 
virtual void parse_file (const std::string& filename)=0
 Parse a schema definition file or an external subset (DTD file). More...

 
virtual void parse_memory (const ustring& contents)=0
 Parse a schema definition or a DTD from a string. More...

 
virtual void validate (const Document* document)=0
 Validate a document, using a previously parsed schema or DTD. More...

 

Protected Member Functions

virtual void check_for_exception ()
 
virtual void check_for_validity_messages ()
 
virtual void handle_exception ()
 To be called in an exception handler. More...

 
virtual void initialize_context ()
 
virtual void on_validity_error (const ustring& message)
 
virtual void on_validity_warning (const ustring& message)
 
virtual void release_underlying ()
 
- Protected Member Functions inherited from xmlpp::NonCopyable
 NonCopyable () noexcept
 
 NonCopyable (const NonCopyable&)=delete
 
 NonCopyable (NonCopyable&&)=delete
 
virtual ~NonCopyable ()
 
NonCopyableoperator= (const NonCopyable&)=delete
 
NonCopyableoperator= (NonCopyable&&)=delete
 

Static Protected Member Functions

static void callback_validity_error (void* ctx, const char* msg,...)
 
static void callback_validity_warning (void* ctx, const char* msg,...)
 

Protected Attributes

std::unique_ptr< exceptionexception_
 
ustring validate_error_
 
ustring validate_warning_
 

Detailed Description

Base class for XML validators.

Constructor & Destructor Documentation

xmlpp::Validator::Validator ( )
noexcept
xmlpp::Validator::~Validator ( )
override

Member Function Documentation

static void xmlpp::Validator::callback_validity_error ( void *  ctx,
const char *  msg,
  ... 
)
staticprotected
static void xmlpp::Validator::callback_validity_warning ( void *  ctx,
const char *  msg,
  ... 
)
staticprotected
virtual void xmlpp::Validator::check_for_exception ( )
protectedvirtual
virtual void xmlpp::Validator::check_for_validity_messages ( )
protectedvirtual
virtual void xmlpp::Validator::handle_exception ( )
protectedvirtual

To be called in an exception handler.

virtual void xmlpp::Validator::initialize_context ( )
protectedvirtual
virtual void xmlpp::Validator::on_validity_error ( const ustring message)
protectedvirtual
virtual void xmlpp::Validator::on_validity_warning ( const ustring message)
protectedvirtual
virtual xmlpp::Validator::operator bool ( ) const
explicitpure virtualnoexcept

Test whether a schema or a DTD has been parsed.

For instance

if (validator)
do_something();

Implemented in xmlpp::RelaxNGValidator, xmlpp::XsdValidator, xmlpp::DtdValidator, and xmlpp::SchemaValidatorBase.

virtual void xmlpp::Validator::parse_file ( const std::string filename)
pure virtual

Parse a schema definition file or an external subset (DTD file).

Parameters
filenameThe URL of the schema or the DTD.
Exceptions
xmlpp::parse_error

Implemented in xmlpp::RelaxNGValidator, xmlpp::XsdValidator, xmlpp::DtdValidator, and xmlpp::SchemaValidatorBase.

virtual void xmlpp::Validator::parse_memory ( const ustring contents)
pure virtual

Parse a schema definition or a DTD from a string.

Parameters
contentsThe schema definition or the DTD as a string.
Exceptions
xmlpp::parse_error

Implemented in xmlpp::RelaxNGValidator, xmlpp::XsdValidator, xmlpp::DtdValidator, and xmlpp::SchemaValidatorBase.

virtual void xmlpp::Validator::release_underlying ( )
protectedvirtual
virtual void xmlpp::Validator::validate ( const Document document)
pure virtual

Validate a document, using a previously parsed schema or DTD.

Parameters
documentPointer to the document.
Exceptions
xmlpp::internal_error
xmlpp::validity_error

Implemented in xmlpp::RelaxNGValidator, xmlpp::XsdValidator, xmlpp::DtdValidator, and xmlpp::SchemaValidatorBase.

Member Data Documentation

std::unique_ptr<exception> xmlpp::Validator::exception_
protected
ustring xmlpp::Validator::validate_error_
protected
ustring xmlpp::Validator::validate_warning_
protected