diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2013-05-25 13:53:19 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2013-05-25 13:53:19 (GMT) |
commit | ce9d2a52fc03df9fa892eede140bf738651a0984 (patch) | |
tree | 3e06900bf3e79081885be42c660778c080411614 /src/docbookgen.cpp | |
parent | 456fe6c12cd9e23848b635d5e4639a51a6276e58 (diff) | |
download | Doxygen-ce9d2a52fc03df9fa892eede140bf738651a0984.zip Doxygen-ce9d2a52fc03df9fa892eede140bf738651a0984.tar.gz Doxygen-ce9d2a52fc03df9fa892eede140bf738651a0984.tar.bz2 |
Bug 700710 - Docbook output produces invalid XML for <programlisting> elements
Diffstat (limited to 'src/docbookgen.cpp')
-rw-r--r-- | src/docbookgen.cpp | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/src/docbookgen.cpp b/src/docbookgen.cpp index 5726b3e..3c81eda 100644 --- a/src/docbookgen.cpp +++ b/src/docbookgen.cpp @@ -1171,7 +1171,27 @@ static void generateDocbookForClass(ClassDef *cd,FTextStream &ti) { t << "<link linkend=\"" << ii->fileDef->getOutputFileBase() << "\">"; } - t << "<" << nm << ">" << "</link>"; + if (ii->local) + { + t << """; + } + else + { + t << "<"; + } + t << convertToXML(nm); + if (ii->local) + { + t << """; + } + else + { + t << ">"; + } + if (ii->fileDef && !ii->fileDef->isReference()) + { + t << "</link>"; + } t << "</programlisting>" << endl; t << "</para>" << endl; } @@ -1389,7 +1409,23 @@ static void generateDocbookForFile(FileDef *fd,FTextStream &ti) for (ili1.toFirst();(inc=ili1.current());++ili1) { t << " <programlisting>#include "; - t << inc->includeName; + if (inc->local) + { + t << """; + } + else + { + t << "<"; + } + t << convertToXML(inc->includeName); + if (inc->local) + { + t << """; + } + else + { + t << ">"; + } t << "</programlisting>" << endl; } } |