libxml++: xmlpp::RelaxNGValidator Class Reference

libxml++ 2.38.1

- Main Page
- Related Pages
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

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

## Protected Member Functions
virtual void | initialize_valid ()
virtual void | release_underlying ()
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(). More...
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

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

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 |

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 |

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.

virtual xmlpp::RelaxNGValidator::~RelaxNGValidator | ( |  | ) |
| virtual

## Member Function Documentation

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

Get the schema.

Returns
  A pointer to the schema, or `0`.

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

Get the schema.

Returns
  A pointer to the schema, or `0`.

virtual void xmlpp::RelaxNGValidator::initialize_valid | ( |  | ) |
| protectedvirtual

Reimplemented from xmlpp::SchemaValidatorBase.

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

Test whether a schema has been parsed.

For instance

if (relaxng_validator)
do_something();

Implements xmlpp::SchemaValidatorBase.

virtual void xmlpp::RelaxNGValidator::parse_document | ( | const Document* | document | ) |
| 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 |

Implements xmlpp::SchemaValidatorBase.

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

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.

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

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.

virtual void xmlpp::RelaxNGValidator::release_underlying | ( |  | ) |
| protectedvirtual

Reimplemented from xmlpp::SchemaValidatorBase.

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.

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

Validate a document, using a previously parsed schema.

Parameters

  document | Pointer to the document.

Exceptions

  xmlpp::internal_error |
  xmlpp::validity_error |

Implements xmlpp::SchemaValidatorBase.

virtual void xmlpp::RelaxNGValidator::validate | ( | const Glib::ustring & | filename | ) |
| 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 |

Implements xmlpp::SchemaValidatorBase.