libxml++  3.2.3
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

LIBXMLPP_API Validator () noexcept
 
LIBXMLPP_API ~Validator () override
 
virtual LIBXMLPP_API operator bool () const noexcept=0
 Test whether a schema or a DTD has been parsed. More...
 
virtual LIBXMLPP_API void parse_file (const std::string& filename)=0
 Parse a schema definition file or an external subset (DTD file). More...
 
virtual LIBXMLPP_API void parse_memory (const Glib::ustring& contents)=0
 Parse a schema definition or a DTD from a string. More...
 
virtual LIBXMLPP_API void validate (const Document* document)=0
 Validate a document, using a previously parsed schema or DTD. More...
 

Protected Member Functions

virtual LIBXMLPP_API void check_for_exception ()
 
virtual LIBXMLPP_API void check_for_validity_messages ()
 
virtual LIBXMLPP_API void handle_exception ()
 To be called in an exception handler. More...
 
virtual LIBXMLPP_API void initialize_context ()
 
virtual LIBXMLPP_API void on_validity_error (const Glib::ustring& message)
 
virtual LIBXMLPP_API void on_validity_warning (const Glib::ustring& message)
 
virtual LIBXMLPP_API 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 LIBXMLPP_API void callback_validity_error (void* ctx, const char* msg,...)
 
static LIBXMLPP_API void callback_validity_warning (void* ctx, const char* msg,...)
 

Protected Attributes

std::unique_ptr< exceptionexception_
 
Glib::ustring validate_error_
 
Glib::ustring validate_warning_
 

Detailed Description

Base class for XML validators.

Constructor & Destructor Documentation

◆ Validator()

LIBXMLPP_API xmlpp::Validator::Validator ( )
noexcept

◆ ~Validator()

LIBXMLPP_API xmlpp::Validator::~Validator ( )
override

Member Function Documentation

◆ callback_validity_error()

static LIBXMLPP_API void xmlpp::Validator::callback_validity_error ( void *  ctx,
const char *  msg,
  ... 
)
staticprotected

◆ callback_validity_warning()

static LIBXMLPP_API void xmlpp::Validator::callback_validity_warning ( void *  ctx,
const char *  msg,
  ... 
)
staticprotected

◆ check_for_exception()

virtual LIBXMLPP_API void xmlpp::Validator::check_for_exception ( )
protectedvirtual

◆ check_for_validity_messages()

virtual LIBXMLPP_API void xmlpp::Validator::check_for_validity_messages ( )
protectedvirtual

◆ handle_exception()

virtual LIBXMLPP_API void xmlpp::Validator::handle_exception ( )
protectedvirtual

To be called in an exception handler.

◆ initialize_context()

virtual LIBXMLPP_API void xmlpp::Validator::initialize_context ( )
protectedvirtual

◆ on_validity_error()

virtual LIBXMLPP_API void xmlpp::Validator::on_validity_error ( const Glib::ustring &  message)
protectedvirtual

◆ on_validity_warning()

virtual LIBXMLPP_API void xmlpp::Validator::on_validity_warning ( const Glib::ustring &  message)
protectedvirtual

◆ operator bool()

virtual LIBXMLPP_API 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::SchemaValidatorBase, xmlpp::XsdValidator, xmlpp::RelaxNGValidator, and xmlpp::DtdValidator.

◆ parse_file()

virtual LIBXMLPP_API 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::SchemaValidatorBase, xmlpp::XsdValidator, xmlpp::RelaxNGValidator, and xmlpp::DtdValidator.

◆ parse_memory()

virtual LIBXMLPP_API 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::SchemaValidatorBase, xmlpp::XsdValidator, xmlpp::RelaxNGValidator, and xmlpp::DtdValidator.

◆ release_underlying()

virtual LIBXMLPP_API void xmlpp::Validator::release_underlying ( )
protectedvirtual

◆ validate()

virtual LIBXMLPP_API 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::SchemaValidatorBase, xmlpp::XsdValidator, xmlpp::RelaxNGValidator, and xmlpp::DtdValidator.

Member Data Documentation

◆ exception_

std::unique_ptr<exception> xmlpp::Validator::exception_
protected

◆ validate_error_

Glib::ustring xmlpp::Validator::validate_error_
protected

◆ validate_warning_

Glib::ustring xmlpp::Validator::validate_warning_
protected