summaryrefslogtreecommitdiffstats
path: root/qtools/qxml.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2012-01-10 21:15:46 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2012-01-10 21:15:46 (GMT)
commitfd8b446f8ae60e7d1dc259c6f5fe38c287377d19 (patch)
treeab92980b31825ec310269f7799b1076422132a3e /qtools/qxml.cpp
parent8a65c23b74c33c38b4d1234e76cec74bd08cea69 (diff)
downloadDoxygen-fd8b446f8ae60e7d1dc259c6f5fe38c287377d19.zip
Doxygen-fd8b446f8ae60e7d1dc259c6f5fe38c287377d19.tar.gz
Doxygen-fd8b446f8ae60e7d1dc259c6f5fe38c287377d19.tar.bz2
Release-1.7.6.1-20120110
Diffstat (limited to 'qtools/qxml.cpp')
-rw-r--r--qtools/qxml.cpp35
1 files changed, 25 insertions, 10 deletions
diff --git a/qtools/qxml.cpp b/qtools/qxml.cpp
index 9a24c1b..83ab89d 100644
--- a/qtools/qxml.cpp
+++ b/qtools/qxml.cpp
@@ -2449,7 +2449,7 @@ bool QXmlSimpleReader::parseElement()
d->error = XMLERR_ERRORPARSINGNAME;
goto parseError;
}
- if ( !parseElementETagBegin2() )
+ if ( !parseElementETagBegin2( uri, lname ) )
goto parseError;
break;
case Attribute:
@@ -2495,10 +2495,17 @@ bool QXmlSimpleReader::parseElementEmptyTag( bool &t, QString &uri, QString &lna
return FALSE;
}
// ... followed by endElement
- // ### missing namespace support!
- if ( !contentHnd->endElement( "","",tags.pop() ) ) {
- d->error = contentHnd->errorString();
- return FALSE;
+ if ( d->useNamespaces ) {
+ if ( !contentHnd->endElement( uri, lname,tags.pop() ) ) {
+ d->error = contentHnd->errorString();
+ return FALSE;
+ }
+ }
+ else {
+ if ( !contentHnd->endElement( "","",tags.pop() ) ) {
+ d->error = contentHnd->errorString();
+ return FALSE;
+ }
}
// namespace support?
if ( d->useNamespaces ) {
@@ -2529,7 +2536,7 @@ bool QXmlSimpleReader::parseElementEmptyTag( bool &t, QString &uri, QString &lna
Helper to break down the size of the code in the case statement.
Return FALSE on error, otherwise TRUE.
*/
-bool QXmlSimpleReader::parseElementETagBegin2()
+bool QXmlSimpleReader::parseElementETagBegin2( QString &uri, QString &lname )
{
// pop the stack and compare it with the name
@@ -2538,11 +2545,19 @@ bool QXmlSimpleReader::parseElementETagBegin2()
return FALSE;
}
// call the handler
- // ### missing namespace support!
if ( contentHnd ) {
- if ( !contentHnd->endElement("","",name()) ) {
- d->error = contentHnd->errorString();
- return FALSE;
+ if ( d->useNamespaces ) {
+ d->namespaceSupport.processName( name(), FALSE, uri, lname );
+ if ( !contentHnd->endElement(uri,lname,name()) ) {
+ d->error = contentHnd->errorString();
+ return FALSE;
+ }
+ }
+ else {
+ if ( !contentHnd->endElement("","",name()) ) {
+ d->error = contentHnd->errorString();
+ return FALSE;
+ }
}
}
// namespace support?