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