summaryrefslogtreecommitdiffstats
path: root/src/xmldocvisitor.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2014-02-09 14:34:55 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2014-02-09 14:34:55 (GMT)
commit69665ef2ad0779f9255242929fb6028c8c3ec518 (patch)
treea1cc7e37e28f54705db077997d42f5ebef70bfa4 /src/xmldocvisitor.cpp
parentc625dc7802e269587b678b5ca84b341401536133 (diff)
parent1bd64ac0e925ba2ff069ec64c026ea3c32f85600 (diff)
downloadDoxygen-69665ef2ad0779f9255242929fb6028c8c3ec518.zip
Doxygen-69665ef2ad0779f9255242929fb6028c8c3ec518.tar.gz
Doxygen-69665ef2ad0779f9255242929fb6028c8c3ec518.tar.bz2
Merge branch 'feature/html_entities' of https://github.com/albert-github/doxygen into albert-github-feature/html_entities
Diffstat (limited to 'src/xmldocvisitor.cpp')
-rw-r--r--src/xmldocvisitor.cpp110
1 files changed, 7 insertions, 103 deletions
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 8df1acf..4dc6f4a 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -70,110 +70,14 @@ void XmlDocVisitor::visit(DocWhiteSpace *w)
void XmlDocVisitor::visit(DocSymbol *s)
{
if (m_hide) return;
- switch(s->symbol())
+ const char *res = get_symbol_xml(s->symbol());
+ if (res)
{
- case DocSymbol::BSlash: m_t << "\\"; break;
- case DocSymbol::At: m_t << "@"; break;
- case DocSymbol::Less: m_t << "&lt;"; break;
- case DocSymbol::Greater: m_t << "&gt;"; break;
- case DocSymbol::Amp: m_t << "&amp;"; break;
- case DocSymbol::Dollar: m_t << "$"; break;
- case DocSymbol::Hash: m_t << "#"; break;
- case DocSymbol::DoubleColon: m_t << "::"; break;
- case DocSymbol::Percent: m_t << "%"; break;
- case DocSymbol::Pipe: m_t << "|"; break;
- case DocSymbol::Copy: m_t << "<copy/>"; break;
- case DocSymbol::Tm: m_t << "<trademark/>"; break;
- case DocSymbol::Reg: m_t << "<registered/>"; break;
- case DocSymbol::Apos: m_t << "'"; break;
- case DocSymbol::Quot: m_t << "\""; break;
- case DocSymbol::Lsquo: m_t << "<lsquo/>"; break;
- case DocSymbol::Rsquo: m_t << "<rsquo/>"; break;
- case DocSymbol::Ldquo: m_t << "<ldquo/>"; break;
- case DocSymbol::Rdquo: m_t << "<rdquo/>"; break;
- case DocSymbol::Ndash: m_t << "<ndash/>"; break;
- case DocSymbol::Mdash: m_t << "<mdash/>"; break;
- case DocSymbol::Uml: m_t << "<umlaut char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Acute: m_t << "<acute char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Grave: m_t << "<grave char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Circ: m_t << "<circ char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Tilde: m_t << "<tilde char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Szlig: m_t << "<szlig/>"; break;
- case DocSymbol::Cedil: m_t << "<cedil char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Ring: m_t << "<ring char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Slash: m_t << "<slash char=\"" << s->letter() << "\"/>"; break;
- case DocSymbol::Nbsp: m_t << "<nonbreakablespace/>"; break;
- case DocSymbol::Aelig: m_t << "<aelig/>"; break;
- case DocSymbol::AElig: m_t << "<AElig/>"; break;
- case DocSymbol::GrkGamma: m_t << "<Gamma/>"; break;
- case DocSymbol::GrkDelta: m_t << "<Delta/>"; break;
- case DocSymbol::GrkTheta: m_t << "<Theta/>"; break;
- case DocSymbol::GrkLambda: m_t << "<Lambda/>"; break;
- case DocSymbol::GrkXi: m_t << "<Xi/>"; break;
- case DocSymbol::GrkPi: m_t << "<Pi/>"; break;
- case DocSymbol::GrkSigma: m_t << "<Sigma/>"; break;
- case DocSymbol::GrkUpsilon: m_t << "<Upsilon/>"; break;
- case DocSymbol::GrkPhi: m_t << "<Phi/>"; break;
- case DocSymbol::GrkPsi: m_t << "<Psi/>"; break;
- case DocSymbol::GrkOmega: m_t << "<Omega/>"; break;
- case DocSymbol::Grkalpha: m_t << "<alpha/>"; break;
- case DocSymbol::Grkbeta: m_t << "<beta/>"; break;
- case DocSymbol::Grkgamma: m_t << "<gamma/>"; break;
- case DocSymbol::Grkdelta: m_t << "<delta/>"; break;
- case DocSymbol::Grkepsilon: m_t << "<epsilon/>"; break;
- case DocSymbol::Grkzeta: m_t << "<zeta/>"; break;
- case DocSymbol::Grketa: m_t << "<eta/>"; break;
- case DocSymbol::Grktheta: m_t << "<theta/>"; break;
- case DocSymbol::Grkiota: m_t << "<iota/>"; break;
- case DocSymbol::Grkkappa: m_t << "<kappa/>"; break;
- case DocSymbol::Grklambda: m_t << "<lambda/>"; break;
- case DocSymbol::Grkmu: m_t << "<mu/>"; break;
- case DocSymbol::Grknu: m_t << "<nu/>"; break;
- case DocSymbol::Grkxi: m_t << "<xi/>"; break;
- case DocSymbol::Grkpi: m_t << "<pi/>"; break;
- case DocSymbol::Grkrho: m_t << "<rho/>"; break;
- case DocSymbol::Grksigma: m_t << "<sigma/>"; break;
- case DocSymbol::Grktau: m_t << "<tau/>"; break;
- case DocSymbol::Grkupsilon: m_t << "<upsilon/>"; break;
- case DocSymbol::Grkphi: m_t << "<phi/>"; break;
- case DocSymbol::Grkchi: m_t << "<chi/>"; break;
- case DocSymbol::Grkpsi: m_t << "<psi/>"; break;
- case DocSymbol::Grkomega: m_t << "<omega/>"; break;
- case DocSymbol::Grkvarsigma: m_t << "<sigmaf/>"; break;
- case DocSymbol::Section: m_t << "<sect/>"; break;
- case DocSymbol::Degree: m_t << "<deg/>"; break;
- case DocSymbol::Prime: m_t << "<prime/>"; break;
- case DocSymbol::DoublePrime: m_t << "<Prime/>"; break;
- case DocSymbol::Infinity: m_t << "<infin/>"; break;
- case DocSymbol::EmptySet: m_t << "<empty/>"; break;
- case DocSymbol::PlusMinus: m_t << "<plusmn/>"; break;
- case DocSymbol::Times: m_t << "<times/>"; break;
- case DocSymbol::Minus: m_t << "<minus/>"; break;
- case DocSymbol::CenterDot: m_t << "<sdot/>"; break;
- case DocSymbol::Partial: m_t << "<part/>"; break;
- case DocSymbol::Nabla: m_t << "<nabla/>"; break;
- case DocSymbol::SquareRoot: m_t << "<radic/>"; break;
- case DocSymbol::Perpendicular: m_t << "<perp/>"; break;
- case DocSymbol::Sum: m_t << "<sum/>"; break;
- case DocSymbol::Integral: m_t << "<int/>"; break;
- case DocSymbol::Product: m_t << "<prod/>"; break;
- case DocSymbol::Similar: m_t << "<sim/>"; break;
- case DocSymbol::Approx: m_t << "<asymp/>"; break;
- case DocSymbol::NotEqual: m_t << "<ne/>"; break;
- case DocSymbol::Equivalent: m_t << "<equiv/>"; break;
- case DocSymbol::Proportional: m_t << "<prop/>"; break;
- case DocSymbol::LessEqual: m_t << "<le/>"; break;
- case DocSymbol::GreaterEqual: m_t << "<ge/>"; break;
- case DocSymbol::LeftArrow: m_t << "<larr/>"; break;
- case DocSymbol::RightArrow: m_t << "<rarr/>"; break;
- case DocSymbol::SetIn: m_t << "<isin/>"; break;
- case DocSymbol::SetNotIn: m_t << "<notin/>"; break;
- case DocSymbol::LeftCeil: m_t << "<lceil/>"; break;
- case DocSymbol::RightCeil: m_t << "<rceil/>"; break;
- case DocSymbol::LeftFloor: m_t << "<lfloor/>"; break;
- case DocSymbol::RightFloor: m_t << "<rfloor/>"; break;
- default:
- err("unknown symbol found\n");
+ m_t << res;
+ }
+ else
+ {
+ err("XML: non supported HTML-entity found: &%s;\n",get_symbol_item(s->symbol()));
}
}