SAX 2.0 extension proposals.
Toby Speight
Toby.Speight at streapadair.freeserve.co.uk
Wed Feb 2 18:34:06 GMT 2000
Miles> Miles Sabin <URL:mailto:msabin at cromwellmedia.co.uk>
0> In article
0> <AA4C152BA2F9D211B9DD0008C79F760A6752AE at odin.cromwellmedia.co.uk>,
0> Miles wrote:
Miles> Toby Speight wrote,
>> [snip: detailed example]
>>
>> Now an application asks for a parser that provides q and r. The
>> factory could use the above table to discover that C and F together
>> will provide this (no other combination works).
Miles> Hmm ... that strikes me as a tad specialized.
Me too :-)
Miles> Even so, I think the case is covered. How about,
Miles>
Miles> package foo;
Miles>
Miles> public class MyFilterImpl
Miles> implements XMLReaderImplementation
Miles> {
Miles> private XMLReaderImplementation
Miles> itsBaseImpl;
Miles>
Miles> public TableDrivenImplementation()
I assume this is a constructor, and so the name should be MyFilterImpl()?
Miles> {
Miles> // Search for a suitable base impl possibly using
Miles> // XMLReaderImplementations.implementations()
Miles> itsBaseImpl = ???
Miles> }
This is the problem. You would have to create as many MyFilterImpl
objects as you have parsers, and try each one. With my example (3
parsers, 2 filters), that's only 15 different possibilities, but the
combinatorial explosion gets you pretty quickly as the number of
stacked filters increases.
My hope is that with enough information, a factory could use
elementary predicate logic to quickly narrow the field down to
the likely combinations. (No, I'm not suggesting that *I* could
do this. But someone might.)
Perhaps another way of going about the problem (creating parser/filter
pipelines with a given feature set) is for the filters themselves to
be factories. Then you could ask the filter F to give you a pipeline
that supports features q and r, and knowing that it provides r, it
would simply ask the master factory for a parser that provides q.
Make the same request of filter G and it would return no matches,
since it knows it blocks q.
Does that line of thought lead anywhere?
This is all getting quite hairy (certainly it seems a bit like overkill
for core SAX at this point), and since no-one else seems interested,
I'm willing to drop it.
--
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 and unsubscriptions
are now ***CLOSED*** in preparation for list transfer to OASIS.
More information about the Xml-dev
mailing list