libxml++: xmlpp::SchemaValidatorBase Class Reference

Base class for schema validators. More...

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

Inheritance diagram for xmlpp::SchemaValidatorBase:

Public Member Functions

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

 
virtual void parse_document (const Document* document)=0
 Parse a schema definition from a document. More...

 
void parse_file (const std::string& filename) override=0
 Parse a schema definition file. More...

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

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

 
virtual void validate (const std::string& filename)=0
 Validate an XML file, using a previously parsed schema. More...

 
- Public Member Functions inherited from xmlpp::Validator
 Validator () noexcept
 
 ~Validator () override
 

Protected Member Functions

void initialize_context () override
 
void release_underlying () override
 
- Protected Member Functions inherited from xmlpp::Validator
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 on_validity_error (const ustring& message)
 
virtual void on_validity_warning (const ustring& message)
 
- 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
 

Additional Inherited Members

- Static Protected Member Functions inherited from xmlpp::Validator
static void callback_validity_error (void* ctx, const char* msg,...)
 
static void callback_validity_warning (void* ctx, const char* msg,...)
 
- Protected Attributes inherited from xmlpp::Validator
std::unique_ptr< exceptionexception_
 
ustring validate_error_
 
ustring validate_warning_
 

Detailed Description

Base class for schema validators.

Since libxml++ 2.38:

Constructor & Destructor Documentation

xmlpp::SchemaValidatorBase::SchemaValidatorBase ( )
noexcept
xmlpp::SchemaValidatorBase::~SchemaValidatorBase ( )
override

Member Function Documentation

void xmlpp::SchemaValidatorBase::initialize_context ( )
overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

Reimplemented in xmlpp::XsdValidator.

virtual xmlpp::SchemaValidatorBase::operator bool ( ) const
explicitoverridepure virtualnoexcept

Test whether a schema has been parsed.

For instance

if (validator)
do_something();

Implements xmlpp::Validator.

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

virtual void xmlpp::SchemaValidatorBase::parse_document ( const Document document)
pure virtual

Parse a schema definition from a document.

If the validator already contains a schema, that schema is released (deleted if the validator owns the schema).

Parameters
documentA preparsed document tree, containing the schema definition.
Exceptions
xmlpp::parse_error

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

void xmlpp::SchemaValidatorBase::parse_file ( const std::string filename)
overridepure virtual

Parse a schema definition file.

If the validator already contains a schema, that schema is released (deleted if the validator owns the schema).

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

Implements xmlpp::Validator.

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

void xmlpp::SchemaValidatorBase::parse_memory ( const ustring contents)
overridepure virtual

Parse a schema definition from a string.

If the validator already contains a schema, that schema is released (deleted if the validator owns the schema).

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

Implements xmlpp::Validator.

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

void xmlpp::SchemaValidatorBase::release_underlying ( )
overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

Reimplemented in xmlpp::XsdValidator.

void xmlpp::SchemaValidatorBase::validate ( const Document document)
overridepure virtual

Validate a document, using a previously parsed schema.

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

Implements xmlpp::Validator.

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

virtual void xmlpp::SchemaValidatorBase::validate ( const std::string filename)
pure virtual

Validate an XML file, using a previously parsed schema.

Parameters
filenameThe URL of the XML file.
Exceptions
xmlpp::internal_error
xmlpp::parse_error
xmlpp::validity_error

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