 each data element that is in the configuration task or from user input at runtime. Initialization and Context: The initialization tag includes the tags and para- meters to connect to the specified database, from which inventory inputs are fetched or updated. Script: This tag provides the ability to embed Bean shell scripts directly in the templates to be rendered. This facilitates method calls, loops and other specific operations. Goto: This facilitates conditional invocation of forms. The template XML contains parameters as described in the next section. 6 Service Provisioning and Activation 6.9.5 Template and Other Parameters The templates are made useful by allowing parameters that can be substituted during each phase of the template-based provisioning. The different kinds of parameter are: Template Parameters: These are the initial parameters needed to scope the provi- sioning functions, such as the hostname of the device being provisioned, or the source and destination of a connection being provisioned. Inventory Inputs: The data gathered from the network inventory are substituted here. Network and Network Element Inputs. User Inputs. 6.9.6 Filters and Rules To permit custom processing of configuration data at each stage, the provisioning framework supports custom Java filters to process the template data at various stages of the provisioning flow. The filters are Java code classes that are invoked during tem- plate processing. There is one instance of each configured filter for each template. To allow the setting of rules and policies without writing Java code, it is wise to provide special-purpose filters. These filters read XML rules files to determine how to process specific templates. Initially, only a few simple filters would typically be provided - for example, to prevent the use of some of the templates on specified hosts, or at specified times of day. There are three kinds of Java filter, based on when these filters are applied: 1. Template filters are applied during template initialization, after 