主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

mlreportgen.dom.TemplateHTMLStyle 类

命名空间: mlreportgen.dom

解析 HTML 模板中现有的样式

自 R2024a 起

描述

使用此类创建 HTML 模板中现有样式的文档对象模型 (DOM) 表示。此类仅在 HTML 样式表中生成样式表条目。PDF 和 DOCX 模板样式表忽略此类。此类使您能够看到模板中已经存在哪些样式。

此类表示由 HTML 模板(.htmtx.htmt)文件定义的 HTML 样式。打开 HTML 模板将为模板文件定义的每个样式创建一个包含此类实例的数组。您可以使用存储在 TemplateStyles 属性中的样式表的 Stylesheet 属性来访问样式。使用此类可以查看和修改 HTML 样式的 CSS 选择器和格式。您可以使用模板样式表的 removeStylereplaceStyle 方法删除或替换 HTML 样式。

mlreportgen.dom.TemplateHTMLStyle 类是一个 handle 类。

类属性

HandleCompatible
true

有关类属性的信息,请参阅类属性

创建对象

描述

style = TemplateHTMLStyle(selector,rawFormats) 创建一个 HTML 样式,并将 SelectorRawFormats 属性分别设置为 selectorrawFormats 的值。使用此构造函数来定义使用更复杂的 CSS 选择器或没有等效 DOM 类的格式的 HTML 样式。

示例

属性

全部展开

Selector 属性值解析出的样式名称,指定为字符向量或字符串标量。

属性:

GetAccess
public
SetAccess
private
NonCopyable
true

数据类型: char | string

样式的 CSS 选择器,指定为字符串标量。该值包括类名和元素名,以及其他选择器模式,如 "nth-child"。例如,格式化表的偶数行的表样式 "exampleTable" 会将 Selector 属性设置为 "tr:nth-child(even).exampleTable"

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: string

样式的 CSS 属性和值,指定为字符串标量。必须使用分号分隔每个 CSS 属性和值对。例如,格式化颜色和字体粗细的样式的 Selector 属性为:"color:blue; font-weight:bold;"

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: string

该类忽略此属性。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

标记,指定为字符向量或字符串标量。DOM API 在创建此对象的过程中生成一个会话唯一标记。生成的标记形式为 CLASS:ID,其中 CLASS 是对象类,ID 是对象的 Id 属性的值。使用此值来帮助确定在文档生成过程中出现的问题的位置。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

目标标识符,指定为字符向量或字符串标量。DOM API 在创建文档元素对象时会生成一个会话唯一标识符。

属性:

GetAccess
public
SetAccess
public
NonCopyable
true

数据类型: char | string

示例

全部折叠

查看 HTML 模板中现有的样式,修改该样式,并用修改后的样式替换现有样式。

创建 HTML 模板并检查默认样式

根据默认 HTML 模板创建一个新模板并检查目录的样式。

导入 DOM API 命名空间,这样您就不必使用完全限定名称。

import mlreportgen.dom.*

使用默认 HTML 模板创建模板。

t = Template("myTemplate","html");

打开模板并获取样式表。

open(t);
stylesheet = t.Stylesheet
stylesheet = 
  TemplateStylesheet with properties:

     TemplateStyles: [1×31 mlreportgen.dom.TemplateHTMLStyle]
         TextStyles: []
    ParagraphStyles: []
       LinkedStyles: []
         ListStyles: []
        TableStyles: []
                Tag: 'dom.TemplateStylesheet:759'
                 Id: '759'

获取样式名为 "toc" 的样式。

tocStyles = getStyle(stylesheet,"toc");

查看目录样式的第一个,并注意 RawFormats 下的列表样式当前设置为 none

tocStyles(1)
ans = 
  TemplateHTMLStyle with properties:

          Name: 'toc'
      Selector: 'ol.toc > li'
    RawFormats: ' list-style:none; '
       Formats: []
           Tag: 'dom.TemplateHTMLStyle:760'
            Id: '760'

修改目录以使用罗马数字表示章节

通过更改目录样式以使用罗马数字而不是默认数字来修改新模板。

此模式匹配以 "list-style" 开头并以 "none;" 结尾的规则。

pat = "list-style" + wildcardPattern("Except",";") + "none;";

"list-style-type: none" 和 "list-style: none" 替换为 "list-style-type: upper-roman"

for tocStyle = tocStyles
    tocStyle.RawFormats = replace(tocStyle.RawFormats,pat,"list-style-type:upper-roman;");
end

创建一个新样式,将目录使用的字体设置为 Courier New。

newHTMLStyle = TemplateHTMLStyle("ol.toc a","font-family:""Courier New"";");
addStyle(stylesheet,newHTMLStyle);

关闭模板。

close(t);

版本历史记录

在 R2024a 中推出