> > It's really a DOM-style implementation, and the namespace
> > axis just goes
> > up the tree and gathers up the nodes. So, this breaks when
> > you really on
> > generate-id() as a hack to implement node identity, and also
> > in the case,
> > where you use the parent axis. In the first case, there's no
> > work-around,
> > while in the second case, there is.
> >
>
> Saxon, as a matter of interest, does exactly the same thing internally,
but
> when you use the namespace axis explicitly it creates a transient
namespace
> node with the right parent pointer. This is sufficiently rare that the
cost
> hardly matters.
My initial intention was to do the same thing in Xalan-C. However, I was
worried that tracking the lifetime of the nodes would be expensive. Also,
having transient nodes could affect API users because they would end up
with node-sets containing nodes that were not in the initial source tree
and had a potentially different lifetime.
I'm just happy that XPath 2.0 has given implementers the wiggle room to
get rid of namespace nodes altogether.
Dave
| Current Thread |
|
david_n_bertoni - 14 Sep 2004 19:03:11 -0000 <=
|
|