SAX2 and data types (was: Character Tugging)

David Megginson david at megginson.com
Tue Jan 18 14:19:43 GMT 2000


Clark C. Evans writes:

 > Context:
 >    
 >   1. You have a multi-stage process, where SAX is the
 >      interface between each stage.
 >   
 >   2. Much of your XML document includes Date, Currency,
 >      and other similar object types; which can take 
 >      significant parsing time and can always be retrieved
 >      by Object.toString()

The SAX2 solution:

  interface MagicDataHandler
  {
    public void date (Date date) throws SAXException;
    public void currency (Currency currency) throws SAXException;
    public void integer (int integer) throws SAXException;
  }

then

  SAXReader r = new MagicDataReader();
  MagicDataHandler h = new MyMagicDataHandler();
  try {
    r.setProperty("http://www.foo.com/props/magic-data-handler", h);
  } catch (SAXException e) {
    System.err.println("Reader does not support a MagicDataHandler");
    System.exit(-1);
  }

Presumably, in place of characters() events, your client application
would receive date, currency, and integer events.  This would be an
especially nice application for SAX2 filters, once we have a stable
and generally-accepted data-typing mechanism (no, guys, notations may
be stable but they're not yet generally-accepted).

 > Just trying to solve my pracical problems...

Let me know if it looks like we've done this one right.


All the best,


David

-- 
David Megginson                 david at megginson.com
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.





More information about the Xml-dev mailing list