SAX2 RFD: LexicalHandler draft v.1.1
David Megginson
david at megginson.com
Sun Mar 21 18:29:06 GMT 1999
Lars Marius Garshol writes:
>
> * David Megginson
> |
> | public abstract void xmlDecl (String version,
> | String encoding,
> | String standalone)
> | throws SAXException;
>
> Should we perhaps make standalone a boolean instead? It can only have
> two values anyway, and this will spare us a lot of
> standalone.equals(this or that).
Duh! <sound effect="loud slap on forehead"/> … thanks for
catching that one.
> | public abstract void startDTD (String doctype,
> | String publicID,
> | String systemID)
> | throws SAXException;
>
> I think naming doctype docelem or rootelem would be better. It took me
> a couple of seconds to figure out what it meant.
Agreed -- I'll rename it to "root".
> | public abstract void startEntity (String name)
> | throws SAXException;
>
> Is this sufficient? Now we don't even know whether it's internal or
> external. I know EntityResolver can be used to get that information
> (including sysid and pubid), but I'd much rather see it included here
> as well, since IMHO EntityResolver fills a separate role from the data
> handlers. Often one would want to plug in a separate component there.
Actually, this is a sin of omission, but of a different kind -- I was
intending to add an extra note saying that entity declarations will be
reported through the DTDDeclHandler, which I'll be posting next. In
other words, if the parser supports
http://xml.org/sax/handlers/dtd-decl, you'll already have obtained the
information about the attribute declaration and all you need here is
the name.
> How about this?
>
> public abstract void startEntity (String name, String publicID,
> String systemID)
> throws SAXException;
>
> If systemID is null we know it is an external entity. Alternatively,
> we could have a separate callback for external entities.
(You mean "If systemID is null we know it is an *internal* entity").
The problem is that a non-validating parser that does not read the
external DTD subset might not have seen the declaration for the
entity, so a null systemID is no guarantee that the entity was
declared internal.
Thanks, and 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