Требования для преобразования HTML к объекту DOM

Преобразовывать содержимое HTML в mlreportgen.dom.HTML или mlreportgen.dom.HTMLFile объект, содержимое HTML должно быть XML parsable. Содержимое HTML XML parsable, когда оно выполняет правила для правильно сформированного XML, такие как:

  • Включайте закрывающий тэг для всех элементов.

  • Используйте нижний регистр для открытия и заключительный (начало и конец) теги элемента. Например, используйте <p> и </p> для элемента абзаца, не <P> и </P>.

  • Элементы вложенного множества правильно. Если вы открываете элемент в другом элементе, закрываете первый элемент, прежде чем вы закроете содержание элемента.

  • Заключите значения атрибута с кавычками. Например, используйте <p align="center"></p>.

Для получения дополнительной информации см. сводные данные W3Schools правил XML в www.w3schools.com/xml/xml_syntax.asp.

Совет

Чтобы сделать содержимое HTML XML parsable, можно использовать mlreportgen.utils.html2dom.prepHTMLString, mlreportgen.utils.html2dom.prepHTMLFile, и mlreportgen.utils.tidy. Смотрите готовят HTML перед преобразованием.

Поддерживаемые элементы HTML и атрибуты

Эта таблица показывает элементы HTML и атрибуты, которые поддерживаются, когда вы преобразуете HTML в Объект DOM. Неподдерживаемые элементы и атрибуты проигнорированы.

Элемент HTMLАтрибуты
aclass, style, hrefИмя
addressclass, style
bclass, style
bigclass, style
blockquoteclass, style
bodyclass, style
brn/A
centerclass, style
citeclass, style
codeclass, style
ddclass, style
delclass, style
dfnclass, style
divclass, style
dlclass, style
dtclass, style
emclass, style
fontclass, style, color, faceразмер
h1, h2, h3, h4, h5, h6class, styleвыравнивание
hrclass, styleвыравнивание
iclass, style
insclass, style
imgclass, stylesrc высотаwidth
kbdclass, style
liclass, style
markclass, style
nobrclass, style
olclass, style
pclass, styleвыравнивание
preclass, style
sclass, style
sampclass, style
smallclass, style
spanclass, style
strikeclass, style
strongclass, style
subclass, style
supclass, style
tableclass, styleвыравнивание, bgcolor'Граница' , cellspacing, cellpaddingСистема координат, ruleswidth
tbodyclass, styleвыравнивание, valign
tfootclass, styleвыравнивание, valign
theadclass, styleвыравнивание, valign
tdclass, style, bgcolorвысотаwidth, colspan, rowspanвыравнивание, valign, nowrap
thclass, style, bgcolorвысотаwidth, colspan, rowspanвыравнивание, valign, nowrap
trclass, styleвыравнивание, bgcolor, valign
ttclass, style
uclass, style
ulclass, style
varclass, style

Для получения информации об этих элементах см. https://developer.mozilla.org/en-US/docs/Web/HTML/Element.

Поддерживаемый CSS HTML атрибуты стиля для всех элементов

Можно использовать атрибуты стиля 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

Можно добавить содержимое HTML, которое включает специальные символы, такие как знак британского фунта, знак доллара США или зарезервированные символы разметки XML. Специальными символами разметки XML является >, <, &, ", и '. Чтобы включать специальные символы, используйте названный HTML или ссылки цифрового символа. Например, чтобы включать открывающую угловую скобку (<) в содержимом HTML, которое вы хотите добавить, используйте одну из этих ссылок символьной сущности:

  • Именованная ссылка символьной сущности &lt;

  • Ссылка на сущность цифрового символа &003c;

Для получения дополнительной информации см. https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references.

Объявление DOCTYPE

Содержимое 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.

Похожие темы