主要内容

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

报告 DocBlock 模块

此示例展示如何将 Simulink® DocBlock 模块的内容包含在由 Report API 生成的 Microsoft® Word 报告中。示例模型 slreportgen_demo_docblock 仅包含 DocBlock 模块,每种 DocBlock 文档类型一个模块:

  • RTF

  • HTML

  • 文本

在生成的报告中,DocBlock 模块的内容如下所示:

导入 API 命名空间,以便您可以通过非限定名称(即,不需要它们所在的类命名空间的名称)来引用 API 类。

import mlreportgen.report.*
import slreportgen.report.*
import slreportgen.finder.*
import mlreportgen.dom.*

加载此示例的模型。

model = 'slreportgen_demo_docblock';
load_system(model);

创建一个容器来保存报告内容。为了避免由于模型仅包含虚拟模块而导致的编译错误,请将报告对象的 CompileModelBeforeReporting 属性设置为 false

rpt = slreportgen.report.Report('ModelDoc', 'docx');
rpt.CompileModelBeforeReporting = false;

添加标题页和目录。

add(rpt,TitlePage('Title',sprintf('%s Model Documentation',model)));
add(rpt,TableOfContents);

查找并循环遍历模型中的所有系统。

finder = SystemDiagramFinder(model);
for system = find(finder)

为每个系统创建一个章节。在章节标题中包含系统名称。使用章节来报告系统的 DocBlock 内容。

    ch = Chapter('Title',sprintf('System %s', system.Name));

查找当前系统中的所有 DocBlock 模块。每个结果都会返回所找到的 DocBlock 的 DocBlock 报告器。add 方法调用 DocBlock 报告器。

    docBlockFinder = BlockFinder(system);
    docBlockFinder.Properties = {'MaskType', 'DocBlock'}';
    results = find(docBlockFinder);
    if ~isempty(results)
        add(ch, results);
        else
        add(ch, "This system does not have documentation.");
    end
    add(rpt,ch)
end 

关闭并查看报告。

close(rpt);
close_system(model);
rptview(rpt);

另请参阅

| | | |

主题