SAX2: Proposed alternative DTD interface
David Megginson
david at megginson.com
Fri Mar 26 22:23:09 GMT 1999
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 at megginson.com
http://www.megginson.com/
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at 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 at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list