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]