libxml++ 2.42.3
Public Member Functions | Protected Member Functions | List of all members
xmlpp::XsdValidator Class Reference

XSD schema validator. More...

#include <libxml++/validators/xsdvalidator.h>

Inheritance diagram for xmlpp::XsdValidator:
xmlpp::SchemaValidatorBase xmlpp::Validator xmlpp::NonCopyable

Public Member Functions

 XsdValidator ()
 
 XsdValidator (const Document * document)
 Create a validator and parse a schema definition document.
 
 XsdValidator (const Glib::ustring & filename)
 Create a validator and parse a schema definition file.
 
 XsdValidator (XsdSchema * schema, bool take_ownership)
 Create a validator.
 
 ~XsdValidator () override
 
XsdSchemaget_schema ()
 Get the schema.
 
const XsdSchemaget_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 (XsdSchema * 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::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
exceptionexception_
 
_xmlValidCtxt * valid_
 
Glib::ustring validate_error_
 
Glib::ustring validate_warning_
 

Detailed Description

XSD schema validator.

XSD = XML Schema Definition, a.k.a. XML Schema or W3C XML Schema

Since libxml++ 2.38:

Constructor & Destructor Documentation

◆ XsdValidator() [1/4]

xmlpp::XsdValidator::XsdValidator ( )

◆ XsdValidator() [2/4]

xmlpp::XsdValidator::XsdValidator ( const Glib::ustring &  filename)
explicit

Create a validator and parse a schema definition file.

Parameters
filenameThe URL of the schema.
Exceptions
xmlpp::parse_error

◆ XsdValidator() [3/4]

xmlpp::XsdValidator::XsdValidator ( 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

◆ XsdValidator() [4/4]

xmlpp::XsdValidator::XsdValidator ( XsdSchema 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.

◆ ~XsdValidator()

xmlpp::XsdValidator::~XsdValidator ( )
override

Member Function Documentation

◆ get_schema() [1/2]

XsdSchema * xmlpp::XsdValidator::get_schema ( )

Get the schema.

Returns
A pointer to the schema, or nullptr.

◆ get_schema() [2/2]

const XsdSchema * xmlpp::XsdValidator::get_schema ( ) const

Get the schema.

Returns
A pointer to the schema, or nullptr.

◆ initialize_valid()

void xmlpp::XsdValidator::initialize_valid ( )
overrideprotectedvirtual

Reimplemented from xmlpp::SchemaValidatorBase.

◆ operator BoolExpr()

xmlpp::XsdValidator::operator BoolExpr ( ) const
overridevirtual

Test whether a schema has been parsed.

For instance

if (xsd_validator)
do_something();

Implements xmlpp::SchemaValidatorBase.

◆ parse_document()

void xmlpp::XsdValidator::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
documentA preparsed document tree, containing the schema definition.
Exceptions
xmlpp::parse_error

Implements xmlpp::SchemaValidatorBase.

◆ parse_file()

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

Parse a schema definition file.

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.

◆ parse_memory()

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

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

Implements xmlpp::SchemaValidatorBase.

◆ release_underlying()

void xmlpp::XsdValidator::release_underlying ( )
overrideprotectedvirtual

Reimplemented from xmlpp::SchemaValidatorBase.

◆ set_schema()

void xmlpp::XsdValidator::set_schema ( XsdSchema 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.

◆ validate() [1/2]

void xmlpp::XsdValidator::validate ( const Document document)
overridevirtual

Validate a document, using a previously parsed schema.

Parameters
documentPointer to the document.
Exceptions
xmlpp::internal_error
xmlpp::validity_error

Implements xmlpp::SchemaValidatorBase.

◆ validate() [2/2]

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

Validate an XML file, using a previously parsed schema.

Parameters
filenameThe URL of the XML file.
Exceptions
xmlpp::internal_error
xmlpp::validity_error

Implements xmlpp::SchemaValidatorBase.