[LyX/master] Rename-XHTMLStream-to-XMLStream #3.
Pavel Sanda
sanda at lyx.org
Thu Jun 18 13:54:47 UTC 2020
commit ebcaa5b1db605a3420c23a2e6b28a3b06ed4e180
Author: Pavel Sanda <sanda at lyx.org>
Date: Thu Jun 18 15:58:48 2020 +0200
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 428e6c7..3f8c0a4 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 45fb52f..b4339ba 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() {}
};
More information about the lyx-cvs
mailing list