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


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: SAX2 RFD: LexicalHandler draft v.1.1

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <david@megginson.com>
  • To: "XML Developers' List" <xml-dev@ic.ac.uk>
  • Date: Sun, 21 Mar 1999 13:29:35 -0500 (EST)

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"/> &hellip; 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 Megginson                 david@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)


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

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