diff options
Diffstat (limited to 'src/xmlgen.cpp')
-rw-r--r-- | src/xmlgen.cpp | 195 |
1 files changed, 92 insertions, 103 deletions
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index bf5af84..42d4426 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -3,8 +3,8 @@ * Copyright (C) 1997-2015 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software * for any purpose. It is provided "as is" without express or implied warranty. * See the GNU General Public License for more details. * @@ -154,7 +154,7 @@ static void writeXMLHeader(FTextStream &t) t << "<?xml version='1.0' encoding='UTF-8' standalone='no'?>" << endl;; t << "<doxygen xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "; t << "xsi:noNamespaceSchemaLocation=\"compound.xsd\" "; - t << "version=\"" << getVersion() << "\">" << endl; + t << "version=\"" << getDoxygenVersion() << "\">" << endl; } static void writeCombineScript() @@ -195,7 +195,7 @@ void writeXMLLink(FTextStream &t,const char *extRef,const char *compoundId, t << "<ref refid=\"" << compoundId; if (anchorId) t << "_1" << anchorId; t << "\" kindref=\""; - if (anchorId) t << "member"; else t << "compound"; + if (anchorId) t << "member"; else t << "compound"; t << "\""; if (extRef) t << " external=\"" << extRef << "\""; if (tooltip) t << " tooltip=\"" << convertToXML(tooltip) << "\""; @@ -211,7 +211,7 @@ class TextGeneratorXMLImpl : public TextGeneratorIntf TextGeneratorXMLImpl(FTextStream &t): m_t(t) {} void writeString(const char *s,bool /*keepSpaces*/) const { - writeXMLString(m_t,s); + writeXMLString(m_t,s); } void writeBreak(int) const {} void writeLink(const char *extRef,const char *file, @@ -412,7 +412,7 @@ static void writeXMLDocBlock(FTextStream &t, delete visitor; delete xmlCodeGen; delete root; - + } void writeXMLCodeBlock(FTextStream &t,FileDef *fd) @@ -448,7 +448,7 @@ static void writeMemberReference(FTextStream &t,const Definition *def,const Memb } t << " <" << tagName << " refid=\""; t << rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\""; - if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef()) + if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef()) { t << " compoundref=\"" << rmd->getBodyDef()->getOutputFileBase() << "\""; t << " startline=\"" << rmd->getStartBodyLine() << "\""; @@ -458,7 +458,7 @@ static void writeMemberReference(FTextStream &t,const Definition *def,const Memb } } t << ">" << convertToXML(name) << "</" << tagName << ">" << endl; - + } static void stripQualifiers(QCString &typeStr) @@ -477,18 +477,18 @@ static void stripQualifiers(QCString &typeStr) static QCString classOutputFileBase(const ClassDef *cd) { //static bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES); - //if (inlineGroupedClasses && cd->partOfGroups()!=0) + //if (inlineGroupedClasses && cd->partOfGroups()!=0) return cd->getOutputFileBase(); - //else + //else // return cd->getOutputFileBase(); } static QCString memberOutputFileBase(const MemberDef *md) { //static bool inlineGroupedClasses = Config_getBool(INLINE_GROUPED_CLASSES); - //if (inlineGroupedClasses && md->getClassDef() && md->getClassDef()->partOfGroups()!=0) + //if (inlineGroupedClasses && md->getClassDef() && md->getClassDef()->partOfGroups()!=0) // return md->getClassDef()->getXmlOutputFileBase(); - //else + //else // return md->getOutputFileBase(); return md->getOutputFileBase(); } @@ -506,11 +506,11 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream // + source definition // + source references // + source referenced by - // - body code - // + template arguments + // - body code + // + template arguments // (templateArguments(), definitionTemplateParameterLists()) // - call graph - + // enum values are written as part of the enum if (md->memberType()==MemberType_EnumValue) return; if (md->isHidden()) return; @@ -540,16 +540,16 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream case MemberType_Dictionary: memType="dictionary"; break; } - ti << " <member refid=\"" << memberOutputFileBase(md) - << "_1" << md->anchor() << "\" kind=\"" << memType << "\"><name>" + ti << " <member refid=\"" << memberOutputFileBase(md) + << "_1" << md->anchor() << "\" kind=\"" << memType << "\"><name>" << convertToXML(md->name()) << "</name></member>" << endl; - + QCString scopeName; - if (md->getClassDef()) + if (md->getClassDef()) scopeName=md->getClassDef()->name(); - else if (md->getNamespaceDef()) + else if (md->getNamespaceDef()) scopeName=md->getNamespaceDef()->name(); - + t << " <memberdef kind=\""; //enum { define_t,variable_t,typedef_t,enum_t,function_t } xmlType = function_t; t << memType << "\" id=\""; @@ -586,7 +586,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream { const ArgumentList &al = md->argumentList(); t << " const=\""; - if (al.constSpecifier) t << "yes"; else t << "no"; + if (al.constSpecifier) t << "yes"; else t << "no"; t << "\""; t << " explicit=\""; @@ -661,12 +661,12 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream { //ArgumentList *al = md->argumentList(); //t << " volatile=\""; - //if (al && al->volatileSpecifier) t << "yes"; else t << "no"; + //if (al && al->volatileSpecifier) t << "yes"; else t << "no"; t << " mutable=\""; if (md->isMutable()) t << "yes"; else t << "no"; t << "\""; - + if (md->isInitonly()) { t << " initonly=\"yes\""; @@ -796,7 +796,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream } t << " <name>" << convertToXML(md->name()) << "</name>" << endl; - + if (md->memberType() == MemberType_Property) { if (md->isReadable()) @@ -811,11 +811,11 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream if (bitfield.at(0)==':') bitfield=bitfield.mid(1); t << " <bitfield>" << convertToXML(bitfield) << "</bitfield>" << endl; } - + const MemberDef *rmd = md->reimplements(); if (rmd) { - t << " <reimplements refid=\"" + t << " <reimplements refid=\"" << memberOutputFileBase(rmd) << "_1" << rmd->anchor() << "\">" << convertToXML(rmd->name()) << "</reimplements>" << endl; } @@ -825,7 +825,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream MemberListIterator mli(*rbml); for (mli.toFirst();(rmd=mli.current());++mli) { - t << " <reimplementedby refid=\"" + t << " <reimplementedby refid=\"" << memberOutputFileBase(rmd) << "_1" << rmd->anchor() << "\">" << convertToXML(rmd->name()) << "</reimplementedby>" << endl; } @@ -863,7 +863,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream if (!a.name.isEmpty()) { t << " <declname>"; - writeXMLString(t,a.name); + writeXMLString(t,a.name); t << "</declname>" << endl; } if (defArg && !defArg->name.isEmpty() && defArg->name!=a.name) @@ -874,8 +874,8 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream } if (!a.array.isEmpty()) { - t << " <array>"; - writeXMLString(t,a.array); + t << " <array>"; + writeXMLString(t,a.array); t << "</array>" << endl; } if (!a.defval.isEmpty()) @@ -895,7 +895,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream } } } - else if (md->memberType()==MemberType_Define && + else if (md->memberType()==MemberType_Define && md->argsString()) // define { if (md->argumentList().empty()) // special case for "foo()" to @@ -925,7 +925,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream linkifyText(TextGeneratorXMLImpl(t),def,md->getBodyDef(),md,md->excpString()); t << "</exceptions>" << endl; } - + if (md->memberType()==MemberType_Enumeration) // enum { const MemberList *enumFields = md->enumFieldList(); @@ -979,9 +979,9 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream t << " </inbodydescription>" << endl; if (md->getDefLine()!=-1) { - t << " <location file=\"" + t << " <location file=\"" << convertToXML(stripFromPath(md->getDefFileName())) << "\" line=\"" - << md->getDefLine() << "\" column=\"" + << md->getDefLine() << "\" column=\"" << md->getDefColumn() << "\"" ; if (md->getStartBodyLine()!=-1) { @@ -990,7 +990,7 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream { t << " bodyfile=\"" << convertToXML(stripFromPath(bodyDef->absFilePath())) << "\""; } - t << " bodystart=\"" << md->getStartBodyLine() << "\" bodyend=\"" + t << " bodystart=\"" << md->getStartBodyLine() << "\" bodyend=\"" << md->getEndBodyLine() << "\""; } if (md->getDeclLine()!=-1) @@ -1007,7 +1007,6 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream if (mdict) { MemberSDict::Iterator mdi(*mdict); - const MemberDef *rmd; for (mdi.toFirst();(rmd=mdi.current());++mdi) { writeMemberReference(t,def,rmd,"references"); @@ -1017,13 +1016,12 @@ static void generateXMLForMember(const MemberDef *md,FTextStream &ti,FTextStream if (mdict) { MemberSDict::Iterator mdi(*mdict); - const MemberDef *rmd; for (mdi.toFirst();(rmd=mdi.current());++mdi) { writeMemberReference(t,def,rmd,"referencedby"); } } - + t << " </memberdef>" << endl; } @@ -1114,7 +1112,7 @@ static void writeListOfAllMembers(const ClassDef *cd,FTextStream &t) { t << " ambiguityscope=\"" << convertToXML(mi->ambiguityResolutionScope) << "\""; } - t << "><scope>" << convertToXML(cd->name()) << "</scope><name>" << + t << "><scope>" << convertToXML(cd->name()) << "</scope><name>" << convertToXML(md->name()) << "</name></member>" << endl; } } @@ -1173,7 +1171,7 @@ static void writeInnerFiles(const FileList *fl,FTextStream &t) FileDef *fd; for (fli.toFirst();(fd=fli.current());++fli) { - t << " <innerfile refid=\"" << fd->getOutputFileBase() + t << " <innerfile refid=\"" << fd->getOutputFileBase() << "\">" << convertToXML(fd->name()) << "</innerfile>" << endl; } } @@ -1206,7 +1204,7 @@ static void writeInnerGroups(const GroupList *gl,FTextStream &t) for (gli.toFirst();(sgd=gli.current());++gli) { t << " <innergroup refid=\"" << sgd->getOutputFileBase() - << "\">" << convertToXML(sgd->groupTitle()) + << "\">" << convertToXML(sgd->groupTitle()) << "</innergroup>" << endl; } } @@ -1220,12 +1218,12 @@ static void writeInnerDirs(const DirList *dl,FTextStream &t) DirDef *subdir; for (subdirs.toFirst();(subdir=subdirs.current());++subdirs) { - t << " <innerdir refid=\"" << subdir->getOutputFileBase() + t << " <innerdir refid=\"" << subdir->getOutputFileBase() << "\">" << convertToXML(subdir->displayName()) << "</innerdir>" << endl; } } } - + static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) { // + brief description @@ -1252,10 +1250,10 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) msg("Generating XML output for class %s\n",cd->name().data()); - ti << " <compound refid=\"" << classOutputFileBase(cd) + ti << " <compound refid=\"" << classOutputFileBase(cd) << "\" kind=\"" << cd->compoundTypeString() << "\"><name>" << convertToXML(cd->name()) << "</name>" << endl; - + QCString outputDirectory = Config_getString(XML_OUTPUT); QCString fileName=outputDirectory+"/"+ classOutputFileBase(cd)+".xml"; QFile f(fileName); @@ -1268,8 +1266,8 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) //t.setEncoding(FTextStream::UnicodeUTF8); writeXMLHeader(t); - t << " <compounddef id=\"" - << classOutputFileBase(cd) << "\" kind=\"" + t << " <compounddef id=\"" + << classOutputFileBase(cd) << "\" kind=\"" << cd->compoundTypeString() << "\" language=\"" << langToString(cd->getLanguage()) << "\" prot=\""; switch (cd->protection()) @@ -1283,8 +1281,8 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) if (cd->isSealed()) t << "\" sealed=\"yes"; if (cd->isAbstract()) t << "\" abstract=\"yes"; t << "\">" << endl; - t << " <compoundname>"; - writeXMLString(t,cd->name()); + t << " <compoundname>"; + writeXMLString(t,cd->name()); t << "</compoundname>" << endl; if (cd->baseClasses()) { @@ -1333,7 +1331,7 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) BaseClassDef *bcd; for (bcli.toFirst();(bcd=bcli.current());++bcli) { - t << " <derivedcompoundref refid=\"" + t << " <derivedcompoundref refid=\"" << classOutputFileBase(bcd->classDef) << "\" prot=\""; switch (bcd->prot) @@ -1350,7 +1348,7 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) case Virtual: t << "virtual"; break; case Pure: t << "pure-virtual"; break; } - t << "\">" << convertToXML(bcd->classDef->displayName()) + t << "\">" << convertToXML(bcd->classDef->displayName()) << "</derivedcompoundref>" << endl; } } @@ -1417,9 +1415,9 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) collaborationGraph.writeXML(t); t << " </collaborationgraph>" << endl; } - t << " <location file=\"" + t << " <location file=\"" << convertToXML(stripFromPath(cd->getDefFileName())) << "\" line=\"" - << cd->getDefLine() << "\"" << " column=\"" + << cd->getDefLine() << "\"" << " column=\"" << cd->getDefColumn() << "\"" ; if (cd->getStartBodyLine()!=-1) { @@ -1428,7 +1426,7 @@ static void generateXMLForClass(const ClassDef *cd,FTextStream &ti) { t << " bodyfile=\"" << convertToXML(stripFromPath(bodyDef->absFilePath())) << "\""; } - t << " bodystart=\"" << cd->getStartBodyLine() << "\" bodyend=\"" + t << " bodystart=\"" << cd->getStartBodyLine() << "\" bodyend=\"" << cd->getEndBodyLine() << "\""; } t << "/>" << endl; @@ -1452,10 +1450,10 @@ static void generateXMLForNamespace(const NamespaceDef *nd,FTextStream &ti) if (nd->isReference() || nd->isHidden()) return; // skip external references - ti << " <compound refid=\"" << nd->getOutputFileBase() - << "\" kind=\"namespace\"" << "><name>" + ti << " <compound refid=\"" << nd->getOutputFileBase() + << "\" kind=\"namespace\"" << "><name>" << convertToXML(nd->name()) << "</name>" << endl; - + QCString outputDirectory = Config_getString(XML_OUTPUT); QCString fileName=outputDirectory+"/"+nd->getOutputFileBase()+".xml"; QFile f(fileName); @@ -1466,10 +1464,10 @@ static void generateXMLForNamespace(const NamespaceDef *nd,FTextStream &ti) } FTextStream t(&f); //t.setEncoding(FTextStream::UnicodeUTF8); - + writeXMLHeader(t); - t << " <compounddef id=\"" << nd->getOutputFileBase() - << "\" kind=\"namespace\" language=\"" + t << " <compounddef id=\"" << nd->getOutputFileBase() + << "\" kind=\"namespace\" language=\"" << langToString(nd->getLanguage()) << "\">" << endl; t << " <compoundname>"; writeXMLString(t,nd->name()); @@ -1530,13 +1528,13 @@ static void generateXMLForFile(FileDef *fd,FTextStream &ti) // + source code // + location // - number of lines - + if (fd->isReference()) return; // skip external references - - ti << " <compound refid=\"" << fd->getOutputFileBase() - << "\" kind=\"file\"><name>" << convertToXML(fd->name()) + + ti << " <compound refid=\"" << fd->getOutputFileBase() + << "\" kind=\"file\"><name>" << convertToXML(fd->name()) << "</name>" << endl; - + QCString outputDirectory = Config_getString(XML_OUTPUT); QCString fileName=outputDirectory+"/"+fd->getOutputFileBase()+".xml"; QFile f(fileName); @@ -1550,7 +1548,7 @@ static void generateXMLForFile(FileDef *fd,FTextStream &ti) writeXMLHeader(t); t << " <compounddef id=\"" << fd->getOutputFileBase() - << "\" kind=\"file\" language=\"" + << "\" kind=\"file\" language=\"" << langToString(fd->getLanguage()) << "\">" << endl; t << " <compoundname>"; writeXMLString(t,fd->name()); @@ -1671,9 +1669,9 @@ static void generateXMLForGroup(const GroupDef *gd,FTextStream &ti) if (gd->isReference()) return; // skip external references - ti << " <compound refid=\"" << gd->getOutputFileBase() + ti << " <compound refid=\"" << gd->getOutputFileBase() << "\" kind=\"group\"><name>" << convertToXML(gd->name()) << "</name>" << endl; - + QCString outputDirectory = Config_getString(XML_OUTPUT); QCString fileName=outputDirectory+"/"+gd->getOutputFileBase()+".xml"; QFile f(fileName); @@ -1686,7 +1684,7 @@ static void generateXMLForGroup(const GroupDef *gd,FTextStream &ti) FTextStream t(&f); //t.setEncoding(FTextStream::UnicodeUTF8); writeXMLHeader(t); - t << " <compounddef id=\"" + t << " <compounddef id=\"" << gd->getOutputFileBase() << "\" kind=\"group\">" << endl; t << " <compoundname>" << convertToXML(gd->name()) << "</compoundname>" << endl; t << " <title>" << convertToXML(gd->groupTitle()) << "</title>" << endl; @@ -1733,8 +1731,8 @@ static void generateXMLForGroup(const GroupDef *gd,FTextStream &ti) static void generateXMLForDir(DirDef *dd,FTextStream &ti) { if (dd->isReference()) return; // skip external references - ti << " <compound refid=\"" << dd->getOutputFileBase() - << "\" kind=\"dir\"><name>" << convertToXML(dd->displayName()) + ti << " <compound refid=\"" << dd->getOutputFileBase() + << "\" kind=\"dir\"><name>" << convertToXML(dd->displayName()) << "</name>" << endl; QCString outputDirectory = Config_getString(XML_OUTPUT); @@ -1749,7 +1747,7 @@ static void generateXMLForDir(DirDef *dd,FTextStream &ti) FTextStream t(&f); //t.setEncoding(FTextStream::UnicodeUTF8); writeXMLHeader(t); - t << " <compounddef id=\"" + t << " <compounddef id=\"" << dd->getOutputFileBase() << "\" kind=\"dir\">" << endl; t << " <compoundname>" << convertToXML(dd->displayName()) << "</compoundname>" << endl; @@ -1778,18 +1776,18 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) const char *kindName = isExample ? "example" : "page"; if (pd->isReference()) return; - + QCString pageName = pd->getOutputFileBase(); if (pd->getGroupDef()) { pageName+=(QCString)"_"+pd->name(); } if (pageName=="index") pageName="indexpage"; // to prevent overwriting the generated index page. - + ti << " <compound refid=\"" << pageName - << "\" kind=\"" << kindName << "\"><name>" << convertToXML(pd->name()) + << "\" kind=\"" << kindName << "\"><name>" << convertToXML(pd->name()) << "</name>" << endl; - + QCString outputDirectory = Config_getString(XML_OUTPUT); QCString fileName=outputDirectory+"/"+pageName+".xml"; QFile f(fileName); @@ -1804,7 +1802,7 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) writeXMLHeader(t); t << " <compounddef id=\"" << pageName; t << "\" kind=\"" << kindName << "\">" << endl; - t << " <compoundname>" << convertToXML(pd->name()) + t << " <compoundname>" << convertToXML(pd->name()) << "</compoundname>" << endl; if (pd==Doxygen::mainPage) // main page is special @@ -1818,37 +1816,32 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) { title = Config_getString(PROJECT_NAME); } - t << " <title>" << convertToXML(convertCharEntitiesToUTF8(title)) + t << " <title>" << convertToXML(convertCharEntitiesToUTF8(title)) << "</title>" << endl; } else { - SectionInfo *si = Doxygen::sectionDict->find(pd->name()); + const SectionInfo *si = SectionManager::instance().find(pd->name()); if (si) { - t << " <title>" << convertToXML(convertCharEntitiesToUTF8(filterTitle(si->title))) + t << " <title>" << convertToXML(convertCharEntitiesToUTF8(filterTitle(si->title()))) << "</title>" << endl; } } writeInnerPages(pd->getSubPages(),t); - SectionDict *sectionDict = pd->getSectionDict(); - if (pd->localToc().isXmlEnabled() && sectionDict) + const SectionRefs §ionRefs = pd->getSectionRefs(); + if (pd->localToc().isXmlEnabled() && !sectionRefs.empty()) { t << " <tableofcontents>" << endl; - SDict<SectionInfo>::Iterator li(*sectionDict); - SectionInfo *si; int level=1,l; bool inLi[5]={ FALSE, FALSE, FALSE, FALSE, FALSE }; int maxLevel = pd->localToc().xmlLevel(); - for (li.toFirst();(si=li.current());++li) + for (const SectionInfo *si : sectionRefs) { - if (si->type==SectionInfo::Section || - si->type==SectionInfo::Subsection || - si->type==SectionInfo::Subsubsection || - si->type==SectionInfo::Paragraph) + if (isSection(si->type())) { //printf(" level=%d title=%s\n",level,si->title.data()); - int nextLevel = (int)si->type; + int nextLevel = (int)si->type(); if (nextLevel>level) { for (l=level;l<nextLevel;l++) @@ -1868,10 +1861,10 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) if (nextLevel <= maxLevel) { if (inLi[nextLevel]) t << " </tocsect>" << endl; - QCString titleDoc = convertToXML(si->title); + QCString titleDoc = convertToXML(si->title()); t << " <tocsect>" << endl; - t << " <name>" << (si->title.isEmpty()?si->label:titleDoc) << "</name>" << endl; - t << " <reference>" << convertToXML(pageName) << "_1" << convertToXML(si -> label) << "</reference>" << endl; + t << " <name>" << (si->title().isEmpty()?si->label():titleDoc) << "</name>" << endl; + t << " <reference>" << convertToXML(pageName) << "_1" << convertToXML(si->label()) << "</reference>" << endl; inLi[nextLevel]=TRUE; level = nextLevel; } @@ -1918,7 +1911,7 @@ void generateXML() // + groups // + related pages // - examples - + QCString outputDirectory = Config_getString(XML_OUTPUT); QDir xmlDir(outputDirectory); createSubDirs(xmlDir); @@ -1975,7 +1968,7 @@ void generateXML() t << "<?xml version='1.0' encoding='UTF-8' standalone='no'?>" << endl;; t << "<doxygenindex xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" "; t << "xsi:noNamespaceSchemaLocation=\"index.xsd\" "; - t << "version=\"" << getVersion() << "\">" << endl; + t << "version=\"" << getDoxygenVersion() << "\">" << endl; { ClassSDict::Iterator cli(*Doxygen::classSDict); @@ -2001,16 +1994,12 @@ void generateXML() msg("Generating XML output for namespace %s\n",nd->name().data()); generateXMLForNamespace(nd,t); } - FileNameListIterator fnli(*Doxygen::inputNameList); - FileName *fn; - for (;(fn=fnli.current());++fnli) + for (const auto &fn : *Doxygen::inputNameLinkedMap) { - FileNameIterator fni(*fn); - FileDef *fd; - for (;(fd=fni.current());++fni) + for (const auto &fd : *fn) { msg("Generating XML output for file %s\n",fd->name().data()); - generateXMLForFile(fd,t); + generateXMLForFile(fd.get(),t); } } GroupSDict::Iterator gli(*Doxygen::groupSDict); |