Do others also have views on this discussion?

Thanks,
Vishal

Vishal Mahajan wrote:
Hi Raul,

The parser that I am working with clearly doesn't intern element namespace strings which is the reason I ran into this problem. And actually I am not sure whether it's a good idea for a parser to intern element namespace strings given that there could be huge number of elements being parsed and there's a potential risk of running out of memory. Also you mention that xerces might be interning namespace stings but looking at their code I was unable to find that. Can you point me to the relevant piece of code?

Thanks,

Vishal

Raul Benito wrote:
Vishal the problem is that this codes is called gazillion of times, and even it
seems a small thing, it takes a lot of accumulated time, I even think
in remove this checking altogether or control it by a property.
Perhaps there is a feature set in your DOM parser that interns the
namespaces. I have test with several DOM parsers (xerces, xmlbeans,
jaxb) and all of them the namespaces strings are interns.
If you are not able too toggle the behavior, We can begin to think in
other possibilities (create code on the fly, create an interface with
one implementation or the other a let the JVM inline it). But I think
will be the last resort.

Regards,
Raul

On 10/2/06, Vishal Mahajan <[EMAIL PROTECTED]> wrote:
Any signature verification was failing for me, and I have a different
DOM implementation in my environment, so probably you are right. It was
such a basic error that it had to be something like this. In any case, I
think we should keep string comparison safe.

Vishal

Raul Benito wrote:
> Hi Vishal,
>
> The namespaces strings are intern, at least in xerces.
>
> Can you post the code that is failing?
>
> On 10/2/06, Vishal Mahajan <[EMAIL PROTECTED]> wrote:
>> This problem was not allowing successful creation of signature space
>> elements. Fix attached.
>>
>> Vishal
>>
>>
>>
>> Index: ElementProxy.java
>> ===================================================================
>> --- ElementProxy.java   (revision 451991)
>> +++ ElementProxy.java   (working copy)
>> @@ -281,7 +281,7 @@
>>
>> String localnameIS = this._constructionElement.getLocalName(); >> String namespaceIS = this._constructionElement.getNamespaceURI();
>> -      if ((namespaceSHOULDBE!=namespaceIS) ||
>> +      if (!namespaceSHOULDBE.equals(namespaceIS) ||
>>         !localnameSHOULDBE.equals(localnameIS) ) {
>>           Object exArgs[] = { namespaceIS +":"+ localnameIS,
>>             namespaceSHOULDBE +":"+ localnameSHOULDBE};
>>
>>
>>
>
>









Reply via email to