Enterprise Architect 文档创建 - 过滤器

Enterprise Architect document creation - filter

今天才认识Enterprise Architect,还接到了一个文档生成相关的任务,要尽快完成。

我必须写一个文档生成模板,这个模板应该对特定元素进行一些过滤或调节。 仔细观察:我有一个元素,它有一个特殊的字段 {Element.SpecialField},它可以保存 true 或 fase 的值。如果该字段的值为真,则该字段的名称应该生成到文档中,否则什么也没有。

哪种方法最简单?脚本还是 selector/fragment 过滤器?谢谢。

编辑:

生成的文档应如下所示:

![EA 文件]: http://s29.postimg.org/68edfthdz/EA_doc.jpg

包含问号的单元格是我在编辑部分上面提到的特定元素值。

共有三个元素字段:TagValue_X、TagValue_Y和TagValue_Z。 它们可以分别为 true 或 ""(空字符串)。

但在 table 单元格中我不想看到它们的值,而是用逗号分隔的字段名称。例如:如果

{Element.valueOf(X)} == true AND {Element.valueOf(Y)} == "" AND {Element.valueOf(Z)} == true

,则单元格应包含 "X, , Z".

编辑 2: Geert 的回答。

当我想在模型中搜索时(在 EA 12 中为 CTRL+ALT+A),以下脚本运行良好:

SELECT t_objectproperties.Property FROM t_object, t_objectproperties
WHERE t_objectproperties.Value='True'
AND t_objectproperties.Property='X'
AND t_object.Object_ID = t_objectproperties.Object_ID

我应该如何修改它以将其作为片段模板中的自定义查询应用?我尝试了一些这样的查询,但他们从未返回任何东西。这可能是我的一个基本概念误解问题......

SELECT t_objectproperties.Property AS SomeQuery
FROM t_objectproperties
WHERE t_objectproperties.Value='True'
AND t_objectproperties.Property='X'
AND t_objectproperties.Object_ID = #OBJECTID#

主模板:

package>
element>
{Template - TemplateFragment}
<element
<package

模板片段:

custom>
{SomeQuery}
<custom

我想片段模板应该插入元素部分。

最简单的解决方案是创建一个 SQL 片段。

使用 SQL 您可以 return 根据传递给模板片段的 PackageID 准确地添加您需要的字段。

查看学习中心 (Alt-F1) 以获取有关创建 SQL 片段的分步指南。