diff options
author | albert-github <albert.tests@gmail.com> | 2018-11-26 12:18:42 (GMT) |
---|---|---|
committer | albert-github <albert.tests@gmail.com> | 2018-11-26 12:18:42 (GMT) |
commit | 2bcda330add9279f777990b450f182be16b67e80 (patch) | |
tree | 15394de125753f67a3de738e10dbd052465aec18 /src | |
parent | 01a8fb038a4a012a5d1f8ab60a4a2777c8aee021 (diff) | |
download | Doxygen-2bcda330add9279f777990b450f182be16b67e80.zip Doxygen-2bcda330add9279f777990b450f182be16b67e80.tar.gz Doxygen-2bcda330add9279f777990b450f182be16b67e80.tar.bz2 |
Incorrect tag sequence for xhtml with class diagram possible
In case of a class diagram without mapping information the `map` tag is written without content. This is not allowed and results in xhtml (as reported by xmllint) in:
`Element map content does not follow the DTD, expecting ((p | h1 | h2 | h3 | h4 | h5 | h6 | div | ul | ol | dl | menu | dir | pre | hr | blockquote | address | center | noframes | isindex | fieldset | table | form | noscript | ins | del | script)+ | area+), got ()`
By adding a dummy 'paragraph' `<div/>` this can be overcome,
The closing tag for `map` has been placed on a bit a more logical place, showing the open and close tag together.
Problem can be seen with the default doxygen test 11 (`[011_category.m]: test the \interface and \category command`).
Diffstat (limited to 'src')
-rw-r--r-- | src/context.cpp | 1 | ||||
-rw-r--r-- | src/diagram.cpp | 2 | ||||
-rw-r--r-- | src/htmlgen.cpp | 1 |
3 files changed, 2 insertions, 2 deletions
diff --git a/src/context.cpp b/src/context.cpp index 405d0b5..b05ee9f 100644 --- a/src/context.cpp +++ b/src/context.cpp @@ -2010,6 +2010,7 @@ class ClassContext::Private : public DefinitionContext<ClassContext::Private> d.writeImage(t,g_globals.outputDir, relPathAsString(), m_classDef->getOutputFileBase()); + t << "<div/></map>" << endl; t << "</div>"; } break; diff --git a/src/diagram.cpp b/src/diagram.cpp index 667aa85..83e42b3 100644 --- a/src/diagram.cpp +++ b/src/diagram.cpp @@ -1380,7 +1380,5 @@ void ClassDiagram::writeImage(FTextStream &t,const char *path, #define IMAGE_EXT ".png" image.save((QCString)path+"/"+fileName+IMAGE_EXT); Doxygen::indexList->addImageFile(QCString(fileName)+IMAGE_EXT); - - if (generateMap) t << "</map>" << endl; } diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 581f3f2..357c048 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -1397,6 +1397,7 @@ void HtmlGenerator::endClassDiagram(const ClassDiagram &d, t << "_map\">" << endl; d.writeImage(t,dir,relPath,fileName); + t << "<div/></map>" << endl; t << " </div>"; endSectionContent(t); m_sectionCount++; |