>
> The IdResolver should be modified to include this namespace URI in the array 
> at
> line 164, and the code at line 266 should be updated to differentiate the 2
> namespaces.
>
>   

Thanks for looking at this.   With the above, I didn't mean to imply
those line references were the *only* things that needed to be changed,
however.  I think (unfortunately) there are some hardcoded assumptions
about the length of that 'namespaces' array in the code between those
two line references.  It's a bit hard for me to grok what the code is
trying to do, it's a bit convoluted, but:  Isn't the idea essentially
that after the call to getEl() in getElementBySearching() the 'Element
[] els' array contains the resolved element in the slot (index) that
corresponds to the same index in the namespace array for the namespace
from which the ID attribute came?  And the 'els' array is one slot
larger than the namespaces array, so that the last slot just means "no
namespace" (happens if the attribute local name is just "ID" , or  "Id"
or "id",  with some exceptions for  namespace-qualified attribs that use
those).

If so, then the code is now a little off - the array size references
need to be incremented, or even better, changed to be relative to the
length of the namespaces array (actually visible as static List
'names').  Or something along those lines.

See for example:

Line 176          Element []els=new Element[6];

Line 230         elementIndex=(elementIndex<0) ? 5 : elementIndex;

Line 236             index=(index<0) ? 5 : index;

Line 250                         index=5;

Line 256                     index=5;


The namespaces array did have length 5, now it has length 6  - so the
"no namespace" slot in the 'els' array (which should now have length 7)
would now be 6 , not 5.  Again, it would seem to me to be better to make
this all relative to the size of the namespaces array in the first
place, not absolute.

Those are just the things I see.  I'm not completely clear on the search
algorithm, so don't take my word for it.

Thanks,
Brent

Reply via email to