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

XML DTD validator. More...

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

Inheritance diagram for xmlpp::DtdValidator:
xmlpp::Validator xmlpp::NonCopyable

Public Member Functions

 DtdValidator ()
 
 DtdValidator (const Glib::ustring & external, const Glib::ustring & system)
 Create a validator and parse an external subset (DTD file) immediately.
 
 DtdValidator (const Glib::ustring & file)
 Create a validator and parse an external subset (DTD file) immediately.
 
 ~DtdValidator () override
 
Dtdget_dtd ()
 Get the parsed DTD.
 
const Dtdget_dtd () const
 Get the parsed DTD.
 
 operator bool () const
 Test whether a DTD has been parsed.
 
virtual void parse_file (const Glib::ustring & filename)
 Parse an external subset (DTD file).
 
virtual void parse_memory (const Glib::ustring & contents)
 Parse a DTD from a string.
 
virtual void parse_stream (std::istream & in)
 Parse a DTD from a stream.
 
virtual void parse_subset (const Glib::ustring & external, const Glib::ustring & system)
 Parse an external subset (DTD file).
 
bool validate (const Document * doc)
 Validate a document, using a previously parsed DTD.
 
- Public Member Functions inherited from xmlpp::Validator
 Validator ()
 
 ~Validator () override
 

Protected Member Functions

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 initialize_valid ()
 
virtual void on_validity_error (const Glib::ustring & message)
 
virtual void on_validity_warning (const Glib::ustring & message)
 

Protected Attributes

Dtddtd_
 
- Protected Attributes inherited from xmlpp::Validator
exceptionexception_
 
_xmlValidCtxt * valid_
 
Glib::ustring validate_error_
 
Glib::ustring validate_warning_
 

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,...)
 

Detailed Description

XML DTD validator.

Constructor & Destructor Documentation

◆ DtdValidator() [1/3]

xmlpp::DtdValidator::DtdValidator ( )

◆ DtdValidator() [2/3]

xmlpp::DtdValidator::DtdValidator ( const Glib::ustring &  file)
explicit

Create a validator and parse an external subset (DTD file) immediately.

Parameters
fileThe URL of the DTD.
Exceptions
xmlpp::parse_error

◆ DtdValidator() [3/3]

xmlpp::DtdValidator::DtdValidator ( const Glib::ustring &  external,
const Glib::ustring &  system 
)
explicit

Create a validator and parse an external subset (DTD file) immediately.

Parameters
externalThe external ID of the DTD.
systemThe URL of the DTD.
Exceptions
xmlpp::parse_error

◆ ~DtdValidator()

xmlpp::DtdValidator::~DtdValidator ( )
override

Member Function Documentation

◆ get_dtd() [1/2]

Dtd * xmlpp::DtdValidator::get_dtd ( )

Get the parsed DTD.

Returns
A pointer to the parsed DTD, or nullptr.

◆ get_dtd() [2/2]

const Dtd * xmlpp::DtdValidator::get_dtd ( ) const

Get the parsed DTD.

Returns
A pointer to the parsed DTD, or nullptr.

◆ operator bool()

xmlpp::DtdValidator::operator bool ( ) const

Test whether a DTD has been parsed.

◆ parse_file()

virtual void xmlpp::DtdValidator::parse_file ( const Glib::ustring &  filename)
virtual

Parse an external subset (DTD file).

If the validator already contains a DTD, that DTD is deleted.

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

◆ parse_memory()

virtual void xmlpp::DtdValidator::parse_memory ( const Glib::ustring &  contents)
virtual

Parse a DTD from a string.

If the validator already contains a DTD, that DTD is deleted.

Parameters
contentsThe DTD as a string.
Exceptions
xmlpp::parse_error

◆ parse_stream()

virtual void xmlpp::DtdValidator::parse_stream ( std::istream in)
virtual

Parse a DTD from a stream.

If the validator already contains a DTD, that DTD is deleted.

Parameters
inThe stream.
Exceptions
xmlpp::parse_error

◆ parse_subset()

virtual void xmlpp::DtdValidator::parse_subset ( const Glib::ustring &  external,
const Glib::ustring &  system 
)
virtual

Parse an external subset (DTD file).

If the validator already contains a DTD, that DTD is deleted.

Parameters
externalThe external ID of the DTD.
systemThe URL of the DTD.
Exceptions
xmlpp::parse_error

◆ release_underlying()

void xmlpp::DtdValidator::release_underlying ( )
overrideprotectedvirtual

Reimplemented from xmlpp::Validator.

◆ validate()

bool xmlpp::DtdValidator::validate ( const Document doc)

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
docPointer to the document.
Returns
Whether the document is valid.
Exceptions
xmlpp::internal_error
xmlpp::validity_error

Member Data Documentation

◆ dtd_

Dtd* xmlpp::DtdValidator::dtd_
protected