我的一位朋友(Telelogic Doors)DXL的经验很少 在文档中搜索可能匹配字符串的对象的问题。
问题是:
我们有2个属性:严重性和可能性
请参阅下表中的值:
编辑已添加(示例):
示例文档如下所示
2)所以现在如果我有 Severity =可忽略和 Likelihood = Improbable 这样的组合,那么我想解析整个文档,然后尝试查找所有具有这些值并显示对象总数的对象。
3)然后我转到下一个组合ex:严重程度=次要伤害和可能性=不太可能然后显示此组合的总对象。
4)所以现在我浏览了所有25种组合并显示每种组合的总数。
麻烦的是我没有DXL的经验。 我知道如何在C / C ++中完成它而不是在DXL中。
需要基于DXL的解决方案。
答案 0 :(得分:1)
你必须在DXL中这样做吗?以另一种方式做这可能要容易得多。例如,根据文档的结构,您可以创建按严重性和可能性分类的视图,然后显示每个类别的总计。
或者您可以使用电子表格轻松导出数据并计算总数。
<强>更新强> DXL只是一种适用于Domino的XML格式。因此,一旦您拥有DXL格式的数据库,您可以像使用C / C ++的任何其他XML文档一样解析它,如果您最熟悉的话。这个任务的关键是将数据库变为DXL格式。
使用Lotus Notes C / C ++ API,您可以从NotesSession对象创建DXLExport,并调用DXLExporter类来执行导出(对不起,如果我弄乱了对象名称 - 我已经习惯了LotusScript为主)。
另一个可能适合您的选项是将此DXLExporter Wizard用于Domino 8.5。这将完成创建DXL的工作,您可以专注于解析它。
答案 1 :(得分:1)
这与Domino DXL无关,但与Telelogic Doors eXtension Language无关。文档:http://publib.boulder.ibm.com/infocenter/rsdp/v1r0m0/index.jsp?topic=/com.ibm.help.download.doors.doc/topics/doors_version9_1.html
建议:删除lotus-notes标签。
答案 2 :(得分:1)
Amitd,最直接的方法是创建一个包含对象标题,对象文本,严重性,可能性和任何其他相关属性的视图;然后执行基本的export to Excel。进入Excel后,我们将根据需要操作数据。
打开导出的文档,然后按严重性排序,然后按可能性排序。使用Excel内置函数创建聚合计算:COUNTIF和Data&gt;组和数据&gt; SUBTOTAL选项。然后,您可以对汇总总数进行排序,或者对不同组合的属性进行过滤。
仅供参考 - DXL是DOORS eXtension语言 - 与Domino无关。
答案 3 :(得分:1)
我知道我在这里参加聚会有点晚了,但你要找的是:
首先将输入文件另存为csv。
Module m = current
Object o
Stream infile = read("PathToYourCsvFile")
string inline = ""
infile >> inline
while(!end(infile))
{
string Severity = ""
string Likelihood = ""
// Here do some code to get the values from the line in the csv
// If you still are interested I can add this in with an update later.
for o in m do
{
if((o."Severity" "" == Severity) && (o."Likelihood" "" == Likelihood))
{
count++;
}
}
infoBox "Severity = " Severity " and Likelihood = " Likelihood " MATCHES: " count ""
}
在使用找到的匹配数计算每一行后,将弹出一个框。如果你愿意的话,你可以轻松地在最后弹出一个包含所有匹配的方框。再次,如果您仍然感兴趣,请给我一些关于输入和输出的更多信息,我可以为您提供更准确的代码。