MathML: add a version enum.

This commit is contained in:
Thibaut Cuvelier 2024-09-28 16:39:13 +02:00
parent 135889c634
commit cb88a362ea
2 changed files with 14 additions and 5 deletions

View File

@ -288,8 +288,8 @@ TeXMathStream & operator<<(TeXMathStream & ws, unsigned int i)
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
MathMLStream::MathMLStream(odocstream & os, std::string const & xmlns) MathMLStream::MathMLStream(odocstream & os, std::string const & xmlns, MathMLVersion version)
: os_(os), xmlns_(xmlns) : os_(os), xmlns_(xmlns), version_(version)
{ {
if (inText()) if (inText())
font_math_style_ = TEXT_STYLE; font_math_style_ = TEXT_STYLE;

View File

@ -376,8 +376,15 @@ class MathExportException : public std::exception {};
class MathMLStream { class MathMLStream {
public: public:
/// Builds a stream proxy for os; the MathML namespace is given by xmlns (supposed to be already defined elsewhere in the document). ///
explicit MathMLStream(odocstream & os, std::string const & xmlns = ""); enum MathMLVersion {
mathml3,
mathmlCore
};
/// Builds a stream proxy for os; the MathML namespace is given by xmlns
/// (supposed to be already defined elsewhere in the document).
explicit MathMLStream(odocstream & os, std::string const & xmlns = "", MathMLVersion version = mathml3);
/// ///
void cr(); void cr();
/// Indentation when nesting tags /// Indentation when nesting tags
@ -403,7 +410,7 @@ public:
private: private:
/// Check whether it makes sense to start a <mtext> /// Check whether it makes sense to start a <mtext>
void beforeText(); void beforeText();
///Check whether there is a <mtext> to close here /// Check whether there is a <mtext> to close here
void beforeTag(); void beforeTag();
/// ///
odocstream & os_; odocstream & os_;
@ -420,6 +427,8 @@ private:
odocstringstream deferred_; odocstringstream deferred_;
/// ///
std::string xmlns_; std::string xmlns_;
///
MathMLVersion version_;
/// The only important part of a FontInfo object. /// The only important part of a FontInfo object.
MathStyle font_math_style_; MathStyle font_math_style_;
/// ///