[
Lists Home |
Date Index |
Thread Index
]
- From: David Megginson <david@megginson.com>
- To: "XML Developers' List" <xml-dev@ic.ac.uk>
- Date: Fri, 26 Mar 1999 17:23:28 -0500 (EST)
Here's another alternative for SAX2: forget about trying to report DTD
declarations as events, and simply make the whole DTD available
through an interface with a Parser2.get() call.
I threw together a quick (read-only) DTD interface this morning, and
uploaded it to the following location
http://www.megginson.com/SAX/sax2dtd-19990326.zip
The package consists of the following interfaces (and exception class)
in the org.xml.sax.dtd package:
Attribute extends DTDComponent
ContentGroup extends ContentParticle
ContentParticle
ContentParticleIterator
ContentToken extends ContentParticle
DTD
DTDComponent
DTDComponentIterator
DTDException extends java.lang.Exception
Element extends DTDComponent
Entity extends DTDComponent
Notation extends DTDComponent
The interface itself is pretty small -- the compiled class files add
up to just over 4K -- and a SAX application would get the information
like this:
try {
DTD dtd = (DTD)parser.get("http://xml.org/sax/props/dtd");
} catch (SAXNotSupportedException e) {
// ...
}
This would print out the names of all of the declared elements:
DTDComponentIterator it = dtd.getElements();
while (it.hasMoreMembers()) {
System.out.println(((Element)(it.getNextMember())).getName());
}
etc., etc.
All the best,
David
--
David Megginson david@megginson.com
http://www.megginson.com/
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|