[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: SAX2 RFD: LexicalHandler draft v.1.1

  • From: David Megginson <david@m...>
  • To: "XML Developers' List" <xml-dev@i...>
  • Date: Sun, 21 Mar 1999 13:29:35 -0500 (EST)

how to know system id
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

-- 
David Megginson                 david@m...
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
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@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.