xmlpp::DtdValidator Class Reference

XML DTD validator. More...

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

Inheritance diagram for xmlpp::DtdValidator:
[legend]

## Public Member Functions

| DtdValidator ()
| DtdValidator (const Glib::ustring& file)
| Create a validator and parse an external subset (DTD file) immediately. More...
| DtdValidator (const Glib::ustring& external, const Glib::ustring& system)
| Create a validator and parse an external subset (DTD file) immediately. More...
| ~DtdValidator () override
Dtd* | get_dtd ()
| Get the parsed DTD. More...
const Dtd* | get_dtd () const
| Get the parsed DTD. More...
| operator bool () const
| Test whether a DTD has been parsed. More...
virtual void | parse_file (const Glib::ustring& filename)
| Parse an external subset (DTD file). More...
virtual void | parse_memory (const Glib::ustring& contents)
| Parse a DTD from a string. More...
virtual void | parse_stream (std::istream& in)
| Parse a DTD from a stream. More...
virtual void | parse_subset (const Glib::ustring& external, const Glib::ustring& system)
| Parse an external subset (DTD file). More...
bool | validate (const Document* doc)
| Validate a document, using a previously parsed DTD. More...
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

Dtd* | dtd_
Protected Attributes inherited from xmlpp::Validator
exception* | exception_
_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

xmlpp::DtdValidator::DtdValidator | ( |  | ) |

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

explicit

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

Parameters

  file | The URL of the DTD.

Exceptions

  xmlpp::parse_error |

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

explicit

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 |

xmlpp::DtdValidator::~DtdValidator | ( |  | ) |

override

## Member Function Documentation

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

Get the parsed DTD.

Returns
  A pointer to the parsed DTD, or `nullptr`.

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

Get the parsed DTD.

Returns
  A pointer to the parsed DTD, or `nullptr`.

xmlpp::DtdValidator::operator bool | ( |  | ) | const

Test whether a DTD has been parsed.

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

  filename | The URL of the DTD.

Exceptions

  xmlpp::parse_error |

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

  contents | The DTD as a string.

Exceptions

  xmlpp::parse_error |

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

  in | The stream.

Exceptions

  xmlpp::parse_error |

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

  external | The external ID of the DTD.
  system | The URL of the DTD.

Exceptions

  xmlpp::parse_error |

void xmlpp::DtdValidator::release_underlying | ( |  | ) |

override protected virtual

Reimplemented from xmlpp::Validator.

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

  doc | Pointer to the document.

Returns
  Whether the document is valid.

Exceptions

  xmlpp::internal_error |
  xmlpp::validity_error |

## Member Data Documentation

Dtd* xmlpp::DtdValidator::dtd_

protected