使用 if else 循环的 DXL 过滤器
DXL filter using if else loop
我正在使用 Door 9.6 并尝试创建一个通用过滤器,该过滤器可用于我项目中的多个文档。
项目文档具有属性 "Requirement Type"。此属性的值可以为 "Functional"、"Non Functional"、"Information" 等。
文件不统一,部分文件有 "Requirement Type" 为 "Functional", "Information" 。
我正在尝试使用 attributeValue() 找出这种变化,但不知何故无法找出代码中的问题。
-E- DXL: <Line:16> incorrect arguments for (||)
-E- DXL: <Line:16> incorrect arguments for (||)
-E- DXL: <Line:16> undeclared variable (f1)
-E- DXL: <Line:16> incorrect arguments for (=)
这是代码
Module m = current
load view("default view")
AttrDef ad = find(current Module, "Requirement Type")
if (attributeValue(ad, "Non functional")){
Filter f1 = contains(attribute "Requirement Type", "Non Functional", false)
}
else {
Filter f1= contains(attribute "Requirement Type", "Functional", false)
}
Filter f2= contains(attribute "Requirement Type", "Information", false)
Filter f3= contains(attribute "Requirement Type", "Functional", false)
Filter set_f = f1 || f2 || f3
set(current Module, set_f)
当变量声明在{括号}内时,该变量在外部是不可见的。在括号外声明它,但将它们设置在括号内。
Module m = current
load view("default view")
AttrDef ad = find(current Module, "Requirement Type")
Filter f1
if (attributeValue(ad, "Non functional")){
f1 = contains(attribute "Requirement Type", "Non Functional", false)
}
else {
f1= contains(attribute "Requirement Type", "Functional", false)
}
Filter f2= contains(attribute "Requirement Type", "Information", false)
Filter f3= contains(attribute "Requirement Type", "Functional", false)
Filter set_f = f1 || f2 || f3
set(current Module, set_f)
我正在使用 Door 9.6 并尝试创建一个通用过滤器,该过滤器可用于我项目中的多个文档。 项目文档具有属性 "Requirement Type"。此属性的值可以为 "Functional"、"Non Functional"、"Information" 等。 文件不统一,部分文件有 "Requirement Type" 为 "Functional", "Information" 。 我正在尝试使用 attributeValue() 找出这种变化,但不知何故无法找出代码中的问题。
-E- DXL: <Line:16> incorrect arguments for (||)
-E- DXL: <Line:16> incorrect arguments for (||)
-E- DXL: <Line:16> undeclared variable (f1)
-E- DXL: <Line:16> incorrect arguments for (=)
这是代码
Module m = current
load view("default view")
AttrDef ad = find(current Module, "Requirement Type")
if (attributeValue(ad, "Non functional")){
Filter f1 = contains(attribute "Requirement Type", "Non Functional", false)
}
else {
Filter f1= contains(attribute "Requirement Type", "Functional", false)
}
Filter f2= contains(attribute "Requirement Type", "Information", false)
Filter f3= contains(attribute "Requirement Type", "Functional", false)
Filter set_f = f1 || f2 || f3
set(current Module, set_f)
当变量声明在{括号}内时,该变量在外部是不可见的。在括号外声明它,但将它们设置在括号内。
Module m = current
load view("default view")
AttrDef ad = find(current Module, "Requirement Type")
Filter f1
if (attributeValue(ad, "Non functional")){
f1 = contains(attribute "Requirement Type", "Non Functional", false)
}
else {
f1= contains(attribute "Requirement Type", "Functional", false)
}
Filter f2= contains(attribute "Requirement Type", "Information", false)
Filter f3= contains(attribute "Requirement Type", "Functional", false)
Filter set_f = f1 || f2 || f3
set(current Module, set_f)