You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IBM Rational DOORS中如何创建判断属性含"shall"的DXL布尔属性

问题根因

你之前写的DXL脚本存在两个核心错误,导致属性无法正常生效:

  • DXL属性的运行逻辑是逐对象计算当前对象的属性值,不需要写循环遍历模块内所有对象,全量遍历会引发值覆盖、计算冲突问题
  • 你创建的是布尔类型属性,却给它赋值了字符串格式的"True"/"False",类型不匹配,DOORS无法识别赋值结果
正确实现方法

按以下步骤操作即可:

  1. 打开目标模块,切换到编辑模式
  2. 依次进入「编辑」->「属性」列表,选中Is Requirement?属性点击「编辑」,确认属性类型设置为布尔
  3. 勾选「DXL属性」选项,删除原有错误代码,粘贴下方正确脚本:
// 脚本运行时自动绑定当前计算的对象,无需额外遍历
string objText = obj."Text"
if (objText contains "shall") {
    obj.attrDXLName = true
} else {
    obj.attrDXLName = false
}
  1. 保存DXL脚本,确认属性配置后,执行「工具」->「刷新DXL属性」,全模块对象的该属性就会自动完成计算赋值。

补充说明:如果需要精确匹配独立单词"shall",避免误匹配"shallow""shallnot"这类包含shall字符的词汇,可以使用正则版本的判断逻辑:

Regexp shallMatch = regexp2 "\\bshall\\b"
string objText = obj."Text"
obj.attrDXLName = shallMatch objText
delete shallMatch

代码里的attrDXLName是DXL属性内置常量,自动指代当前配置的DXL属性,后续如果修改属性名也不需要调整代码。

内容的提问来源于stack exchange,提问作者Bijan Sanchez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 08:24:26