Fix problems with verification and repair of malformed mtables. #779
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR produces better results for repairing and reporting issues with malformed mtables. There are verification options available that are supposed to control the error messages produced for bad MathML, and one controls whether tables should be repaired silently or produce
merror
elements to report the problem. ThefixMtables
option did not work well, as it did not produce proper messages in some cases, and didn't always produce a repaired table.The fixes here include:
void
but returned anerror
node).mtr
ormtd
elements are in a validmtable
, and produce the right output (a coloredmtd
when used outside anmtr
, or a coloredmtr
when used outside a table, and a colored entry when missing themtd
.mtr
andmtd
elements are inserted to make a valid table regardless of the verification options (those only control the error reporting).