santuario-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vishal Mahajan <vmaha...@amberpoint.com>
Subject Re: PATCH: String Comparison in ElementProxy
Date Wed, 04 Oct 2006 07:01:41 GMT
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 <vmahajan@amberpoint.com> 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 <vmahajan@amberpoint.com> 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};
>> >>
>> >>
>> >>
>> >
>> >
>>
>>
>>
>
>



Mime
View raw message