#include "Bullet.h"
#include "Chktex.h"
#include "debug.h"
+#include "encoding.h"
#include "errorlist.h"
#include "exporter.h"
#include "format.h"
#include "support/path.h"
#include "support/textutils.h"
#include "support/tostr.h"
-#include "support/std_sstream.h"
#include <boost/bind.hpp>
+#include <utime.h>
+
#include <iomanip>
#include <stack>
+#include <sstream>
-#include <utime.h>
using lyx::pos_type;
using lyx::par_type;
namespace {
-const int LYX_FORMAT = 232;
+const int LYX_FORMAT = 235;
} // namespace anon
}
bool the_end = readBody(lex);
+ //lyxerr << "removing " << MacroTable::localMacros().size()
+ // << " temporary macro entries" << endl;
+ //MacroTable::localMacros().clear();
params().setPaperStuff();
#ifdef WITH_WARNINGS
string top_element = tclass.latexname();
if (!only_body) {
- ofs << subst(tclass.class_header(), "#", top_element);
+ if (runparams.flavor == OutputParams::XML)
+ ofs << "<?xml version=\"1.0\" encoding=\""
+ << params().language->encoding()->Name() << "\"?>\n";
+
+ ofs << "<!DOCTYPE " << top_element << " ";
+
+ if (! tclass.class_header().empty()) ofs << tclass.class_header();
+ else if (runparams.flavor == OutputParams::XML)
+ ofs << "PUBLIC \"-//OASIS//DTD DocBook XML//EN\" "
+ << "\"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd\"";
+ else
+ ofs << " PUBLIC \"-//OASIS//DTD DocBook V4.2//EN\"";
string preamble = params().preamble;
string const name = runparams.nice ? ChangeExtension(pimpl_->filename, ".sgml")
string top = top_element;
top += " lang=\"";
- top += params().language->code();
+ if (runparams.flavor == OutputParams::XML)
+ top += params().language->code();
+ else
+ top += params().language->code().substr(0,2);
top += '"';
if (!params().options.empty()) {
}
sgml::openTag(ofs, 0, false, top);
- ofs << "<!-- SGML/XML file was created by LyX " << lyx_version
+ ofs << "<!-- " << ((runparams.flavor == OutputParams::XML)? "XML" : "SGML")
+ << " file was created by LyX " << lyx_version
<< "\n See http://www.lyx.org/ for more information -->\n";
params().getLyXTextClass().counters().reset();
void Buffer::insertMacro(string const & name, MacroData const & data)
{
+ MacroTable::globalMacros().insert(name, data);
pimpl_->macros.insert(name, data);
}