SAX2 and data types (was: Character Tugging)

Lars Marius Garshol larsga at garshol.priv.no
Wed Jan 19 13:21:09 GMT 2000


* David Megginson
| 
| 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);
|   }

The DT4DTD package has another interesting take on this:

<URL: http://www.extensibility.com/dt4dtd/ >
 
| Presumably, in place of characters() events, your client application
| would receive date, currency, and integer events.

I personally prefer this, and would like to implement something like
it on top of Python SAX. It would be especially nice in Python since
it's untyped, and so values would just arrive in the right type,
including attribute values.

| This would be an especially nice application for SAX2 filters, [...]

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

I think SAX2 (and SAX 1.0, for that matter) provides what is necessary
and leaves a reasonable space in which to implement something like
this.

--Lars M.


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