elena 2003/01/08 13:42:04 Modified: java/src/org/apache/xerces/dom DOMNormalizer.java ElementImpl.java java/src/org/apache/xerces/impl/xs/opti DefaultElement.java java/src/org/apache/xerces/parsers AbstractDOMParser.java Log: Update setIdAttributeNode methods per latest DOM L3 draft Revision Changes Path 1.25 +2 -2 xml-xerces/java/src/org/apache/xerces/dom/DOMNormalizer.java Index: DOMNormalizer.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/DOMNormalizer.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- DOMNormalizer.java 8 Jan 2003 21:21:26 -0000 1.24 +++ DOMNormalizer.java 8 Jan 2003 21:42:04 -0000 1.25 @@ -1321,7 +1321,7 @@ } } if (id){ - ((ElementImpl)currentElement).setIdAttributeNode(attr); + ((ElementImpl)currentElement).setIdAttributeNode(attr, true); } if (fPSVI) { 1.57 +9 -4 xml-xerces/java/src/org/apache/xerces/dom/ElementImpl.java Index: ElementImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/ElementImpl.java,v retrieving revision 1.56 retrieving revision 1.57 diff -u -r1.56 -r1.57 --- ElementImpl.java 31 Dec 2002 01:16:06 -0000 1.56 +++ ElementImpl.java 8 Jan 2003 21:42:04 -0000 1.57 @@ -907,7 +907,7 @@ /** * DOM Level 3: register the given attribute node as an ID attribute */ - public void setIdAttributeNode(Attr at) { + public void setIdAttributeNode(Attr at, boolean makeId) { if (needsSyncData()) { synchronizeData(); } @@ -924,8 +924,13 @@ throw new DOMException(DOMException.NOT_FOUND_ERR, msg); } } - ((AttrImpl) at).isIdAttribute(true); - ownerDocument.putIdentifier(at.getValue(), this); + ((AttrImpl) at).isIdAttribute(makeId); + if (!makeId) { + ownerDocument.removeIdentifier(at.getValue()); + } + else { + ownerDocument.putIdentifier(at.getValue(), this); + } } /** 1.4 +2 -2 xml-xerces/java/src/org/apache/xerces/impl/xs/opti/DefaultElement.java Index: DefaultElement.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/opti/DefaultElement.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DefaultElement.java 3 Jan 2003 00:18:21 -0000 1.3 +++ DefaultElement.java 8 Jan 2003 21:42:04 -0000 1.4 @@ -167,7 +167,7 @@ throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported"); } - public void setIdAttributeNode(Attr at) throws DOMException{ + public void setIdAttributeNode(Attr at, boolean makeId) throws DOMException{ throw new DOMException(DOMException.NOT_SUPPORTED_ERR, "Method not supported"); } public void setIdAttribute(String name, boolean makeId) throws DOMException{ 1.79 +5 -3 xml-xerces/java/src/org/apache/xerces/parsers/AbstractDOMParser.java Index: AbstractDOMParser.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/parsers/AbstractDOMParser.java,v retrieving revision 1.78 retrieving revision 1.79 diff -u -r1.78 -r1.79 --- AbstractDOMParser.java 16 Dec 2002 01:26:20 -0000 1.78 +++ AbstractDOMParser.java 8 Jan 2003 21:42:04 -0000 1.79 @@ -942,14 +942,16 @@ AttrImpl attrImpl = (AttrImpl)attr; boolean specified = attributes.isSpecified(i); attrImpl.setSpecified(specified); + // REVISIT: when DOM Level 3 becomes Rec this code + // should not depend odn fDocumentImpl // Identifier registration if (attributes.getType(i).equals("ID")) { - ((ElementImpl) el).setIdAttributeNode(attr); + ((ElementImpl) el).setIdAttributeNode(attr, true); } else if (attributes instanceof XMLAttributesImpl) { XMLAttributesImpl attrs = (XMLAttributesImpl)attributes; if (attrs.getSchemaId(i)) - ((ElementImpl) el).setIdAttributeNode(attr); + ((ElementImpl) el).setIdAttributeNode(attr, true); } } // REVISIT: Handle entities in attribute value.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]