[
Lists Home |
Date Index |
Thread Index
]
- From: Norman Gray <norman@astro.gla.ac.uk>
- To: David Wang <dwang@mitre.org>
- Date: Thu, 30 Mar 2000 10:21:28 +0100 (BST)
Greetings,
On Wed, 29 Mar 2000, David Wang wrote:
> I wanted to know if there is a parser and otherwise exposed "object model" for
> DTDs so that DTDs can be programmatically traversed and examined.
You might want to take a look at Earl Hood's perlSGML [1]. This, as
its name suggests, is a Perl module which parses SGML DTDs and
documents.
It allows you to do things like:
use SGML::DTD;
$dtd = new SGML::DTD;
open (DTDFILE, $dtdfilename) || die "Can't open $dtdfilename";
$dtd->read_dtd(\*DTDFILE);
@elements = $dtd->get_elements(0);
@top_element = $dtd->get_top_elements();
foreach $e (@elements) {
print "<dtdelement gi='$e'>\n";
@parents = $dtd->get_parents ($e);
print "<dtdparents>\n";
foreach $pe (@parents) {
print "<dtdelemref id='", lc($pe), "'>\n";
}
print "</dtdparents>\n";
@content = $dtd->get_base_children ($e, 1);
[...]
[blah blah blah]
All the best,
Norman
[1] http://www.oac.uci.edu/indiv/ehood/perlSGML.html
--
---------------------------------------------------------------------------
Norman Gray http://www.astro.gla.ac.uk/users/norman/
Physics and Astronomy, University of Glasgow, UK norman@astro.gla.ac.uk
***************************************************************************
This is xml-dev, the mailing list for XML developers.
To unsubscribe, mailto:majordomo@xml.org&BODY=unsubscribe%20xml-dev
List archives are available at http://xml.org/archives/xml-dev/
***************************************************************************
|