Main Content

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

updateDocUri

类: slreq.LinkSet
命名空间: slreq

更新重命名或移动的文档的链接目标

说明

count = updateDocUri(myLinkSet,oldID,newID)myLinkSet 指定的链接集中的链接目标从资源标识符为 oldID 的文件更新为资源标识符为 newID 的文件。新文件可以是需求集或外部需求文档。该方法返回更新的链接数。

注意

您可能必须保存链接集,关闭它,然后重新打开它才能查看更改。

示例

输入参数

全部展开

链接集,指定为 slreq.LinkSet 对象。

原始需求集或需求文档的资源标识符,指定为字符串标量或字符向量。资源标识符可以是文件路径或IBM® DOORS®模块 ID。

示例: "myAdd.slreqx"

示例: "000001c1"

用作链接目的地的新需求集或需求文档的资源标识符,指定为字符串标量或字符向量。资源标识符可以是文件路径或IBM DOORS模块 ID。

示例: "myAdd2.slreqx"

示例: "000001c2"

输出参量

全部展开

链接集中更新的 slreq.Link 对象的数量,以字符向量形式返回。

示例

全部展开

此示例显示如何在重命名具有传入链接的需求集时更新链接目标。

加载需求集

加载 mySubtractReqs需求集,其中包含来自 mySubtract~m 链接集的传入链接。

rs = slreq.load("mySubtractReqs");

获取包含传入链接的链接集的句柄。

myLinkSet = slreq.getDependentLinkSets(rs);

显示链接集的源工件文件名。

[~,fname,ext] = fileparts(myLinkSet.Artifact);
shortname = [fname ext]
shortname = 
'mySubtract.m'

重命名需求集

清除已加载的需求和链接数据以及分配给它们的变量。

slreq.clear
clear rs myLinkSet

mySubtractReqs需求集集重命名为 mySubtract

movefile mySubtractReqs.slreqx mySubtract.slreqx

加载mySubtract需求集。

rs = slreq.load("mySubtract");

加载与 mySubtract MATLAB® 代码文件相关的链接集。

myLinkSet = slreq.load(shortname);
Warning: Unable to locate Requirement Set mySubtractReqs.slreqx (referrer mySubtract.m).

获取链接集中的断开的链接。

[brokenLinks,linkDetails] = getBrokenLinks(myLinkSet);

显示第一个断开链接的详细信息。

linkDetails(1)
ans = struct with fields:
    status: 0
       doc: 'mySubtractReqs.slreqx'
        id: ''

将无效的文档名称分配给变量。

oldDoc = string(linkDetails(1).doc)
oldDoc = 
"mySubtractReqs.slreqx"

修复断开的链接

通过将链接目标更新为指向 mySubtract.slreqx 而不是 mySubtractReqs.slreqx 来修复损坏的链接。

newDoc = "mySubtract.slreqx";
count = updateDocUri(myLinkSet,oldDoc,newDoc)
count = 4

确认链接集中没有断开的链接。

brokenLinks = getBrokenLinks(myLinkSet)
brokenLinks =

     []

此示例显示如何更新指向新文档 URI 的直接链接的链接目标。

打开直接链接到 Microsoft Word 文档中的需求示例,它使用了具有指向外部文档的直接链接的模型。

openExample('slrequirements/LinkToRequirementsInMicrosoftWordDocumentsExample');

打开slvnvdemo_fuelsys_officereq模型。查找关联的链接集。

open_system("slvnvdemo_fuelsys_officereq.slx")
myLinkSet = slreq.find("Type","LinkSet","Name","slvnvdemo_fuelsys_officereq");

更新直接链接目标

myLinkSet 中的某些链接指向 slvnvdemo_FuelSys_DesignDescription.docx。更新链接目的地以指向 slvnvdemo_FuelSys_DesignDescription_new.docx

count = updateDocUri(myLinkSet,"slvnvdemo_FuelSys_DesignDescription.docx","slvnvdemo_FuelSys_DesignDescription_new.docx")
count = 8

保存链接集。然后关闭链接集并重新打开以使更改生效。

tf = save(myLinkSet)
tf = logical
   1

slreq.clear;
myLinkSet = slreq.load("slvnvdemo_fuelsys_officereq.slmx");

提示

  • 要在重命名或移动外部需求文档文件时更新需求集引用需求的文件名或路径,请使用 updateSrcFileLocation

  • 要更新从非基于文件的域导入的引用需求的外部需求文档资源标识符,请使用 updateSrcArtifactUri 方法。

版本历史记录

在 R2018a 中推出