libxml++ 3.2.2

Public Member Functions | Protected Member Functions | List of all members
xmlpp::SchemaValidatorBase Class Referenceabstract

Base class for schema validators. More...

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

Inheritance diagram for xmlpp::SchemaValidatorBase:
[legend]

## 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 Glib::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
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
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 | 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 () noexcept
| NonCopyable (const NonCopyable&)=delete
| NonCopyable (NonCopyable&&)=delete
virtual | ~NonCopyable ()
NonCopyable& | operator= (const NonCopyable&)=delete
NonCopyable& | operator= (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< exception > | exception_
Glib::ustring | validate_error_
Glib::ustring | validate_warning_

## Detailed Description

Base class for schema validators.

Since libxml++ 2.38:

## Constructor & Destructor Documentation

## ◆ SchemaValidatorBase()

xmlpp::SchemaValidatorBase::SchemaValidatorBase | ( |  | ) |
| noexcept

## ◆ ~SchemaValidatorBase()

xmlpp::SchemaValidatorBase::~SchemaValidatorBase | ( |  | ) |
| override

## Member Function Documentation

## ◆ initialize_context()

void xmlpp::SchemaValidatorBase::initialize_context | ( |  | ) |
| override protected virtual

Reimplemented from xmlpp::Validator.

Reimplemented in xmlpp::XsdValidator.

## ◆ operator bool()

virtual xmlpp::SchemaValidatorBase::operator bool | ( |  | ) | const
| explicit override pure virtual noexcept

Test whether a schema has been parsed.

For instance

if (validator)
do_something();

Implements xmlpp::Validator.

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

## ◆ parse_document()

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

  document | A preparsed document tree, containing the schema definition.

Exceptions

  xmlpp::parse_error |

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

## ◆ parse_file()

void xmlpp::SchemaValidatorBase::parse_file | ( | const std::string & | filename | ) |
| override pure 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

  filename | The URL of the schema.

Exceptions

  xmlpp::parse_error |

Implements xmlpp::Validator.

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

## ◆ parse_memory()

void xmlpp::SchemaValidatorBase::parse_memory | ( | const Glib::ustring& | contents | ) |
| override pure 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

  contents | The schema definition as a string.

Exceptions

  xmlpp::parse_error |

Implements xmlpp::Validator.

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

## ◆ release_underlying()

void xmlpp::SchemaValidatorBase::release_underlying | ( |  | ) |
| override protected virtual

Reimplemented from xmlpp::Validator.

Reimplemented in xmlpp::XsdValidator.

## ◆ validate() [1/2]

void xmlpp::SchemaValidatorBase::validate | ( | const Document* | document | ) |
| override pure virtual

Validate a document, using a previously parsed schema.

Parameters

  document | Pointer to the document.

Exceptions

  xmlpp::internal_error |
  xmlpp::validity_error |

Implements xmlpp::Validator.

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

## ◆ validate() [2/2]

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

Validate an XML file, using a previously parsed schema.

Parameters

  filename | The URL of the XML file.

Exceptions

  xmlpp::internal_error |
  xmlpp::parse_error |
  xmlpp::validity_error |

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