xmlpp::XsdSchema Class Reference

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

`#include <libxml++/xsdschema.h>`

Inheritance diagram for xmlpp::XsdSchema:
[legend]

## Public Member Functions

| XsdSchema ()
| XsdSchema (_xmlSchema * schema)
| Create a schema from the underlying libxml schema element.
| XsdSchema (const Document * document)
| Create a schema from an XML document.
| XsdSchema (const std::string & filename)
| Create a schema from a schema definition file.
| ~XsdSchema () override
const _xmlSchema * | cobj () const noexcept
| Access the underlying libxml implementation.
_xmlSchema * | cobj () noexcept
| Access the underlying libxml implementation.
void | parse_document (const Document * document) override
| Parse a schema definition from a document.
void | parse_file (const std::string & filename) override
| Parse a schema definition file.
void | parse_memory (const ustring & contents) override
| Parse a schema definition from a string.
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
NonCopyable & | operator= (const NonCopyable &)=delete
NonCopyable & | operator= (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

  schema | A 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

  filename | The 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

  document | A 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

  document | A 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

  filename | The 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

  contents | The schema definition as a string.

Exceptions

  xmlpp::parse_error |

Implements xmlpp::SchemaBase.

## release_underlying()

void xmlpp::XsdSchema::release_underlying | ( |  | ) |

protected