libxml++  2.91.1
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
xmlpp::Validator Class Referenceabstract

Base class for XML validators. More...

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

Inheritance diagram for xmlpp::Validator:
Inheritance graph
[legend]

Public Member Functions

 Validator ()
 
 ~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 Glib::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 Glib::ustring& message)
 
virtual void on_validity_warning (const Glib::ustring& message)
 
virtual void release_underlying ()
 
- Protected Member Functions inherited from xmlpp::NonCopyable
 NonCopyable ()
 
 NonCopyable (const NonCopyable&)=delete
 
virtual ~NonCopyable ()
 
NonCopyableoperator= (const 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::exception_ptr exception_ptr_
 
Glib::ustring validate_error_
 
Glib::ustring validate_warning_
 

Detailed Description

Base class for XML validators.

Constructor & Destructor Documentation

xmlpp::Validator::Validator ( )
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 Glib::ustring message)
protectedvirtual
virtual void xmlpp::Validator::on_validity_warning ( const Glib::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 Glib::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::exception_ptr xmlpp::Validator::exception_ptr_
protected
Glib::ustring xmlpp::Validator::validate_error_
protected
Glib::ustring xmlpp::Validator::validate_warning_
protected