summaryrefslogtreecommitdiffstats
path: root/tools/qdoc3/ditaxmlgenerator.cpp
diff options
context:
space:
mode:
authorMartin Smith <martin.smith@nokia.com>2010-11-05 11:12:31 (GMT)
committerMartin Smith <martin.smith@nokia.com>2010-11-05 11:12:31 (GMT)
commite2cffa74190833621d82697325d5cbbbb2aaec85 (patch)
treee1e370dd391e4009d3bffbdf8a96c2b03a5bd05c /tools/qdoc3/ditaxmlgenerator.cpp
parentb2793a9b7f14508be5cf14bb19127e886b8f1492 (diff)
downloadQt-e2cffa74190833621d82697325d5cbbbb2aaec85.zip
Qt-e2cffa74190833621d82697325d5cbbbb2aaec85.tar.gz
Qt-e2cffa74190833621d82697325d5cbbbb2aaec85.tar.bz2
qdoc: First pass at generating a map.
Some files are missing, and I don't know if the syntax is complete. But it's a start. Task-number: QTBUG-14981
Diffstat (limited to 'tools/qdoc3/ditaxmlgenerator.cpp')
-rw-r--r--tools/qdoc3/ditaxmlgenerator.cpp29
1 files changed, 28 insertions, 1 deletions
diff --git a/tools/qdoc3/ditaxmlgenerator.cpp b/tools/qdoc3/ditaxmlgenerator.cpp
index b69e731..bf7bd07 100644
--- a/tools/qdoc3/ditaxmlgenerator.cpp
+++ b/tools/qdoc3/ditaxmlgenerator.cpp
@@ -574,6 +574,7 @@ void DitaXmlGenerator::generateTree(const Tree *tree, CodeMarker *marker)
findAllSince(tree->root());
PageGenerator::generateTree(tree, marker);
+ writeDitaMap();
}
void DitaXmlGenerator::startText(const Node* /* relative */,
@@ -2285,7 +2286,6 @@ void DitaXmlGenerator::generateHeader(const Node* node,
xmlWriter().writeStartElement(nameElement); // <title> or <apiName>
xmlWriter().writeCharacters(name);
xmlWriter().writeEndElement(); // </title> or </apiName>
-
}
/*!
@@ -5573,4 +5573,31 @@ bool DitaXmlGenerator::canHandleFormat(const QString& format)
return (format == "HTML") || (format == this->format());
}
+void DitaXmlGenerator::writeDitaMap()
+{
+ beginSubPage(Location(),"qt-dita-map.xml");
+
+ QString doctype;
+ doctype = "<!DOCTYPE cxxAPIMap PUBLIC \"-//NOKIA//DTD DITA C++ API Map Reference Type v0.6.0//EN\" \"dtd/cxxAPIMap.dtd\">";
+
+ xmlWriter().writeDTD(doctype);
+ xmlWriter().writeStartElement("cxxAPIMap");
+ xmlWriter().writeAttribute("id","Qt-DITA-Map");
+ xmlWriter().writeAttribute("title","Qt DITA Map");
+ xmlWriter().writeStartElement("topicmeta");
+ xmlWriter().writeStartElement("shortdesc");
+ xmlWriter().writeCharacters("The top level map for the Qt documentation");
+ xmlWriter().writeEndElement(); // </shortdesc>
+ xmlWriter().writeEndElement(); // </topicmeta>
+ GuidMaps::iterator i = guidMaps.begin();
+ while (i != guidMaps.end()) {
+ xmlWriter().writeStartElement("topicref");
+ xmlWriter().writeAttribute("href",i.key());
+ xmlWriter().writeAttribute("type","topic");
+ xmlWriter().writeEndElement(); // </topicref>
+ ++i;
+ }
+ endSubPage();
+}
+
QT_END_NAMESPACE