libxml++: xmlpp::DtdValidator Class Reference
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 | |
Dtd* | get_dtd () noexcept |
Get the parsed DTD. More... | |
const Dtd* | get_dtd () const 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 | |
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 | |
NonCopyable (const NonCopyable&)=delete | |
NonCopyable (NonCopyable&&)=delete | |
virtual | ~NonCopyable () |
NonCopyable& | operator= (const NonCopyable&)=delete |
NonCopyable& | operator= (NonCopyable&&)=delete |
Additional Inherited Members | |
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 | |
std::unique_ptr< exception > | exception_ |
ustring | validate_error_ |
ustring | validate_warning_ |
Detailed Description
XML DTD validator.
DTD = Document Type Definition
Constructor & Destructor Documentation
xmlpp::DtdValidator::DtdValidator | ( | ) |
|
explicit |
Create a validator and parse an external subset (DTD file) immediately.
- Parameters
-
filename The URL of the DTD.
- Exceptions
-
xmlpp::parse_error
Create a validator and parse an external subset (DTD file) immediately.
- Parameters
-
external The external ID of the DTD. system The URL of the DTD.
- Exceptions
-
xmlpp::parse_error
|
explicit |
Create a validator.
- Parameters
-
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.
Iffalse
, 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 |
Member Function Documentation
|
noexcept |
Get the parsed DTD.
- Returns
- A pointer to the parsed DTD, or
nullptr
.
|
noexcept |
Get the parsed DTD.
- Returns
- A pointer to the parsed DTD, or
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.
- Parameters
-
filename The URL of the DTD.
- Exceptions
-
xmlpp::parse_error
Implements xmlpp::Validator.
|
overridevirtual |
Parse a DTD from a string.
If the validator already contains a DTD, that DTD is deleted.
- Parameters
-
contents The DTD as a string.
- Exceptions
-
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.
- Parameters
-
in The stream.
- Exceptions
-
xmlpp::parse_error
Parse an external subset (DTD file).
If the validator already contains a DTD, that DTD is deleted.
- Parameters
-
external The external ID of the DTD. system The URL of the DTD.
- Exceptions
-
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).
- Parameters
-
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.
Iffalse
, 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.
- Parameters
-
document Pointer to the document.
- Exceptions
-
xmlpp::internal_error xmlpp::validity_error
Implements xmlpp::Validator.