XML::LibXML::Dtd - XML::LibXML DTD Handling
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();
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.
$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);
$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.
$publicId = $dtd->getName();
Returns the name of DTD; i.e., the name immediately following the DOCTYPE keyword.
$publicId = $dtd->publicId();
Returns the public identifier of the external subset.
$systemId = $dtd->systemId();
Returns the system identifier of the external subset.
Matt Sergeant, Christian Glahn, Petr Pajas
2.0210
2001-2007, AxKit.com Ltd.
2002-2006, Christian Glahn.
2006-2009, Petr Pajas.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.