From ebcaa5b1db605a3420c23a2e6b28a3b06ed4e180 Mon Sep 17 00:00:00 2001 From: Pavel Sanda Date: Thu, 18 Jun 2020 15:58:48 +0200 Subject: [PATCH] Rename-XHTMLStream-to-XMLStream #3. Fix paragraph id in xHTML output to the pre-refactoring status. Tested on math manual (plus minus nonessential newlines). Slightly modified patch from Thibaut Cuvelier. --- src/output_xhtml.cpp | 13 +++++++++---- src/xml.h | 5 +---- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/output_xhtml.cpp b/src/output_xhtml.cpp index 428e6c7f72..3f8c0a43b1 100644 --- a/src/output_xhtml.cpp +++ b/src/output_xhtml.cpp @@ -161,15 +161,18 @@ namespace { // convenience functions inline void openParTag(XMLStream & xs, Layout const & lay, - std::string parlabel) + const std::string & parlabel) { - xs << xml::ParTag(lay.htmltag(), lay.htmlattr(), parlabel); + string attrs = lay.htmlattr(); + if (!parlabel.empty()) + attrs += " id='" + parlabel + "'"; + xs << xml::ParTag(lay.htmltag(), attrs); } void openParTag(XMLStream & xs, Layout const & lay, ParagraphParameters const & params, - std::string parlabel) + const std::string & parlabel) { // FIXME Are there other things we should handle here? string const align = alignmentToCSS(params.align()); @@ -178,7 +181,9 @@ void openParTag(XMLStream & xs, Layout const & lay, return; } string attrs = lay.htmlattr() + " style='text-align: " + align + ";'"; - xs << xml::ParTag(lay.htmltag(), attrs, parlabel); + if (!parlabel.empty()) + attrs += " id='" + parlabel + "'"; + xs << xml::ParTag(lay.htmltag(), attrs); } diff --git a/src/xml.h b/src/xml.h index 45fb52f0cd..b4339ba7ff 100644 --- a/src/xml.h +++ b/src/xml.h @@ -247,15 +247,12 @@ struct CompTag /// A special case of StartTag, used exclusively for tags that wrap paragraphs. -/// parid is only used for HTML output; XML is supposed to use attr for this. TODO: REMOVE PARID. +/// parid is only used for HTML output; XML is supposed to use attr for this. struct ParTag : public StartTag { /// explicit ParTag(std::string const & tag, const std::string & attr): StartTag(tag, from_utf8(attr)) {} /// - explicit ParTag(std::string const & tag, const std::string & attr, const std::string & parid): - StartTag(tag, from_utf8(attr + (parid.empty() ? (" id='" + parid + "'") : ""))) {} - /// ~ParTag() {} }; -- 2.39.5