hi Vivien,
On 17/01/2024 18:26, vivien guillet wrote:
Hello
I cannot find the correct way to add mathml to an odt document using
odftoolkit.
I create a TextPElement / DrawFrameElement / DrawObjectElement container
with the MathML element in it this way:
TextPElement p = odt.getContentRoot().newTextPElement();
DrawFrameElement drawFrame = p.newDrawFrameElement();
DrawObjectElement drawObject= drawFrame.newDrawObjectElement();
MathMathElement math = drawObjectElement.newMathMathElement();
Then the actual mathml nodes in the object
OdfElement semantics = odt.getContentDom().createElement("semantics");
math.appendChild(semantics);
and so on using standard dom operations...
When I open the resulting odt, the object is empty.
Now if I hand-edit the odt zip content.xml file to add an
xmlns="http://www.w3.org/1998/Math/MathML" attribute to the <math:math>
tag, everything displays just fine.
creating the math element using
OdfElement math =
odt.getContentDom().createElementNS("http://www.w3.org/1998/Math/MathML","math:math");
yields the same (non working) result
working and non-working documents are in attachements.
unfortunately the mailing list doesn't appear to allow attachments...
perhaps try to copy the "draw:object" elment out of the non-working
content.xml and send that inline, then we can have a look?
So my question is : what would be the correct way to add mathml inside a
document (with the correct mathml namespace attribute) ?
not only the math node must be in the math namespace but all of the
descendants like "semantics" too - i think that's the most likely
explanation: create every element with the namespace.
Any help would be appreciated !
V.
--
To unsubscribe e-mail to: dev+unsubscribe@odftoolkit.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.odftoolkit.org/dev/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.