2.7 Path Information

Two kinds of paths exist: the fully qualified path and the terminal name. The fully qualified path contains a full path including the primary resource and continuing to the data set itself. The terminal name is the name of the data set and contains no other path information.

SMS requires that all paths for parents are fully qualified paths. The paths for child data sets can be either fully qualified paths or terminal names.

A path's component can include the primary resource name, one or more secondary resource names, and the separator information. For example,

  VOL1:BIN/DISPLAY.EXE
  

VOL1, BIN, and DISPLAY.EXE are the path nodes and the colon and slash are the separators. The first separator is used to separate the primary resource from the rest of the path, if first separators are supported for the name space type being used to construct the path. For example, VOL1 is the primary resource in the previous example. The second separator is used to separate secondary resources. The engine calls NWSMTSGetNameSpaceTypeInformation to retrieve the separators for a particular name space.

An example of path name that does not support a first separator,/home/user1/binEach path node, home, user1 and bin are the path nodes and the forward slash (/) are the separators. There is no first separator and hence the primary resource is not distinguished from the rest of the path. The engine calls NWSMTSGetNameSpaceTypeInfo to retrieve the separators for a particular name space.

2.7.1 Constructing a Path

The only entity under SMS that should know how to construct a path should be the TSA, since the path for each Target Service type can differ. However, the engine can build a path without knowing the target's path specifications for constructing a path. The following list shows what the engine needs to know about the construction of a path:

  • First separators, if supported for the particular name space, always follow the primary resource. To get the pair of valid separators use NWSMTSGetNameSpaceTypeInfo.

  • Second separators always precede each secondary resource.

  • Second separators follow a parent path node if it is the terminal node in the path.

  • If the terminal path node is a child, no second separator follows it.

For NDS paths, the following construction rules are used:

  • The engine must reverse the path nodes so that the subordinates are to the left of their superiors. For example, Employee.Department.Company.Country is a reversed path. NWSMTSGetNameSpaceTypeInfo indicates if the name space requires a reversed path and the separators expected by a specific name space.

  • If the terminal path node (the left-most path node) is a parent, a dot precedes the name.

To ensure that a path is properly formatted, the engine can call NWSMFixDirectoryPath which does not check a path with a child's data set name.

Resource names can be used with selection types to specify the data sets the user wants to apply an action to. The constructed path contains the resource names to use with the selection type.