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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   Re: SAX: Next Round (Lexical Event Handler)

[ Lists Home | Date Index | Thread Index ]
  • From: James Clark <jjc@jclark.com>
  • To: david@megginson.com
  • Date: Sun, 24 Jan 1999 10:30:59 +0700

david@megginson.com wrote:

>   public interface LexicalHandler
>   {
>     public void startDTD (String name, String pubid, String sysid)
>       throws SAXException;
>     public void endDTD (String name);
>     public void startExternalEntity (String name, String pubid, String sysid)
>       throws SAXException;
>     public void endExternalEntity (String name) throws SAXException;
>     public void startCDATA () throws SAXException;
>     public void endCDATA () throws SAXException;
>     public void comment (String data) throws SAXException;
>   }
> 
> I haven't checked, but I think that this gives us everything we need
> for DOM level one.

I wonder whether LexicalHandler ought to extend DocumentHandler.  The
events it reports are synchronous with the events reported by
DocumentHandler.  It seems to me that applications are always going to
want to implement either DocumentHandler or both DocumentHandler and
LexicalHandler.

I would prefer different callbacks for external general and external
parameter entities, or at least a parameter to say whether it's general
or external. This information can be inferred from start/endDTD, but
that's seems unnecessarily obtuse. I think users will be surprised to
find both general and parameter entities getting reporting by
start/endExternalEntity with no distinction.

Doesn't the DOM allow access to internal entities as well?  This would
be tough to support because internal entities can be referenced in
attribute values.  What's the point of reporting just external entities?

What is the thinking behind giving endExternalEntity() a single name
argument (as opposed to, say, no arguments, three arguments, or a single
sysid argument)?  Similarily for endDTD()?

What's the point of the pubid and sysid arguments to startDTD()?  This
information will be provided via the call to startExternalEntity() for
the reference to the external subset.

James



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/
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