tng 2002/09/05 07:35:31 Modified: c/src/xercesc/parsers AbstractDOMParser.cpp Log: [Bug 12275] DOMCount -n gives DOM Error Revision Changes Path 1.22 +12 -5 xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp Index: AbstractDOMParser.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/parsers/AbstractDOMParser.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- AbstractDOMParser.cpp 19 Aug 2002 14:39:57 -0000 1.21 +++ AbstractDOMParser.cpp 5 Sep 2002 14:35:31 -0000 1.22 @@ -616,6 +616,9 @@ { DOMElement *elem; DOMElementImpl *elemImpl; + static const XMLCh XMLNS[] = { + chLatin_x, chLatin_m, chLatin_l, chLatin_n, chLatin_s, chNull + }; if (fScanner -> getDoNamespaces()) { //DOM Level 2, doNamespaces on @@ -639,9 +642,6 @@ elem = createElementNSNode(namespaceURI, elemQName.getRawBuffer()); elemImpl = (DOMElementImpl *) elem; for (unsigned int index = 0; index < attrCount; ++index) { - static const XMLCh XMLNS[] = { - chLatin_x, chLatin_m, chLatin_l, chLatin_n, chLatin_s, chNull - }; const XMLAttr* oneAttrib = attrList.elementAt(index); unsigned int attrURIId = oneAttrib -> getURIId(); namespaceURI = 0; @@ -735,8 +735,15 @@ XMLBuffer& nameBuf = bbQName.getBuffer(); unsigned int uriId = fScanner->resolveQName(qualifiedName, nameBuf, prefixBuf, ElemStack::Mode_Attribute); + const XMLCh* namespaceURI = 0; + if (!XMLString::compareString(qualifiedName, XMLNS)) //for xmlns=... + uriId = fScanner->getXMLNSNamespaceId(); + if (uriId != fScanner->getEmptyNamespaceId()) { //TagName has a prefix + namespaceURI = fScanner->getURIText(uriId); + } + insertAttr = (DOMAttrImpl *) fDocument->createAttributeNS( - fScanner->getURIText(uriId), // NameSpaceURI + namespaceURI, // NameSpaceURI qualifiedName); // qualified name DOMNode* remAttr = elemImpl->setDefaultAttributeNodeNS(insertAttr);
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]