Commit Graph

28 Commits

Author SHA1 Message Date
Thibaut Cuvelier
febd1855eb XML: overhaul the tag-comparison operators.
First and foremost, this patch implements the latest best practices in C++ (i.e. comparison operators are not member functions).

The main objective of this rewrite is to have these operators callable in slightly more general contexts (*this->asFontTag() == *rhs.asFontTag() yielded an error because no member function could be called). This feature is no more required.

The rewrite took place in the context of https://www.lyx.org/trac/ticket/12585. The first iteration was using more complex code to circumvent XMLStream in DocBook (see details in the bug above and in the mailing list), while this one uses XMLStream fully. The bug was due to font tags being considered equal when they were not, due to the comparison done only on the XML tag and not on the actual font change (XML attributes can complement the tag for various font changes).
2022-12-27 16:52:51 +01:00
Thibaut Cuvelier
4f314567b6 XML: improve formatting of error message for unrecognised tag type.
Before, there was always a space after the tag, even when there were no attributes. Now, the space is output conditionally, so that the output makes more sense.

Before, one space too many for the tag name (title), casting doubt on whether the code had this space hard coded or not:

<!-- Output Error: Unrecognised tag type 'para' for 'title ' -->

After, no such space:

<!-- Output Error: Unrecognised tag type 'para' for 'title' -->
2022-12-22 04:10:25 +01:00
Thibaut Cuvelier
997f0621c5 Rename LATEX debug level to OUTFILE and use it for DocBook, HTML, and XML messages. 2022-03-01 16:05:42 +01:00
Thibaut Cuvelier
7ee23ca885 XML: add a check for a typical case in the xml name space.
IGNORE is a typical placeholder for tags that should not be output, along with NONE. At some point, we should check if both are required, or if NONE is enough…
2021-09-21 01:21:25 +02:00
Yuriy Skalko
ecf62a8f21 Refactor OutputParams
Now all Inset hierarchy uses OutputParams.h included in Inset.h.
Forward declare some enums to reduce header dependencies.
2020-11-30 13:05:03 +02:00
Yuriy Skalko
43b16548b4 Cleanup headers 2020-11-25 02:43:16 +02:00
Thibaut Cuvelier
3a02251bfa XML: move higher-level tag-opening and closing functions to xml namespace. 2020-11-20 18:41:03 +01:00
Yuriy Skalko
69f838bbf3 Fix isSpace for docstring 2020-10-24 18:55:05 +03:00
Pavel Sanda
8af747c9d9 Revert da8b5de97 because of MSVC 2017.
In GCC `min` is defined via including <vector>.
2020-10-24 12:06:54 +02:00
Pavel Sanda
da8b5de973 Move <algorithm> from DocIterator.h 2020-10-14 13:01:30 +02:00
Thibaut Cuvelier
faec783822 XML: bad fix for a crash that only happened in XHTML.
As an error is output, I suppose that this behaviour is OK.
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
1a76fb9658 DocBook: avoid using isspace in StartTag::writeTag.
This is the cause of crashes (on both Windows and Linux).
2020-09-19 20:43:40 +02:00
Thibaut Cuvelier
7a1b82a16a DocBook: fix issue with fonts. 2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
6688b076cc DocBook: fixes in lists.
Actually output something when list item is empty. XMLStream discarded the sequence StartTag/EndTag (nothing in between).

New-line behaviour around term in description lists.
2020-09-19 20:43:39 +02:00
Thibaut Cuvelier
a8da31e5e0 DocBook: fix handling of index end-of-range. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
fc2c36289b DocBook: rewrite makeListEnvironment. 2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
bfc67c59b4 XML: use the new mechanisms for CR detection with errors.
This helps tracking down line problems even in the presence of errors.
2020-09-19 20:43:38 +02:00
Thibaut Cuvelier
27a44f8e48 XML: memorise if the last thing that is getting output is a line feed. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
87dae26e4a Simplify code to generate only one paragraph at a time. 2020-09-19 20:43:37 +02:00
Thibaut Cuvelier
0c0613327c Get rid of xmlize, bringing no advantage over escapeString. 2020-08-01 03:20:28 +02:00
Thibaut Cuvelier
0be32e3b98 Amend 85946aae: should compile also with g++. 2020-08-01 00:41:58 +02:00
Thibaut Cuvelier
85946aae2b DocBook: fix XML in comments (-- forbidden for some historical reason). 2020-08-01 00:02:36 +02:00
Thibaut Cuvelier
f2e69c165e More consistent style. 2020-07-31 23:35:08 +02:00
Thibaut Cuvelier
8dd2e7e681 DocBook: solve issue with formulae within font tags.
This is not valid DocBook either!
2020-07-26 23:23:02 +02:00
Richard Kimberly Heck
e09445b3cf Style 2020-07-19 21:21:01 -04:00
Thibaut Cuvelier
6aaf118bc7 Stop adding points at the end of xml:id without reason 2020-07-20 03:04:02 +02:00
Thibaut Cuvelier
3883b85f49 New DocBook support 2020-07-08 08:42:16 +02:00
Thibaut Cuvelier
a6b07608d8 Rename XHTMLStream to XMLStream, move it to another file, and prepare for DocBook adoption.
xml.cpp/h also merges functionalities from sgml.cpp/h.
2020-06-15 13:01:56 +02:00