The <addSnapshot> element denotes that an external snapshot block should be executed and that its contents should be added to this snapshot.
Using an <addSnapshot> step is semantically equivalent to all of the following scenarios:
Adding the <prepare> steps of the called snapshot to the end of the calling snapshot's prepare block
Adding the <cleanup> steps of the called snapshot to the start of the calling snapshot's cleanup block
Adding the <capture> steps of the called snapshot to the calling snapshot's capture block in place of the <addSnapshot> step
Make sure that the files that are referenced by the called and calling snapshot blocks do not conflict.
Any number of <addSnapshot> steps can appear within a <capture> element. The called snapshot itself can contain any number of <addSnapshot> steps within its <capture> element.
When files are added to a snapshot indirectly by using <addSnapshot> callouts, the topmost component that initiated the snapshot capture is considered to be the owner of the files, as opposed to the component that contained the <addFile> directive. Similarly, when a comparison is performed on a snapshot, only <diff> element <ignore> directives of the topmost component that initiated the snapshot are considered. The <diff> element <ignore> directives that are contained on components visited as a result of <addSnapshot> callouts are not considered.
The <addSnapshot> element has one required attribute of type entityName, blockName, which is the name of the external snapshot block to execute.
The <addSnapshot> element has the following child elements:
<argList> – An optional element that is a list of arguments to pass to the snapshot block. This element can only appear one time.
<Installed component targeter> – An optional element that identifies the component that contains the snapshot block. If this element is omitted, <thisComponent> is used.