On Tue, 15 Jan 2002 15:00:25 +0100
Lars Martin <[EMAIL PROTECTED]> wrote:

> On Tue, 15 Jan 2002 14:13:07 +0100
> "Jeroen Breedveld" <[EMAIL PROTECTED]> wrote:
> 
> > Hi,
> > 
> > I think I found a bug in the rename command. In RenameCommand.java from
> > line 59:
> > this:
> >             Node parent = current.getParentNode( );
> > 
> > should be replaced with this:
> > 
> >             Node parent;
> >             switch (current.getNodeType()) {
> >                 case Node.ATTRIBUTE_NODE:
> >                     parent = ((Attr)current).getOwnerElement( );
> >                     break;
> >                 default:
> >                     parent = current.getParentNode( );
> >             }
> > 
> > 
> > This will allow attributes to be renamed. (Attr nodes do not have a
> > parent node, at least not in our implementation)
> 
> Hi Jeroen,
> ok, the W3C DOM2 recommendation states "All nodes, except Attr [...]
> may have a parent" so I think you're probably right. :-) I would like
> to slightly modify your patch:
> 
> --- RenameCommand.java        2001/11/29 22:58:49     1.2
> +++ RenameCommand.java        2002/01/15 16:03:42
> @@ -105,6 +105,9 @@
>              Node parent = current.getParentNode( );
>              switch ( current.getNodeType( ) ) {
>                  case Node.ATTRIBUTE_NODE:
> +                    // getParentNode() returns NULL for Attributes, but 
> getOwnerElement() returns
> +                    // the proper parent node of this Attribute -> special case
> +                    parent = ((Attr)current).getOwnerElement( );
>                      ((Element)parent).setAttribute( name, current.getNodeValue( ) );
>                      ((Element)parent).removeAttribute( current.getNodeName( ) );
>                      break;
> 
> I hope you'll agree on this shortening....

No objection was raised to this shorting so I'll will apply this patch
in the next couple of hours.
--
______________________________________________________________________
Lars Martin                             mailto:[EMAIL PROTECTED]
SMB GmbH                                        http://www.smb-tec.com

----------------------------------------------------------------------
Post a message:         mailto:[EMAIL PROTECTED]
Unsubscribe:            mailto:[EMAIL PROTECTED]
Contact administrator:  mailto:[EMAIL PROTECTED]
Read archived messages: http://archive.xmldb.org/
----------------------------------------------------------------------

Reply via email to