Marc Portier wrote:
There was an initial sharing of thought on this: http://marc.theaimsgroup.com/?t=109411811400002&r=1&w=2
<snip/>
Only remaining thing is then to find out how to find all namespace-declarations from a dom node?
(I suppose itterating through all attributes and finding out which ones are in the xmlns-namespace?)
You should take a look at o.a.c.util.jxpath.DOMFactory, which currently handles the namespaces by crawling up in the ancestor list up to finding either an element with the required prefix, or a xmlns:prefix declaration.
That algorithm can be used to determine the active namespace declarations at a given point in the binding definition file (e.g. on a <fb:value> element) to build the list of namespace declarations that have to be "transferred" over to JXPath.
As outlined by Marc, the modifications are likely to be limited to JXPathBindingBuilderBase and JXPathBindingBase through the use of CommonAttributes.
I was wondering also if we need to update all calls to JXPathContext.getRelativeContext(), but I think this isn't actually needed, because AFACIS these new contexts are created as part of a single binding instruction and therefore share the same namespace declarations as their parent context.
So updating 2 classes should be all what's needed to do.
Sylvain
-- Sylvain Wallez Anyware Technologies http://www.apache.org/~sylvain http://www.anyware-tech.com { XML, Java, Cocoon, OpenSource }*{ Training, Consulting, Projects }
