On Thu, Nov 6, 2008 at 11:04 AM, Sergiu Dumitriu <sergiu(a)xwiki.com> wrote:
  Asiri Rathnayake wrote:
  On Wed, Nov 5, 2008 at 8:55 PM, Sergiu Dumitriu
<sergiu(a)xwiki.com> 
 wrote:
> Asiri Rathnayake wrote:
>> On Wed, Nov 5, 2008 at 7:42 PM, Sergiu Dumitriu <sergiu(a)xwiki.com>
> wrote:
>>> Asiri Rathnayake wrote:
>>>>> Isn't there a hasAttribute(attributeName) method? Just asking
 because
   >>> this method exists in the DOM Level 2 Core
specification. See
>>> 
http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-ElHasAttr
>>>
>> It's not available in org.w3c.dom.Node but org.w3c.dom.Element (which
>> extends Node) contains that method. I don't see a way to use Element
> instead
>> of Node because Element doesn't seem to have a getChildElements() 
method.
 > If Element extends Node, then it inherits all
its methods, including
> getChildElements.
 getChildElements() is not available in either Node or Element.
 May be I explained wrong. What I meant to say is, I can iterate over 
 Nodes
  in the dom tree, not Elements.
 
 But you can always use instanceof and cast...
 
 
 I kind of thought of that. I mean in xhtml all tags should be Elements 
  right
  ? But wasn't sure of this myself. And if the
instanceof check fails, what
 should be the logic to handle that case ? Won't this complicate the code
 than it is now ?
 
 If the object is not instanceof Element, then you don't do anything.
 Only elements can have attributes. The code won't be complicated.
 
Fixed with :
<code>
if (node instanceof Element) {
            Element element = (Element) node;
            element.removeAttribute("style");
            if (node.hasChildNodes()) {
                NodeList children = node.getChildNodes();
                for (int i = 0; i < children.getLength(); i++) {
                    filter(children.item(i));
                }
            }
}
</code>
Seems like we don't need to use the hasAttribute() method because the
removeAttribute() javadoc says something like :
"....
 If no attribute with this name is found, this method has no effect.
..."
Thanks Marius & Sergiu :)
- Asiri
  --
 Sergiu Dumitriu
 
http://purl.org/net/sergiu/
 _______________________________________________
 devs mailing list
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs