xmlpp::Dtd Class Reference

Represents an XML DTD for validating XML files. More...

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

Inheritance diagram for xmlpp::Dtd:
[legend]

## Public Member Functions

| Dtd ()
| Dtd (_xmlDtd * dtd, bool take_ownership=false)
| Create a Dtd from the underlying libxml DTD element.
| Dtd (const std::string & filename)
| Create a Dtd and parse an external subset (DTD file) immediately.
| Dtd (const ustring & external, const ustring & system)
| Create a Dtd and parse an external subset (DTD file) immediately.
| ~Dtd () override
const _xmlDtd * | cobj () const noexcept
| Access the underlying libxml implementation.
_xmlDtd * | cobj () noexcept
| Access the underlying libxml implementation.
ustring | get_external_id () const
ustring | get_name () const
ustring | get_system_id () const
void | parse_file (const std::string & filename)
| Parse an external subset (DTD file).
void | parse_memory (const ustring & contents)
| Parse a DTD from a string.
void | parse_stream (std::istream & in)
| Parse a DTD from a stream.
void | parse_subset (const ustring & external, const ustring & system)
| Parse an external subset (DTD file).
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 | release_underlying ()
Protected Member Functions inherited from xmlpp::NonCopyable
| NonCopyable () noexcept
virtual | ~NonCopyable ()

## Detailed Description

Represents an XML DTD for validating XML files.

DTD = Document Type Definition

## Constructor & Destructor Documentation

## Dtd() [1/4]

xmlpp::Dtd::Dtd | ( |  | ) |

## Dtd() [2/4]

xmlpp::Dtd::Dtd | ( | _xmlDtd * | dtd,
|  | bool | take_ownership = false )

explicit

Create a Dtd from the underlying libxml DTD element.

Parameters

  dtd | A pointer to the libxml DTD element.

  take_ownership

  If `true`, this Dtd instance takes ownership of the libxml DTD element. The caller must not delete it.
  If `false`, this Dtd does not take ownership of the libxml DTD element. The caller must guarantee that the libxml DTD element exists as long as this Dtd keeps a pointer to it. The caller is responsible for deleting the libxml DTD element when it's no longer needed, unless it belongs to a Document, in which case it's deleted when the Document is deleted.

## Dtd() [3/4]

xmlpp::Dtd::Dtd | ( | const std::string & | filename | ) |

explicit

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

Since libxml++ 3.0

Parameters

  filename | The URL of the DTD.

Exceptions

  xmlpp::parse_error |

## Dtd() [4/4]

xmlpp::Dtd::Dtd | ( | const ustring & | external,
|  | const ustring & | system )

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

Since libxml++ 3.0

Parameters

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

Exceptions

  xmlpp::parse_error |

## ~Dtd()

xmlpp::Dtd::~Dtd | ( |  | ) |

override

## Member Function Documentation

## cobj() [1/2]

const _xmlDtd * xmlpp::Dtd::cobj | ( |  | ) | const

noexcept

Access the underlying libxml implementation.

## cobj() [2/2]

_xmlDtd * xmlpp::Dtd::cobj | ( |  | ) |

noexcept

Access the underlying libxml implementation.

## get_external_id()

ustring xmlpp::Dtd::get_external_id | ( |  | ) | const

## get_name()

ustring xmlpp::Dtd::get_name | ( |  | ) | const

## get_system_id()

ustring xmlpp::Dtd::get_system_id | ( |  | ) | const

## parse_file()

void xmlpp::Dtd::parse_file | ( | const std::string & | filename | ) |

Parse an external subset (DTD file).

If another DTD has been parsed before, that DTD is replaced by the new one (deleted if this Dtd owns it).

Since libxml++ 3.0

Parameters

  filename | The URL of the DTD.

Exceptions

  xmlpp::parse_error |

## parse_memory()

void xmlpp::Dtd::parse_memory | ( | const ustring & | contents | ) |

Parse a DTD from a string.

If another DTD has been parsed before, that DTD is replaced by the new one (deleted if this Dtd owns it).

Since libxml++ 3.0

Parameters

  contents | The DTD as a string.

Exceptions

  xmlpp::parse_error |

## parse_stream()

void xmlpp::Dtd::parse_stream | ( | std::istream & | in | ) |

Parse a DTD from a stream.

If another DTD has been parsed before, that DTD is replaced by the new one (deleted if this Dtd owns it).

Since libxml++ 3.0

Parameters

  in | The stream.

Exceptions

  xmlpp::parse_error |

## parse_subset()

void xmlpp::Dtd::parse_subset | ( | const ustring & | external,
|  | const ustring & | system )

Parse an external subset (DTD file).

If another DTD has been parsed before, that DTD is replaced by the new one (deleted if this Dtd owns it).

Since libxml++ 3.0

Parameters

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

Exceptions

  xmlpp::parse_error |

## release_underlying()

void xmlpp::Dtd::release_underlying | ( |  | ) |

protected