output_(output), pendingspace_(false), pendingbrace_(false),
textmode_(false), locked_(0), ascii_(0), canbreakline_(true),
mathsout_(false), ulemcmd_(NONE), line_(0), encoding_(encoding),
- row_entry_(TexRow::row_none)
+ row_entry_(TexRow::row_none), mathclass_(false)
{}
//////////////////////////////////////////////////////////////////////
-MathStream::MathStream(odocstream & os, std::string xmlns)
- : os_(os), tab_(0), line_(0), in_text_(false), xmlns_(xmlns)
+MathStream::MathStream(odocstream & os, std::string xmlns, bool xmlMode)
+ : os_(os), tab_(0), line_(0), in_text_(false), xmlns_(xmlns), xml_mode_(xmlMode)
{}
}
-docstring convertDelimToXMLEscape(docstring const & name)
+docstring convertDelimToXMLEscape(docstring const & name, bool xmlmode)
{
+ // For the basic symbols, no difference between XML and HTML.
if (name.size() == 1) {
char_type const c = name[0];
if (c == '<')
MathWordList const & words = mathedWordList();
MathWordList::const_iterator it = words.find(name);
if (it != words.end()) {
- docstring const escape = it->second.xmlname;
+ // Only difference between XML and HTML, based on the contents read by MathFactory.
+ docstring const escape = xmlmode ? it->second.xmlname : it->second.htmlname;
return escape;
}
LYXERR0("Unable to find `" << name <<"' in the mathWordList.");