OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: DTD Processor?

[ 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)


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

It allows you to do things like:

    use SGML::DTD;
    $dtd = new SGML::DTD;
    open (DTDFILE, $dtdfilename) || die "Can't open $dtdfilename";
    @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,


[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/


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS