MATLAB: Appending HTML to document object adds additional unwanted tags.

addappenddocumenthtmlMATLAB Report Generatorobjectreportreport generatortagtext;

Constructing a basic document, appending custom HTML and viewing the final document HTML.
import mlreportgen.dom.*;
doc=Document('doc','html');
htmlObj = HTML('<div><a href="https://www.mathworks.com">Mathworks</a></div>');
append(doc, htmlObj);
close(doc);
rptview(doc.OutputPath)
After appending to the document body we get:
<body onload="outline()">
<div><div><p><a href="https://www.mathworks.com"><span>Mathworks</span></a></p></div></div> %Additional tags.
</body></html>
I understand the HTML object has a wrapper element (the div in this case) which is wrapped around the html object. The main problem is the additional p and span tags. These unknown tags make document styling more difficult.
Is there any way to pass through HTML with the append function and no additional modification?
Thanks.

Best Answer

Hi Aidan,
If you want to add HTML content in a HTML report, and do not want additonal tags to be created, you can use the DOM mlreportgen.dom.RawText object.
So your script will look like:
import mlreportgen.dom.*;
doc=Document('doc','html');
rawTextObj = RawText('<div><a href="https://www.mathworks.com">Mathworks</a></div>');
append(doc, rawTextObj);
close(doc);
rptview(doc.OutputPath);
And the corresponding generated report will have:
<body onload="outline()">
<div><a href="https://www.mathworks.com">Mathworks</a></div>
</body>
Thanks,
Rahul