Main Content

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

getBrokenLinks

类: slreq.LinkSet
命名空间: slreq

获取无效目标的链接

自 R2024a 起

说明

示例

brokenLinks = getBrokenLinks(myLinkSet) 返回 myLinkSet 指定的链接集中具有无效链接目标的链接。链接目标可能无效,因为无法找到目标工件或目标 ID。

示例

[brokenLinks,details] = getBrokenLinks(myLinkSet) 还返回使链接无效的链接目标值。

输入参数

全部展开

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

输出参量

全部展开

断开的链接,以 slreq.Link数组返回。

无效的链接目标详细信息,以包含以下字段的结构体返回:

  • status - 状态,对于无效目的地,返回 logical 0

  • doc - 无效的文档名称或资源标识符

  • id - 无效的链接目标标识符

示例

全部展开

此示例显示如何查找和修复断开的链接。

加载 myAddRequirements需求集,它链接到 myAddBroken.m 中的代码行。

rs = slreq.load("myAddBroken");

获取链接集的句柄。

myLinkSet = slreq.find(Type="LinkSet");

在链接集中查找断开的链接。显示断开的链接的数量。

brokenLinks = getBrokenLinks(myLinkSet);
numBrokenLinks = numel(brokenLinks)
numBrokenLinks = 1

获取将 Summary属性设置为 Add u and v 的需求的句柄。

req = slreq.find(Type="Requirement",Summary="Add u and v");

使用setDestination方法修复断开的链接。

setDestination(brokenLinks(1),req)

确认没有断开的链接。

brokenLinks = getBrokenLinks(myLinkSet)
brokenLinks =

     []

此示例显示如何获取和删除断开的链接。

加载 myAddRequirements需求集,它链接到 myAddBroken.m 中的代码行。

rs = slreq.load("myAddBroken");

获取链接集的句柄。

myLinkSet = slreq.find(Type="LinkSet");

获取链接集中的断开的链接。显示断开的链接的数量。

[brokenLinks,details] = getBrokenLinks(myLinkSet);
numBrokenLinks = numel(brokenLinks)
numBrokenLinks = 1

删除断开的链接。

remove(brokenLinks(1))

确认没有断开的链接。

brokenLinks = getBrokenLinks(myLinkSet)
brokenLinks =

     []

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

加载需求集

加载 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 =

     []

替代功能

App

使用需求编辑器中的修复无效链接对话框查看孤立链接。有关更多信息,请参阅 解析链接

版本历史记录

在 R2024a 中推出