N1 Service Provisioning System 4.1 Reference Guide

The component Element

The entire component is enclosed by the <component> element. All versions of a component must have the same name and path. Configurable attributes of this element may reference component substitution variables.

component Element attributes

Name 

Type 

Required 

Configurable 

Description 

xmlns 

String 

Yes 

No 

Required value: http://www.sun.com/schema/SPS 

xmlns:xsi 

String 

Yes 

No 

Required value: 

http://www.w3.org/2001/ XML 

Schema-instance 

xsi:schema Location 

String 

No 

No 

Recommended value: 

http://www.sun.com/schema/SPS 

component.xsd 

access 

One of 

PUBLIC 

PATH 

No 

No 

The access mode of this component, as described below. Defaults to PUBLIC. 

modifier 

modifierEnum 

No 

No 

The modifier of this component, as described below. 

name 

entityName 

Yes 

No 

The name of the component  

path 

pathName 

No 

No 

The absolute path of the component. If unspecified, the root path “/” is used by default. 

description 

String 

No 

No 

The description of the component  

label 

String 

No 

No 

A brief description of the component 

software Vendor 

String 

No 

No 

The vendor of the software application modeled by this component  

author 

String 

No 

No 

The author of this component  

version 

schemaVersion 

Yes 

No 

The version of the component schema being used. The only value currently permitted is 4.0. 

platform 

String 

No 

No 

The name of the host set containing the hosts that are considered valid physical targets for this component to be installed on, as described below. 

limitToHostSet 

String 

No 

No 

The name of the host set containing the hosts that are considered valid targets for this component, as described below. 

installPath 

String 

Yes 1 

Yes 

The path used when this component is installed. For simple components, this value also serves as the root directory in which to install resources. Note: When an instance of this component is installed, the path is stored in universal format. 

1 Only permitted in non-derived components.

component access attribute

The “access" attribute of the <component> element specifies the accessibility of the component, and is limited to values PATH and PUBLIC. It defaults to PUBLIC.

If access is PATH, then the component may only be referenced by other components in the same path as this component. It may not be direct installed by the client and may only be included using a nested reference in other components. If access is PUBLIC, no such restrictions apply.

component modifier attribute

The "modifier" attribute of the <component> element specifies override requirements for the component.

If ABSTRACT, then the component may not be installed. It serves only as a base component for other components to extend. Only abstract components may declare abstract child elements.

If FINAL, then the component may not be extended by another component.

If omitted, then the component may be extended and installed.

component platform attribute

The “platform” attribute of the <component> element specifies the name of the host set containing the hosts that are considered valid physical targets for this component to be installed on. If unspecified, any host that contains an RA residing on a supported platform is considered a to be a valid physical target. Otherwise, the physical targets for any plan that installs this component must be a subset of the hosts contained in the named host set. If the physical targets include a host not contained in the named host set, it is a plan run time error. It is also a plan run time error to specify a name that does not correspond to an existing host set. The plan run time errors described here are reported as preflight errors.

component limitToHostSet attribute

The "limitToHostSet" attribute of the <component> element specifies the name of the host set containing the hosts that are considered valid targets for this plan. If unspecified, all hosts are considered valid targets. Otherwise, the targets specified by the client must be a subset of the hosts contained in the named host set. If the targets include a host not contained in the named host set, it is a plan run time error. It is also a plan run time error to specify a name that does not correspond to an existing host set. The plan run time errors described here are reported as preflight errors.

There are two main differences between the platform and the limitToHostSet attributes. First, the platform names one of the predefined platform host sets, whereas the limitToHostSet names a user-defined host set. Accordingly, if the client wants to limit installation based on a custom host set, they should use "limitToHostSet". Secondly, when a component is targeted at a virtual host, the limitToHostSet is tested against the virtual host, whereas the platform is tested against the root physical host of that virtual host. Accordingly, setting a limitToHostSet but no platform allows a component to be installed on a particular set of virtual hosts that might reside on different physical platforms (as is the case with WebLogic applications). Setting a platform but no limitToHostSet allows a component to be installed on any host that is rooted by a physical host with the given platform. Setting both allows one to constraint both degrees.

component attribute inheritance

Except for installPath and limitToHostSet, component attributes are not inherited.

The installPath attribute is inherited, and may not be overridden by derived components. Note, however, that the base component may use component variables in specifying its value, and the value of these variables may be overridden.

The limitToHostSet attribute is also inherited, and may be overridden by derived components only if the base component did not specify a limitToHostSet. Note that since the limitToHostSet value names a mutable, client managed entity, the relation of host set can not be reasoned about in the same way as platforms.

The platform attribute is not inherited. However, the platform value of a derived component may be no more general than that of the base component. If the platform is unspecified in a derived component, then it also must be unspecified (or specified as “any”) in the base component.

component Child Elements

Name 

How Many? 

Description 

extends 

0 or 1 

The base component from which this component is derived. 

varList 

0 or 1 

List of substitution variables used by this component and the configuration resources it contains.  

resourceRef 

0 or 1 

Resources managed by this simple component. May not be used with <componentRefList>. 

component RefList 

0 or 1  

List of components referenced by this composite component. May not be used with <resourceRef>. 

installList 

0 or 1 1 

List of install step blocks, each providing a different way to install this component. 

uninstallList 

0 or 1 1 

List of uninstall step blocks, each providing a different way to uninstall this component. 

snapshotList 

0 or 1 

List of snapshot blocks, each providing a different way to capture the installed state of this component. 

controlList 

0 or 1 

List of controls that are available for this component. 

diff 

0 or 1 

List of directives used by the difference engine when running comparisons on components derived from this component.  

1 Required in non-derived components.