libxml++
5.4.0
|
XML DTD validator. More...
#include <libxml++/validators/dtdvalidator.h>
Public Member Functions | |
DtdValidator () | |
DtdValidator (const std::string & filename) | |
Create a validator and parse an external subset (DTD file) immediately. More... | |
DtdValidator (const ustring & external, const ustring & system) | |
Create a validator and parse an external subset (DTD file) immediately. More... | |
DtdValidator (Dtd * dtd, bool take_ownership) | |
Create a validator. More... | |
~DtdValidator () override | |
const Dtd * | get_dtd () const noexcept |
Get the parsed DTD. More... | |
Dtd * | get_dtd () noexcept |
Get the parsed DTD. More... | |
operator bool () const noexcept override | |
Test whether a DTD has been parsed. More... | |
void | parse_file (const std::string & filename) override |
Parse an external subset (DTD file). More... | |
void | parse_memory (const ustring & contents) override |
Parse a DTD from a string. More... | |
void | parse_stream (std::istream & in) |
Parse a DTD from a stream. More... | |
void | parse_subset (const ustring & external, const ustring & system) |
Parse an external subset (DTD file). More... | |
void | set_dtd (Dtd * dtd, bool take_ownership) |
Set a DTD. More... | |
void | validate (const Document * document) override |
Validate a document, using a previously parsed DTD. More... | |
Public Member Functions inherited from xmlpp::Validator | |
Validator () noexcept | |
~Validator () 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 | initialize_context () 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 | handle_exception () |
To be called in an exception handler. More... | |
virtual void | on_validity_error (const ustring & message) |
virtual void | on_validity_warning (const ustring & message) |
Protected Member Functions inherited from xmlpp::NonCopyable | |
NonCopyable () noexcept | |
virtual | ~NonCopyable () |
Additional Inherited Members | |
Static Protected Member Functions inherited from xmlpp::Validator | |
static void | callback_error_or_warning (bool error, void * ctx, const char * msg, va_list var_args) |
static void | callback_validity_error (void * ctx, const char * msg,...) |
static void | callback_validity_warning (void * ctx, const char * msg,...) |
static ValidatorCallbackCFuncType | get_callback_validity_error_cfunc () |
static ValidatorCallbackCFuncType | get_callback_validity_warning_cfunc () |
Protected Attributes inherited from xmlpp::Validator | |
std::unique_ptr< exception > | exception_ |
ustring | validate_error_ |
ustring | validate_warning_ |
XML DTD validator.
DTD = Document Type Definition
xmlpp::DtdValidator::DtdValidator | ( | ) |
|
explicit |
Create a validator and parse an external subset (DTD file) immediately.
filename | The URL of the DTD. |
xmlpp::parse_error |
Create a validator and parse an external subset (DTD file) immediately.
external | The external ID of the DTD. |
system | The URL of the DTD. |
xmlpp::parse_error |
|
explicit |
Create a validator.
dtd | A pointer to the DTD to use when validating XML documents. |
take_ownership | If true , the validator takes ownership of the DTD. The caller must not delete it.If false , the validator does not take ownership of the DTD. The caller must guarantee that the DTD exists as long as the validator keeps a pointer to it. The caller is responsible for deleting the DTD when it's no longer needed. |
|
override |
|
noexcept |
Get the parsed DTD.
nullptr
.
|
noexcept |
Get the parsed DTD.
nullptr
.
|
overrideprotectedvirtual |
Reimplemented from xmlpp::Validator.
|
explicitoverridevirtualnoexcept |
Test whether a DTD has been parsed.
For instance
Implements xmlpp::Validator.
|
overridevirtual |
Parse an external subset (DTD file).
If the validator already contains a DTD, that DTD is deleted.
filename | The URL of the DTD. |
xmlpp::parse_error |
Implements xmlpp::Validator.
|
overridevirtual |
Parse a DTD from a string.
If the validator already contains a DTD, that DTD is deleted.
contents | The DTD as a string. |
xmlpp::parse_error |
Implements xmlpp::Validator.
void xmlpp::DtdValidator::parse_stream | ( | std::istream & | in | ) |
Parse a DTD from a stream.
If the validator already contains a DTD, that DTD is deleted.
in | The stream. |
xmlpp::parse_error |
Parse an external subset (DTD file).
If the validator already contains a DTD, that DTD is deleted.
external | The external ID of the DTD. |
system | The URL of the DTD. |
xmlpp::parse_error |
|
overrideprotectedvirtual |
Reimplemented from xmlpp::Validator.
void xmlpp::DtdValidator::set_dtd | ( | Dtd * | dtd, |
bool | take_ownership | ||
) |
Set a DTD.
If the validator already contains a DTD, that DTD is released (deleted if the validator owns the DTD).
dtd | A pointer to the DTD to use when validating XML documents. |
take_ownership | If true , the validator takes ownership of the DTD. The caller must not delete it.If false , the validator does not take ownership of the DTD. The caller must guarantee that the DTD exists as long as the validator keeps a pointer to it. The caller is responsible for deleting the DTD when it's no longer needed. |
|
overridevirtual |
Validate a document, using a previously parsed DTD.
The internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID or IDREF is present.
document | Pointer to the document. |
xmlpp::internal_error | |
xmlpp::validity_error |
Implements xmlpp::Validator.