XML::LibXML::Dtd(3pm)

XML::LibXML::Dtd3pm

Xml::libxml dtd handling

Usage

  use XML::LibXML;
  $dtd = XML::LibXML::Dtd->new($public_id, $system_id);
  $dtd = XML::LibXML::Dtd->parse_string($dtd_str);
  $publicId = $dtd->getName();
  $publicId = $dtd->publicId();
  $systemId = $dtd->systemId();

Overview

This class holds a DTD. You may parse a DTD from either a string, or from an external SYSTEM identifier.

No support is available as yet for parsing from a filehandle.

XML::LibXML::Dtd is a sub-class of XML::LibXML::Node, so all the methods available to nodes (particularly toString()) are available to Dtd objects.

Methods

new
  $dtd = XML::LibXML::Dtd->new($public_id, $system_id);

Parse a DTD from the system identifier, and return a DTD object that you can pass to $doc->is_valid() or $doc->validate().

  my $dtd = XML::LibXML::Dtd->new(
                        "SOME // Public / ID / 1.0",
                        "test.dtd"
                                  );
   my $doc = XML::LibXML->new->parse_file("test.xml");
   $doc->validate($dtd);
parse_string
  $dtd = XML::LibXML::Dtd->parse_string($dtd_str);

The same as new() above, except you can parse a DTD from a string. Note that parsing from string may fail if the DTD contains external parametric-entity references with relative URLs.

getName
  $publicId = $dtd->getName();

Returns the name of DTD; i.e., the name immediately following the DOCTYPE keyword.

publicId
  $publicId = $dtd->publicId();

Returns the public identifier of the external subset.

systemId
  $systemId = $dtd->systemId();

Returns the system identifier of the external subset.

Version

2.0213

Releases

13 releases since Debian 3.0 (Woody); the text changed 12 times.

  1. 3.0
  2. 3.1
  3. 4.0
  4. 5.0
  5. 6.0
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 12
  12. 13
  13. Arch

Authors

Matt Sergeant, Christian Glahn, Petr Pajas

License

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

From perl-xml-libxml 2.0213-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.