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

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   SAX: New Idea for Entity Resolution

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <ak117@freenet.carleton.ca>
  • To: xml-dev Mailing List <xml-dev@ic.ac.uk>
  • Date: Wed, 15 Apr 1998 12:21:21 -0400

Here's a different idea for SAXEntityResolver, that would add the
ability for an application to return a character stream for _any_ URI
(rather than just the document root):

public interface SAXEntityResolver {
  public abstract String filterSystemId (String publicId, String systemId);
  public abstract SAXCharacterStream openCharacterStream (String systemId);
}

Here's how this would work:

1. The SAXParser calls the resolver's filterSystemId() method to see
   if the system ID needs to be translated.  If filterSystemId()
   returns null, the parser will use the default system ID; if it
   returns a string the will use that string as the system identifier.

2. The SAXParser calls the resolver's openCharacterStream() method to
   see if the application wants to open its own character stream.  If
   openCharacterStream() returns null, then the parser will take care
   of opening a character stream itself; if it returns a character
   stream, then the parser will use that character stream for the
   entity.

I like this approach because it does not add a new interface to SAX,
because it is consistent (in both cases, a null return value means
'let the parser do it'), and because it nicely separates the functions
of resolving identifiers and connecting to them.

It will, of course, not be necessary for most SAX application writers
to use this interface; when they do, however, they will be able to
handle _any_ URI scheme, and not just URLs.

On an even more interesting level, the object implementing this
interface could be sitting on a remote ORB and shared by many SAX
implementations (sort of like a DNS server).

On the down side, I don't think that it will be possible to build this
into a driver on top of any existing Java-based SAX parser, at least
without minor internal modifications.

Comments?


All the best,


David

-- 
David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com
      http://home.sprynet.com/sprynet/dmeggins/

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