xmlpp::SchemaValidatorBase Class Referenceabstract

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.
virtual void | parse_document (const Document * document)=0
| Parse a schema definition from a document.
void | parse_file (const std::string & filename) override=0
| Parse a schema definition file.
void | parse_memory (const Glib::ustring & contents) override=0
| Parse a schema definition from a string.
void | validate (const Document * document) override=0
| Validate a document, using a previously parsed schema.
virtual void | validate (const std::string & filename)=0
| Validate an XML file, using a previously parsed schema.
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.
virtual void | on_validity_error (const Glib::ustring & message)
virtual void | on_validity_warning (const Glib::ustring & message)
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_error_or_warning (bool error, void * ctx, const char * msg, va_list var_args)
static void | callback_validity_error (void * ctx, const char * msg,...)
static void | callback_validity_warning (void * ctx, const char * msg,...)
static ValidatorCallbackCFuncType | get_callback_validity_error_cfunc ()
static ValidatorCallbackCFuncType | get_callback_validity_warning_cfunc ()
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.