Lists Home |
Date Index |
* Elliotte Harold <email@example.com> [2005-04-14 06:26]:
> Alan Gutierrez wrote:
> > In my SAX library, XStrategy, I combined namespaces and events.
> > The XStrategy framwork maintains a stack of namespaces in scope
> > by default. It seemed impossible to get anything done without it.
> If you're int he unfortunate situation of needing to resolve namespace
> prefixes in attribute values and element content, as is the case in an
> XSLT processor or a schema validator, then you absolutely need to do
> this. However, probably at least 90% of use cases are much simpler and
> just need to know the namespaces of each element and attribute, and this
> doesn't require any extra work.
> It's not all that hard to keep track of namespaces in scope in SAX. You
> just use a NamespaceSupport object, push the namespace on in
> startPrefixMapping and pop it off in endPrefixMapping. Sadly this isn't
> as well documented or obvious as it should be.
The key to XStrategy is a second event system that sends
messages up a stack event handlers. It's API is stabilizing, and
I'm finding that the reusable strategies, and the bubbling event
model solve a lot of problems easily.
With SAX I find that I'm not trying to shave every instruction,
simply avoiding the overhead of tree materialization.
If I really needed to strip every last bit overhead, I'd use
SAX. I like that I've got namespaces in scope and the stack of
events, amoung other things, encapsulated. It is good to have
them there when I need them.
Alan Gutierrez - firstname.lastname@example.org