namespace lyx {
-InsetMathMatrix::InsetMathMatrix(InsetMathGrid const & p,
+InsetMathMatrix::InsetMathMatrix(InsetMathGrid const & p,
docstring const & left, docstring const & right)
: InsetMathGrid(p), left_(left), right_(right)
{}
}
-void InsetMathMatrix::mathmlize(MathStream & os) const
+void InsetMathMatrix::mathmlize(MathStream & ms) const
{
- os << "<mo form='prefix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>"
- << left_ << "</mo>";
- os << MTag("mtable");
+ ms << "<" << from_ascii(ms.namespacedTag("mo")) << " form='prefix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>"
+ << convertDelimToXMLEscape(left_, ms.xmlMode())
+ << "</" << from_ascii(ms.namespacedTag("mo")) << ">"
+ << MTag("mtable");
for (row_type row = 0; row < nrows(); ++row) {
- os << MTag("mtr");
+ ms << MTag("mtr");
for (col_type col = 0; col < ncols(); ++col) {
idx_type const i = index(row, col);
- if (cellinfo_[i].multi_ != CELL_PART_OF_MULTICOLUMN) {
+ if (cellinfo(i).multi != CELL_PART_OF_MULTICOLUMN) {
col_type const cellcols = ncellcols(i);
ostringstream attr;
if (cellcols > 1)
attr << "columnspan='" << cellcols << '\'';
- os << MTag("mtd", attr.str()) << cell(i) << ETag("mtd");
+ ms << MTag("mtd", attr.str()) << cell(i) << ETag("mtd");
}
}
- os << ETag("mtr");
+ ms << ETag("mtr");
}
- os << ETag("mtable");
- os << "<mo form='postfix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>"
- << right_ << "</mo>";
+ ms << ETag("mtable")
+ << "<" << from_ascii(ms.namespacedTag("mo")) << " form='postfix' fence='true' stretchy='true' symmetric='true' lspace='thinmathspace'>"
+ << convertDelimToXMLEscape(right_, ms.xmlMode())
+ << "</" << from_ascii(ms.namespacedTag("mo")) << ">";
}
// we do not print the delimiters but instead try to hack them
string const rows = convert<string>(nrows());
- string const lattrib =
+ string const lattrib =
"class='ldelim' rowspan='" + rows + "'";
- string const rattrib =
+ string const rattrib =
"class='rdelim' rowspan='" + rows + "'";
-
+
for (row_type row = 0; row < nrows(); ++row) {
os << MTag("tr") << '\n';
if (row == 0)
os << MTag("td", lattrib) << ETag("td") << '\n';
for (col_type col = 0; col < ncols(); ++col) {
idx_type const i = index(row, col);
- if (cellinfo_[i].multi_ != CELL_PART_OF_MULTICOLUMN) {
+ if (cellinfo(i).multi != CELL_PART_OF_MULTICOLUMN) {
col_type const cellcols = ncellcols(i);
ostringstream attr;
if (cellcols > 1)