【发布时间】:2015-09-08 17:33:46
【问题描述】:
Enterprise Architect 是今天才介绍给我的,而且我还有一个与文档生成相关的任务,应该尽快完成。
我必须为文档生成编写一个模板,这个模板应该对特定元素进行一些过滤或调节。 仔细观察:我有一个元素,它有一个特殊的字段 {Element.SpecialField},它可以保存 true 或 fase 的值。如果该字段的值为真,则该字段的名称应该生成到文档中,否则什么都没有。
最简单的方法是什么?脚本或选择器/片段过滤器?谢谢。
编辑:
生成的文档应如下所示:
![EA 文档]:http://s29.postimg.org/68edfthdz/EA_doc.jpg
包含问号的单元格是我在上面编辑部分提到的特定元素值。
共有三个元素字段:TagValue_X、TagValue_Y 和 TagValue_Z。 它们可以分别为 true 或 ""(空字符串)。
但是在表格单元格中我不想看到它们的值,而是用逗号分隔的字段名称。例如:如果
{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
我想片段模板应该插入到元素部分。
【问题讨论】:
-
最简单的方法取决于太多其他因素,无法给出一个好的答案。如果您能描述您遇到的具体问题,我们或许可以帮助您解决。
-
嗨!我编辑了原始帖子。
标签: templates enterprise-architect