libxml++: xmlpp::RelaxNGValidator Class Reference

libxml++ 2.42.3

Public Member Functions | Protected Member Functions | List of all members
xmlpp::RelaxNGValidator Class Reference

RelaxNG schema validator. More...

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

Inheritance diagram for xmlpp::RelaxNGValidator:
[legend]

## Public Member Functions
| RelaxNGValidator ()
| RelaxNGValidator (const Document * document)
| Create a validator and parse a schema definition document.
| RelaxNGValidator (const Glib::ustring & filename)
| Create a validator and parse a schema definition file.
| RelaxNGValidator (RelaxNGSchema * schema, bool take_ownership)
| Create a validator.
| ~RelaxNGValidator () override
RelaxNGSchema * | get_schema ()
| Get the schema.
const RelaxNGSchema * | get_schema () const
| Get the schema.
| operator BoolExpr () const override
| Test whether a schema has been parsed.
void | parse_document (const Document * document) override
| Parse a schema definition from a document.
void | parse_file (const Glib::ustring & filename) override
| Parse a schema definition file.
void | parse_memory (const Glib::ustring & contents) override
| Parse a schema definition from a string.
void | set_schema (RelaxNGSchema * schema, bool take_ownership)
| Set a schema.
void | validate (const Document * document) override
| Validate a document, using a previously parsed schema.
void | validate (const Glib::ustring & filename) override
| Validate an XML file, using a previously parsed schema.
Public Member Functions inherited from xmlpp::SchemaValidatorBase
| SchemaValidatorBase ()
| ~SchemaValidatorBase () override
Public Member Functions inherited from xmlpp::Validator
| Validator ()
| ~Validator () override

## Protected Member Functions
void | initialize_valid () override
void | release_underlying () override
Protected Member Functions inherited from xmlpp::SchemaValidatorBase
void | initialize_valid () 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 | handleException (const exception & e)
virtual void | on_validity_error (const Glib::ustring & message)
virtual void | on_validity_warning (const Glib::ustring & message)

## Additional Inherited Members
Public Types inherited from xmlpp::SchemaValidatorBase
typedef const void * | BoolExpr
| This typedef is just to make it more obvious that our operator const void* should be used like operator bool().
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
exception * | exception_
_xmlValidCtxt * | valid_
Glib::ustring | validate_error_
Glib::ustring | validate_warning_

## Detailed Description

RelaxNG schema validator.

RelaxNG = REgular LAnguage for XML Next Generation

Since libxml++ 2.38

## Constructor & Destructor Documentation

## ◆ RelaxNGValidator() [1/4]

xmlpp::RelaxNGValidator::RelaxNGValidator | ( |  | ) |

## ◆ RelaxNGValidator() [2/4]

xmlpp::RelaxNGValidator::RelaxNGValidator | ( | const Glib::ustring & | filename | ) |
| explicit

Create a validator and parse a schema definition file.

The schema must be defined with XML syntax (.rng file). The compact syntax (.rnc file) is not supported.

Parameters

  filename | The URL of the schema.

Exceptions

  xmlpp::parse_error |

## ◆ RelaxNGValidator() [3/4]

xmlpp::RelaxNGValidator::RelaxNGValidator | ( | const Document * | document | ) |
| explicit

Create a validator and parse a schema definition document.

Parameters

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

Exceptions

  xmlpp::parse_error |

## ◆ RelaxNGValidator() [4/4]

xmlpp::RelaxNGValidator::RelaxNGValidator | ( | RelaxNGSchema * | schema,
|  | bool | take_ownership )
| explicit

Create a validator.

Parameters

  schema | A pointer to the schema to use when validating XML documents.
  take_ownership | If true, the validator takes ownership of the schema. The caller must not delete it. If false, the validator does not take ownership of the schema. The caller must guarantee that the schema exists as long as the validator keeps a pointer to it. The caller is responsible for deleting the schema when it's no longer needed.

## ◆ ~RelaxNGValidator()

xmlpp::RelaxNGValidator::~RelaxNGValidator | ( |  | ) |
| override

## Member Function Documentation

## ◆ get_schema() [1/2]

RelaxNGSchema * xmlpp::RelaxNGValidator::get_schema | ( |  | ) |

Get the schema.

Returns
  A pointer to the schema, or nullptr.

## ◆ get_schema() [2/2]

const RelaxNGSchema * xmlpp::RelaxNGValidator::get_schema | ( |  | ) | const

Get the schema.

Returns
  A pointer to the schema, or nullptr.

## ◆ initialize_valid()

void xmlpp::RelaxNGValidator::initialize_valid | ( |  | ) |
| overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

## ◆ operator BoolExpr()

xmlpp::RelaxNGValidator::operator BoolExpr | ( |  | ) | const
| overridevirtual

Test whether a schema has been parsed.

For instance

if (relaxng_validator)
do_something();

Implements xmlpp::SchemaValidatorBase.

## ◆ parse_document()

void xmlpp::RelaxNGValidator::parse_document | ( | const Document * | document | ) |
| overridevirtual

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 |

Implements xmlpp::SchemaValidatorBase.

## ◆ parse_file()

void xmlpp::RelaxNGValidator::parse_file | ( | const Glib::ustring & | filename | ) |
| overridevirtual

Parse a schema definition file.

The schema must be defined with XML syntax (.rng file). The compact syntax (.rnc file) is not supported.

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::SchemaValidatorBase.

## ◆ parse_memory()

void xmlpp::RelaxNGValidator::parse_memory | ( | const Glib::ustring & | contents | ) |
| overridevirtual

Parse a schema definition from a string.

The schema must be defined with XML syntax. The compact syntax is not supported.

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::SchemaValidatorBase.

## ◆ release_underlying()

void xmlpp::RelaxNGValidator::release_underlying | ( |  | ) |
| overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

## ◆ set_schema()

void xmlpp::RelaxNGValidator::set_schema | ( | RelaxNGSchema * | schema,
|  | bool | take_ownership )

Set a schema.

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

Parameters

  schema | A pointer to the schema to use when validating XML documents.
  take_ownership | If true, the validator takes ownership of the schema. The caller must not delete it. If false, the validator does not take ownership of the schema. The caller must guarantee that the schema exists as long as the validator keeps a pointer to it. The caller is responsible for deleting the schema when it's no longer needed.

## ◆ validate() [1/2]

void xmlpp::RelaxNGValidator::validate | ( | const Document * | document | ) |
| overridevirtual

Validate a document, using a previously parsed schema.

Parameters

  document | Pointer to the document.

Exceptions

  xmlpp::internal_error |
  xmlpp::validity_error |

Implements xmlpp::SchemaValidatorBase.

## ◆ validate() [2/2]

void xmlpp::RelaxNGValidator::validate | ( | const Glib::ustring & | filename | ) |
| overridevirtual

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 |

Implements xmlpp::SchemaValidatorBase.