Fwd: New DocBook support (0005)

Pavel Sanda sanda at lyx.org
Wed Jul 8 13:09:00 UTC 2020


On Wed, Jul 08, 2020 at 02:01:38PM +0200, Pavel Sanda wrote:
> You have them in attachment :)
now really. p
-------------- next part --------------
-- pp	2020-07-08 13:56:16.458794194 +0200
++ 0004-Add-required-elements-in-the-layouts-to-support-DocB.patch	2020-07-08 13:55:04.926411437 +0200
--- a/src/Buffer.cpp
+++ b/src/Buffer.cpp
@@ -2141,7 +2141,7 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os, string const &
 	  output == FullSource || output == OnlyBody;
 
 	if (output_preamble) {
-		if (runparams.flavor == OutputParams::XML)
+		if (runparams.flavor == OutputParams::DOCBOOK5)
 			os << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
 
 		// FIXME UNICODE
@@ -2150,14 +2150,14 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os, string const &
 		// FIXME UNICODE
 		if (! tclass.class_header().empty())
 			os << from_ascii(tclass.class_header());
-		else if (runparams.flavor == OutputParams::XML)
+		else if (runparams.flavor == OutputParams::DOCBOOK5)
 			os << "PUBLIC \"-//OASIS//DTD DocBook XML V4.2//EN\" "
 			    << "\"https://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd\"";
 		else
 			os << " PUBLIC \"-//OASIS//DTD DocBook V4.2//EN\"";
 
 		docstring preamble = params().preamble;
-		if (runparams.flavor != OutputParams::XML ) {
+		if (runparams.flavor != OutputParams::DOCBOOK5 ) {
 			preamble += "<!ENTITY % output.print.png \"IGNORE\">\n";
 			preamble += "<!ENTITY % output.print.pdf \"IGNORE\">\n";
 			preamble += "<!ENTITY % output.print.eps \"IGNORE\">\n";
@@ -2178,7 +2178,7 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os, string const &
 	if (output_body) {
 		string top = top_element;
 		top += " lang=\"";
-		if (runparams.flavor == OutputParams::XML)
+		if (runparams.flavor == OutputParams::DOCBOOK5)
 			top += params().language->code();
 		else
 			top += params().language->code().substr(0, 2);
@@ -2189,7 +2189,7 @@ Buffer::ExportStatus Buffer::writeDocBookSource(odocstream & os, string const &
 			top += params().options;
 		}
 
-		os << "<!-- " << ((runparams.flavor == OutputParams::XML)? "XML" : "SGML")
+		os << "<!-- " << ((runparams.flavor == OutputParams::DOCBOOK5)? "XML" : "SGML")
 				<< " file was created by LyX " << lyx_version
 				<< "\n  See https://www.lyx.org/ for more information -->\n";
 
--- a/src/Converter.cpp
+++ b/src/Converter.cpp
@@ -277,7 +277,7 @@ OutputParams::FLAVOR Converters::getFlavor(Graph::EdgePath const & path,
 				return OutputParams::PDFLATEX;
 		}
 		if (conv.xml())
-			return OutputParams::XML;
+			return OutputParams::DOCBOOK5;
 	}
 	return buffer ? buffer->params().getOutputFlavor()
 		      : OutputParams::LATEX;
--- a/src/Format.cpp
+++ b/src/Format.cpp
@@ -827,7 +827,7 @@ FlavorTranslator initFlavorTranslator()
 	f.addPair(OutputParams::LUATEX, "luatex");
 	f.addPair(OutputParams::PDFLATEX, "pdflatex");
 	f.addPair(OutputParams::XETEX, "xetex");
-	f.addPair(OutputParams::XML, "docbook-xml");
+	f.addPair(OutputParams::DOCBOOK5, "docbook-xml");
 	f.addPair(OutputParams::HTML, "xhtml");
 	f.addPair(OutputParams::TEXT, "text");
 	f.addPair(OutputParams::LYX, "lyx");
--- a/src/Text3.cpp
+++ b/src/Text3.cpp
@@ -3065,7 +3065,6 @@ bool Text::getStatus(Cursor & cur, FuncRequest const & cmd,
 			cur.buffer()->params().documentClass().insetLayout(from_utf8(s));
 		if (il.lyxtype() != InsetLayout::CHARSTYLE &&
 		    il.lyxtype() != InsetLayout::CUSTOM &&
-		    il.lyxtype() != InsetLayout::ELEMENT &&
 		    il.lyxtype ()!= InsetLayout::STANDARD)
 			enable = false;
 		break;
--- a/src/mathed/InsetMathHull.cpp
+++ b/src/mathed/InsetMathHull.cpp
@@ -2431,7 +2431,7 @@ int InsetMathHull::docbook(odocstream & os, OutputParams const & runparams) cons
 
 	odocstringstream ls;
 	otexstream ols(ls);
-	if (runparams.flavor == OutputParams::XML) {
+	if (runparams.flavor == OutputParams::DOCBOOK5) {
 		ms << MTag("alt role='tex' ");
 		// Workaround for db2latex: db2latex always includes equations with
 		// \ensuremath{} or \begin{display}\end{display}
@@ -2459,7 +2459,7 @@ int InsetMathHull::docbook(odocstream & os, OutputParams const & runparams) cons
 	else
 		ms << xml::uniqueID(from_ascii("anon"));
 
-	if (runparams.flavor == OutputParams::XML)
+	if (runparams.flavor == OutputParams::DOCBOOK5)
 		ms << from_ascii("\"/>");
 	else
 		ms << from_ascii("\">");
--- a/src/mathed/InsetMathRef.cpp
+++ b/src/mathed/InsetMathRef.cpp
@@ -187,7 +187,7 @@ int InsetMathRef::docbook(odocstream & os, OutputParams const & runparams) const
 	if (cell(1).empty()) {
 		os << "<xref linkend=\""
 		   << xml::cleanID(asString(cell(0)));
-		if (runparams.flavor == OutputParams::XML)
+		if (runparams.flavor == OutputParams::DOCBOOK5)
 			os << "\"/>";
 		else
 			os << "\">";


More information about the lyx-devel mailing list