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

Re: Parser Interface -- Summary of Change Requests

  • From: David Megginson <ak117@f...>
  • To: "Don Park" <donpark@q...>
  • Date: Mon, 2 Feb 1998 15:59:08 -0500

Re: Parser Interface -- Summary of Change Requests
Don Park writes:

 >     public InputStream
 > getEntityByteStream (String systemID)
 >     throws Exception;
 > 
 >     public InputStream
 > getEntityCharStream (String systemID)
 >     throws Exception;
 >
 > The parser implementation should invoke getEntityCharStream first to see if
 > the there is decoded data available.  If not, it should invoke
 > getEntityByteStream to get the raw data.
 > 
 > If both methods return null, then default URL based code is used.

I like the general idea, though there are implementation problems.
Many languages (including Java 1.0.2) have no concept of a character
stream at all, and in Java 1.1, you would have to use

  public Reader getEntityCharStream (String systemID)
    throws Exception;

 > >   This seems like a generally good idea (as will as a simple and
 > >   backwards-compatible change), and I am willing to implement it.
 > >   The only complication is that we'll have to define the default
 > >   state -- is the parser always required to return a default handler
 > >   if the user has not explicitly set one, or should it return null?
 > 
 > It would be up to the SAX implementation.  It might provide default
 > implementation depending on configuration.  For example, FooSaxDriver might
 > have setInputType() method which would install a default EntityHandler for
 > fetching XML document from a database.

This might make life a little trickier for programmers using SAX --
what do others think?


 > BTW, You left out my other suggestion which was
 > 
 > >>>>>>>>>>>>>>>>>>>>>>>>
 > In addition, I would like to have following two methods added to the Parser
 > API for driver-specific operations:
 > 
 >     public Object getDriverProperty(String name);
 >     public Object setDriverProperty(String name, Object value);
 > 
 > Property names should be prefixed with some unique values to avoid confusing
 > other drivers.  Note that above methods can be invoked without knowing which
 > driver is actually being used.  For example:
 > 
 >     parser.setDriverProperty("SuperDriver.lowercaseElements", Boolean.TRUE);
 >     parser.setDriverProperty("HungryDriver.cacheSize", new Integer(100000));
 > <<<<<<<<<<<<<<<<<<<<<<<<
 > 
 > Above two methods allow driver-specific code without actually having to
 > import anything.

Sorry about the omission.  I'd be interested in hearing other
reactions to this suggestion -- I'm worried that it would result in
SAX implementations that are non-conformant XML processors (as in your
first example), or that are incompatible with each other.  Remember
that SAX defines only a minimum level of compatibility among XML
processors.


All the best,


David

-- 
David Megginson                 ak117@f...
Microstar Software Ltd.         dmeggins@m...
      http://home.sprynet.com/sprynet/dmeggins/

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