summaryrefslogtreecommitdiff
path: root/src/xmlgen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmlgen.cpp')
-rw-r--r--src/xmlgen.cpp34
1 files changed, 27 insertions, 7 deletions
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index fe95c7a..2222e46 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -136,7 +136,9 @@ inline void writeXMLCodeString(FTextStream &t,const char *s, int &col)
case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18:
case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26:
case 27: case 28: case 29: case 30: case 31:
- break; // skip invalid XML characters (see http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char)
+ // encode invalid XML characters (see http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char)
+ t << "<sp value=\"" << int(c) << "\"/>";
+ break;
default: s=writeUtf8Char(t,s-1); col++; break;
}
}
@@ -620,7 +622,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
if (md->isInline()) t << "yes"; else t << "no";
t << "\"";
- if (al->refQualifier!=RefQualifierNone)
+ if (al!=0 && al->refQualifier!=RefQualifierNone)
{
t << " refqual=\"";
if (al->refQualifier==RefQualifierLValue) t << "lvalue"; else t << "rvalue";
@@ -668,6 +670,13 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
t << "\"";
}
+ if (md->memberType() == MemberType_Enumeration)
+ {
+ t << " strong=\"";
+ if (md->isStrong()) t << "yes"; else t << "no";
+ t << "\"";
+ }
+
if (md->memberType() == MemberType_Variable)
{
//ArgumentList *al = md->argumentList();
@@ -789,10 +798,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
md->memberType()!=MemberType_Enumeration
)
{
- if (md->memberType()!=MemberType_Typedef)
- {
- writeMemberTemplateLists(md,t);
- }
+ writeMemberTemplateLists(md,t);
QCString typeStr = md->typeString(); //replaceAnonymousScopes(md->typeString());
stripQualifiers(typeStr);
t << " <type>";
@@ -802,6 +808,13 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
t << " <argsstring>" << convertToXML(md->argsString()) << "</argsstring>" << endl;
}
+ if (md->memberType() == MemberType_Enumeration)
+ {
+ t << " <type>";
+ linkifyText(TextGeneratorXMLImpl(t),def,md->getBodyDef(),md,md->enumBaseType());
+ t << "</type>" << endl;
+ }
+
t << " <name>" << convertToXML(md->name()) << "</name>" << endl;
if (md->memberType() == MemberType_Property)
@@ -842,7 +855,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De
{
ArgumentList *declAl = md->declArgumentList();
ArgumentList *defAl = md->argumentList();
- if (declAl && declAl->count()>0)
+ if (declAl && defAl && declAl->count()>0)
{
ArgumentListIterator declAli(*declAl);
ArgumentListIterator defAli(*defAl);
@@ -1825,6 +1838,13 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample)
}
}
writeInnerPages(pd->getSubPages(),t);
+ if(pd->showToc())
+ {
+ t << " <tableofcontents/>" << endl;
+ }
+ t << " <briefdescription>" << endl;
+ writeXMLDocBlock(t,pd->briefFile(),pd->briefLine(),pd,0,pd->briefDescription());
+ t << " </briefdescription>" << endl;
t << " <detaileddescription>" << endl;
if (isExample)
{