Преобразование содержимого HTML в mlreportgen.dom.HTML или mlreportgen.dom.HTMLFile HTML-содержимое должно быть XML-синтаксическим. HTML-содержимое является XML-синтаксическим, если оно соответствует правилам для правильно сформированных XML, таким как:
Включить закрывающую марку для всех элементов.
Используйте нижний регистр для открывающих и закрывающих (начальных и конечных) тегов элемента. Например, использовать <p> и </p> для элемента абзаца, но <P> и </P>.
Правильно вложить элементы. При открытии элемента внутри другого элемента закройте первый элемент перед закрытием содержащего его элемента.
Заключите значения атрибутов в кавычки. Например, использовать <p align="center"></p>.
Дополнительные сведения см. в W3Schools сводке правил XML в www.w3schools.com/xml/xml_syntax.asp.
Совет
Чтобы сделать XML-синтаксический анализ содержимого HTML, можно использовать mlreportgen.utils.html2dom.prepHTMLString, mlreportgen.utils.html2dom.prepHTMLFile, и mlreportgen.utils.tidy. См. раздел Подготовка HTML перед преобразованием.
В этой таблице показаны элементы и атрибуты HTML, поддерживаемые при преобразовании HTML в объект DOM. Неподдерживаемые элементы и атрибуты игнорируются.
| Элемент HTML | Признаки |
|---|---|
a | class, style, href, name |
address | class, style |
b | class, style |
big | class, style |
blockquote | class, style |
body | class, style |
br | n/a |
center | class, style |
cite | class, style |
code | class, style |
dd | class, style |
del | class, style |
dfn | class, style |
div | class, style |
dl | class, style |
dt | class, style |
em | class, style |
font | class, style, color, face, size |
h1, h2, h3, h4, h5, h6 | class, style, align |
hr | class, style, align |
i | class, style |
ins | class, style |
img | class, style, src, height, width |
kbd | class, style |
li | class, style |
mark | class, style |
nobr | class, style |
ol | class, style |
p | class, style, align |
pre | class, style |
s | class, style |
samp | class, style |
small | class, style |
span | class, style |
strike | class, style |
strong | class, style |
sub | class, style |
sup | class, style |
table | class, style, align, bgcolor, border, cellspacing, cellpadding, frame, rules, width |
tbody | class, style, align, valign |
tfoot | class, style, align, valign |
thead | class, style, align, valign |
td | class, style, bgcolor, height, width, colspan, rowspan,align, valign, nowrap |
th | class, style, bgcolor, height, width, colspan, rowspan,align, valign, nowrap |
tr | class, style, align,bgcolor, valign |
tt | class, style |
u | class, style |
ul | class, style |
var | class, style |
Сведения об этих элементах см. в разделе https://developer.mozilla.org/en-US/docs/Web/HTML/Element.
Атрибуты стиля HTML можно использовать для форматирования содержимого HTML, добавляемого в отчет DOM. Атрибут стиля - это строка форматов каскадных таблиц стилей (CSS).
Поддерживаются следующие форматы CSS:
background-color
border
border-bottom
border-bottom-color
border-bottom-style
boder-bottom-width
border-color
border-left
border-left-color
border-left-style
boder-left-width
border-right
border-right-color
border-rigtht-style
border-right-width
border-style
border-top
border-top-color
border-top-style
border-top-width
border-width
color
counter-increment
counter-reset
display
font-family
font-size
font-style
font-weight
height
line-height
list-style-type
margin
margin-bottom
margin-left
margin-right
margin-top
padding
padding-bottom
padding-left
padding-right
padding-top
text-align
text-decoration
text-indent
vertical-align
white-space
width
Для получения информации об этих форматах https://developer.mozilla.org/en-US/docs/Web/CSS/Reference.
Можно добавить HTML-содержимое, содержащее специальные символы, такие как британский знак фунта, знак доллара США или зарезервированные символы разметки XML. Специальные символы разметки XML: >, <, &, ", и '. Чтобы включить специальные символы, используйте именованные или числовые ссылки на символы HTML. Например, чтобы включить левую угловую скобку (<) в содержимое HTML, которое требуется добавить, используйте одну из следующих ссылок на сущность символа:
Ссылка на сущность именованного символа <
Ссылка на объект числового символа &003c;
Дополнительные сведения см. в разделе https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references.
Содержимое HTML, добавляемое к отчету DOM, не обязательно должно включать объявление типа документа (см. https://en.wikipedia.org/wiki/Document_type_declaration). Если содержимое включает объявление типа документа, оно должно соответствовать следующим условиям:
Если содержимое содержит ссылки на символьные сущности (специальные символы), объявление типа документа должно ссылаться на определение типа документа (DTD), определяющее ссылочные сущности. Например, следующее объявление определяет файл DTD, который определяет все сущности символов HTML:
<!DOCTYPE html SYSTEM "html.dtd">
html.dtd входит в состав программного обеспечения MATLAB ® Report Generator™.
Если объявление типа документа ссылается на файл DTD, действительный файл DTD должен существовать по пути, указанному в объявлении. В противном случае добавление содержимого приводит к ошибке синтаксического анализа DTD. Например, следующее объявление вызывает ошибку синтаксического анализа:
<!DOCTYPE html SYSTEM "foo.dtd">
Если добавляемое содержимое не содержит символьных ссылок на сущности, в объявлении типа документа нет необходимости ссылаться на файл DTD. Например, следующее объявление работает для содержимого, в котором не используются специальные символы:
<!DOCTYPE html>
Совет
Чтобы избежать проблем с объявлением типа документа, удалите объявления из существующего HTML-содержимого, которое требуется добавить в отчеты DOM. Если содержимое не включает объявление, DOM добавляет допустимое объявление, которое определяет весь набор символов HTML.