# XML::LibXML::Dtd - XML::LibXML DTD Handling - perldoc - [phpMan]

## NAME
    [XML::LibXML::Dtd](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown) - [XML::LibXML](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML/markdown) DTD Handling

## SYNOPSIS
      use [XML::LibXML](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML/markdown);

      $dtd = [XML::LibXML::Dtd](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown)->new($public_id, $system_id);
      $dtd = [XML::LibXML::Dtd](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown)->parse_string($dtd_str);
      $publicId = $dtd->getName();
      $publicId = $dtd->publicId();
      $systemId = $dtd->systemId();

## DESCRIPTION
    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](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown) is a sub-class of [XML::LibXML::Node](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ANode/markdown), so all the methods available to nodes
    (particularly toString()) are available to Dtd objects.

## METHODS
    new
          $dtd = [XML::LibXML::Dtd](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown)->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](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown)->new(
                                "SOME // Public / ID / 1.0",
                                "test.dtd"
                                          );
           my $doc = [XML::LibXML](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML/markdown)->new->parse_file("test.xml");
           $doc->validate($dtd);

    parse_string
          $dtd = [XML::LibXML::Dtd](https://www.chedong.com/phpMan.php/perldoc/XML%3A%3ALibXML%3A%3ADtd/markdown)->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.

## AUTHORS
    Matt Sergeant, Christian Glahn, Petr Pajas

## VERSION
    2.0134

## COPYRIGHT
    2001-2007, AxKit.com Ltd.

    2002-2006, Christian Glahn.

    2006-2009, Petr Pajas.

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

