libxml++  2.40.1
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:
Inheritance graph
[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...
 
 ~RelaxNGValidator () override
 
RelaxNGSchemaget_schema ()
 Get the schema. More...
 
const RelaxNGSchemaget_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 ()
 
 ~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(). 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
exceptionexception_
 
_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
filenameThe 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
documentA preparsed document tree, containing the schema definition.
Exceptions
xmlpp::parse_error
xmlpp::RelaxNGValidator::RelaxNGValidator ( RelaxNGSchema schema,
bool  take_ownership 
)
explicit

Create a validator.

Parameters
schemaA pointer to the schema to use when validating XML documents.
take_ownershipIf 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.
xmlpp::RelaxNGValidator::~RelaxNGValidator ( )
override

Member Function Documentation

RelaxNGSchema* xmlpp::RelaxNGValidator::get_schema ( )

Get the schema.

Returns
A pointer to the schema, or nullptr.
const RelaxNGSchema* xmlpp::RelaxNGValidator::get_schema ( ) const

Get the schema.

Returns
A pointer to the schema, or nullptr.
void xmlpp::RelaxNGValidator::initialize_valid ( )
overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

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
documentA 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
filenameThe 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
contentsThe schema definition as a string.
Exceptions
xmlpp::parse_error

Implements xmlpp::SchemaValidatorBase.

void xmlpp::RelaxNGValidator::release_underlying ( )
overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

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
schemaA pointer to the schema to use when validating XML documents.
take_ownershipIf 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
documentPointer 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
filenameThe URL of the XML file.
Exceptions
xmlpp::internal_error
xmlpp::parse_error
xmlpp::validity_error

Implements xmlpp::SchemaValidatorBase.