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 片段的分步指南。
今天才认识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 片段的分步指南。