libxml++  5.4.0
Public Member Functions | Protected Member Functions | List of all members
xmlpp::XsdSchema Class Reference

Represents an XSD schema for validating XML files. More...

#include <libxml++/xsdschema.h>

Inheritance diagram for xmlpp::XsdSchema:
Inheritance graph
[legend]

Public Member Functions

 XsdSchema ()
 
 XsdSchema (_xmlSchema * schema)
 Create a schema from the underlying libxml schema element. More...
 
 XsdSchema (const Document * document)
 Create a schema from an XML document. More...
 
 XsdSchema (const std::string & filename)
 Create a schema from a schema definition file. More...
 
 ~XsdSchema () override
 
const _xmlSchema * cobj () const noexcept
 Access the underlying libxml implementation. More...
 
_xmlSchema * cobj () noexcept
 Access the underlying libxml implementation. More...
 
void parse_document (const Document * document) override
 Parse a schema definition from a document. More...
 
void parse_file (const std::string & filename) override
 Parse a schema definition file. More...
 
void parse_memory (const ustring & contents) override
 Parse a schema definition from a string. More...
 
- Public Member Functions inherited from xmlpp::SchemaBase
 SchemaBase () noexcept
 
 ~SchemaBase () override
 
- Public Member Functions inherited from xmlpp::NonCopyable
 NonCopyable (const NonCopyable &)=delete
 
 NonCopyable (NonCopyable &&)=delete
 
NonCopyableoperator= (const NonCopyable &)=delete
 
NonCopyableoperator= (NonCopyable &&)=delete
 

Protected Member Functions

void parse_context (_xmlSchemaParserCtxt * context)
 
void release_underlying ()
 
- Protected Member Functions inherited from xmlpp::NonCopyable
 NonCopyable () noexcept
 
virtual ~NonCopyable ()
 

Detailed Description

Represents an XSD schema for validating XML files.

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

Since libxml++ 2.38:

Constructor & Destructor Documentation

◆ XsdSchema() [1/4]

xmlpp::XsdSchema::XsdSchema ( )

◆ XsdSchema() [2/4]

xmlpp::XsdSchema::XsdSchema ( _xmlSchema *  schema)
explicit

Create a schema from the underlying libxml schema element.

Parameters
schemaA pointer to the libxml schema element. The XsdSchema takes ownership of the _xmlSchema. The caller must not deallocate it.

◆ XsdSchema() [3/4]

xmlpp::XsdSchema::XsdSchema ( const std::string filename)
explicit

Create a schema from a schema definition file.

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

◆ XsdSchema() [4/4]

xmlpp::XsdSchema::XsdSchema ( const Document document)
explicit

Create a schema from an XML document.

Parameters
documentA preparsed document tree, containing the schema definition.
Exceptions
xmlpp::parse_error

◆ ~XsdSchema()

xmlpp::XsdSchema::~XsdSchema ( )
override

Member Function Documentation

◆ cobj() [1/2]

const _xmlSchema* xmlpp::XsdSchema::cobj ( ) const
noexcept

Access the underlying libxml implementation.

◆ cobj() [2/2]

_xmlSchema* xmlpp::XsdSchema::cobj ( )
noexcept

Access the underlying libxml implementation.

◆ parse_context()

void xmlpp::XsdSchema::parse_context ( _xmlSchemaParserCtxt *  context)
protected

◆ parse_document()

void xmlpp::XsdSchema::parse_document ( const Document document)
overridevirtual

Parse a schema definition from a document.

If another schema has been parsed before, that schema is replaced by the new one.

Parameters
documentA preparsed document tree, containing the schema definition.
Exceptions
xmlpp::parse_error

Implements xmlpp::SchemaBase.

◆ parse_file()

void xmlpp::XsdSchema::parse_file ( const std::string filename)
overridevirtual

Parse a schema definition file.

If another schema has been parsed before, that schema is replaced by the new one.

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

Implements xmlpp::SchemaBase.

◆ parse_memory()

void xmlpp::XsdSchema::parse_memory ( const ustring contents)
overridevirtual

Parse a schema definition from a string.

If another schema has been parsed before, that schema is replaced by the new one.

Parameters
contentsThe schema definition as a string.
Exceptions
xmlpp::parse_error

Implements xmlpp::SchemaBase.

◆ release_underlying()

void xmlpp::XsdSchema::release_underlying ( )
protected