setPostImportFcn
Class: slreq.Reference
Namespace: slreq
Syntax
setPostImportFcn(topRef,callbackScript)
Description
setPostImportFcn(
assigns the script specified by topRef
,callbackScript
)callbackScript
as the
PostImportFcn
callback script for the Import node
topRef
.
Input Arguments
Import node, specified as an slreq.Reference
object.
Name of the script to register as the PostImportFcn
callback for
the Import node, specified as a string scalar or character vector.
Examples
This example shows how to assign a script as the PostImportFcn
callback for an Import node. You get the contents of the PostImportFcn
callback for an Import node and register a different script after you import the requirements.
Import the Requirements
Use slreq.import
to import the ReqIF file mySpec.reqif
into Requirements Toolbox™. Name the imported requirement set myReqSet
, register the script myPreImportScript2
as the PreImportFcn
, and register the script myPostImportScript
as the PostImportFcn
callback. Return a handle to the requirement set.
[~,~,rs] = slreq.import("mySpec.reqif",ReqSet= ... "myReqSet",preImportFcn="myPreImportScript2", ... postImportFcn="myPostImportScript");
The script myPreImportScript2
uses slreq.getCurrentImportOptions
to get the import options, then specifies the attribute mapping file to use during import.
type myPreImportScript2.m
importOptions = slreq.getCurrentImportOptions; importOptions.MappingFile = "myMappingFile2.xml";
The mapping file myMappingFile2.xml
maps these attributes from the ReqIF™ file to these properties in Requirements Toolbox™:
ReqSum
toSummary
Desc
toDescription
ID
toCustom ID
The script myPostImportScript
uses slreq.getCurrentObject
to get a handle to the Import node, gets the requirement set that the Import node belongs to, and then finds requirements that have the summary Requirement 1
and Requirement 2
. Then, the script moves Requirement 2
under Requirement 1
.
type myPostImportScript.m
topRef = slreq.getCurrentObject; rsScratch = reqSet(topRef); ref = find(rsScratch,Type="Reference",Summary="Requirement 2"); parentRef = find(rsScratch,Type="Reference",Summary="Requirement 1"); parentID = parentRef.SID; setParent(ref,parentID);
Confirm that Requirement 2
is a child of Requirement 1
.
req1 = find(rs,Summary="Requirement 1");
req2 = children(req1);
reqSummary = req2.Summary
reqSummary = 'Requirement 2'
Get and Set the PostImportFcn
Callback
Get a handle to the Import node, then register the script myPostImportScrip2
as the PostImportFcn
callback. Confirm that the contents of the callback changed.
topRef = children(rs);
setPostImportFcn(topRef,"myPostImportScript2")
newCallback = getPostImportFcn(topRef)
newCallback = 'myPostImportScript2'
The myPostImportScript2
script moves Requirement 2
under Requirement 3
.
type myPostImportScript2.m
topRef = slreq.getCurrentObject; rsSc = reqSet(topRef); ref = find(rsSc,Type="Reference",Summary="Requirement 2"); parentRef = find(rsSc,Type="Reference",Summary="Requirement 3"); parentID = parentRef.SID; setParent(ref,parentID);
Update the requirement set. The PostImportFcn
callback executes after you update the requirement set.
updateReferences(rs,topRef);
Confirm that Requirement 2
is a child of Requirement 3
.
req3 = find(rs,Summary="Requirement 3");
req2 = children(req3);
reqSummary = req2.Summary
reqSummary = 'Requirement 2'
Version History
Introduced in R2022a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Seleccione un país/idioma
Seleccione un país/idioma para obtener contenido traducido, si está disponible, y ver eventos y ofertas de productos y servicios locales. Según su ubicación geográfica, recomendamos que seleccione: .
También puede seleccionar uno de estos países/idiomas:
Cómo obtener el mejor rendimiento
Seleccione China (en idioma chino o inglés) para obtener el mejor rendimiento. Los sitios web de otros países no están optimizados para ser accedidos desde su ubicación geográfica.
América
- América Latina (Español)
- Canada (English)
- United States (English)
Europa
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)