主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

setPreImportFcn

类: slreq.Reference
命名空间: slreq

分配 PreImportFcn 回调脚本

自 R2022a 起

语法

setPreImportFcn(topRef,callbackScript)

说明

setPreImportFcn(topRef,callbackScript)callbackScript 指定的脚本分配为导入节点 topRefPreImportFcn 回调脚本。

输入参数

全部展开

导入节点,指定为 slreq.Reference 对象。

要注册为导入节点的 PreImportFcn 回调的脚本的名称,指定为字符串标量或字符向量。

示例

全部展开

此示例显示如何将脚本指定为导入节点的 PreImportFcn 回调。您可以获取导入节点的 PreImportFcn 回调的内容,并在导入需求后将不同的脚本注册为 PreImportFcn 回调。

导入需求

使用 slreq.import 将 ReqIF™ 文件 mySpec.reqif 导入 Requirements Toolbox™。将导入的需求集 myReqSet,并将脚本 myPreImportScript 注册为导入时使用的 PreImportFcn 回调。返回需求集的句柄。

[~,~,rs] = slreq.import("mySpec.reqif",ReqSet="myReqSet",preImportFcn="myPreImportScript");

脚本 myPreImportScript 使用 slreq.getCurrentImportOptions 来获取导入选项,然后指定导入期间要使用的属性映射文件。

type myPreImportScript.m
importOptions = slreq.getCurrentImportOptions;
importOptions.MappingFile = "myMappingFile.xml";

映射文件 myMappingFile.xml 使用通用映射。

获取将 Index 设置为 1 的需求的自定义 ID。

req1 = find(rs,Index="1");
cID = req1.CustomId
cID =

  0x0 empty char array

通用映射不会将 ReqIF 属性 ID 映射到需求工具箱属性 Custom ID。相反,ID 作为自定义属性导入。获取 IDRequirement 1 自定义属性的值。

cID = getAttribute(req1,"ID")
cID = 
'A1'

获取并设置 PreImportFcn 回调脚本

获取导入节点的句柄,然后将脚本 myPreImportScrip2 注册为 PreImportFcn 回调。确认注册的回调已经改变。

topRef = children(rs);
setPreImportFcn(topRef,"myPreImportScript2")
newCallback = getPreImportFcn(topRef)
newCallback = 
'myPreImportScript2'

脚本 myPreImportScript2 使用 slreq.getCurrentImportOptions 来获取导入选项,然后指定导入期间要使用的属性映射文件。

type myPreImportScript2.m
importOptions = slreq.getCurrentImportOptions;
importOptions.MappingFile = "myMappingFile2.xml";

映射文件 myMappingFile2.xml 将 ReqIF™ 文件中的这些属性映射到 Requirements Toolbox™ 中的这些属性:

  • ReqSumSummary

  • DescDescription

  • IDCustom ID

更新需求集。当您更新需求集时,PreImportFcn 回调脚本也会执行。

updateReferences(rs,topRef);

获取将 Index 设置为 1 的需求的自定义 ID。

req1 = find(rs,Index="1");
cID = req1.CustomId
cID = 
'A1'

版本历史记录

在 R2022a 中推出