knoaman 2003/02/04 11:33:40 Modified: c/src/xercesc/parsers AbstractDOMParser.cpp Log: Performance: use temporary buffer only as needed. Revision Changes Path 1.37 +16 -12 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.36 retrieving revision 1.37 diff -u -r1.36 -r1.37 --- AbstractDOMParser.cpp 31 Jan 2003 19:40:18 -0000 1.36 +++ AbstractDOMParser.cpp 4 Feb 2003 19:33:40 -0000 1.37 @@ -777,24 +777,29 @@ if (fScanner -> getDoNamespaces()) { //DOM Level 2, doNamespaces on - XMLBufBid bbURI(&fBufMgr); - XMLBuffer& bufURI = bbURI.getBuffer(); - XMLCh* namespaceURI = 0; - - XMLBufBid elemQName(&fBufMgr); + const XMLCh* namespaceURI = 0; if (urlId != fScanner->getEmptyNamespaceId()) { //TagName has a prefix - fScanner->getURIText(urlId, bufURI); //get namespaceURI - namespaceURI = bufURI.getRawBuffer(); + + namespaceURI = fScanner->getURIText(urlId); //get namespaceURI if (elemPrefix && *elemPrefix) { + + XMLBufBid elemQName(&fBufMgr); + elemQName.set(elemPrefix); elemQName.append(chColon); + elemQName.append(elemDecl.getBaseName()); + elem = createElementNSNode(namespaceURI, elemQName.getRawBuffer()); + } + else { + elem = createElementNSNode(namespaceURI, elemDecl.getBaseName()); } + } + else { + elem = createElementNSNode(namespaceURI, elemDecl.getBaseName()); } - elemQName.append(elemDecl.getBaseName()); - elem = createElementNSNode(namespaceURI, elemQName.getRawBuffer()); elemImpl = (DOMElementImpl *) elem; for (unsigned int index = 0; index < attrCount; ++index) { @@ -804,8 +809,7 @@ if (XMLString::equals(oneAttrib -> getName(), XMLNS)) //for xmlns=... attrURIId = fScanner->getXMLNSNamespaceId(); if (attrURIId != fScanner->getEmptyNamespaceId()) { //TagName has a prefix - fScanner->getURIText(attrURIId, bufURI); //get namespaceURI - namespaceURI = bufURI.getRawBuffer(); + namespaceURI = fScanner->getURIText(attrURIId); //get namespaceURI } // revisit. Optimize to init the named node map to the // right size up front.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]