Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #11447

Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment

From Jeff Higgins <jeff@invalid.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment
Date 2012-01-17 21:33 -0500
Organization A noiseless patient Spider
Message-ID <jf5ajc$arn$1@dont-email.me> (permalink)
References <16090858.1983.1326812606093.JavaMail.geo-discussion-forums@prig11> <jf4asm$g9h$1@dont-email.me> <11466894.1272.1326851809373.JavaMail.geo-discussion-forums@prdh15>

Show all headers | View raw


On 01/17/2012 08:56 PM, Mausam wrote:
> On Tuesday, 17 January 2012 23:02:29 UTC+5:30, Jeff Higgins  wrote:
>> On 01/17/2012 10:03 AM, Mausam wrote:
>>> I have a java class, whose contains a DocumentFragment.
>>>
>>> In the equals method of my class, I am converting the DocumentFragment to a String and comparing an equals on the String.
>>>
>>> I know this is not the best way, because "attributes" e.g can change order in Element of DocumentFragment, or e.g documents differ only in the sequence of unordered elements.
>>>
>>> So in such cases this equality will fail.
>>>
>>> Please suggest a better approach.
>> A my class is equal to another my class if and only if ...
>
> Thanks Jeff, I understand what you mean.
>
> BTW, I was checking the API http://docs.oracle.com/javase/1.5.0/docs/api/org/w3c/dom/Node.html#isEqualNode%28org.w3c.dom.Node%29
>
> The attributes NamedNodeMaps are equal. This is: they are both null, or they have the same length and for each node that exists in one map there is a node that exists in the other map and is equal, although not necessarily at the same index.
>
>
> The childNodes NodeLists are equal. This is: they are both null, or they have the same length and contain equal nodes at the same index. Note that normalization can affect equality; to avoid this, nodes should be normalized before being compared.
>
> Here for attributes, they take care of "NOT necessarily at the same index" but in case of childNodes its not being taken care of. So if there is a sequence of unordered elements (<emp/><dept/>  and<dept/><emp/>  ) they will be treated as NOT equal.
>
> So either I iterate through each node and attribute and do a comparison. That's the fall back. But before that, I wanted to check the experts if there are better options.

Yep. I based my hair trigger response upon the .equals(Object) of the 
"known implementing classes" of Node. Sorry. I'll be interested in 
finding out the "cost" associated with Arne Vajhøj's response.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Mausam <mausamhere@gmail.com> - 2012-01-17 07:03 -0800
  Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Jeff Higgins <jeff@invalid.invalid> - 2012-01-17 12:32 -0500
    Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Mausam <mausamhere@gmail.com> - 2012-01-17 17:56 -0800
      Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Jeff Higgins <jeff@invalid.invalid> - 2012-01-17 21:33 -0500
        Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Arne Vajhøj <arne@vajhoej.dk> - 2012-01-17 21:56 -0500
  Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Arne Vajhøj <arne@vajhoej.dk> - 2012-01-17 18:38 -0500
    Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Arne Vajhøj <arne@vajhoej.dk> - 2012-01-17 21:55 -0500
      Re: what is the bettter/performant way to compare org.w3c.dom.DocumentFragment Mausam <mausamhere@gmail.com> - 2012-01-17 21:29 -0800

csiph-web