sms.dtd revision 465cbeb237a572b2165a1f55cfad77a6b6518883
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit The contents of this file are subject to the terms
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit of the Common Development and Distribution License
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit (the License). You may not use this file except in
685810e390056c123842842f5104daa3179cf2c9Phill Cunnington compliance with the License.
685810e390056c123842842f5104daa3179cf2c9Phill Cunnington You can obtain a copy of the License at
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit https://opensso.dev.java.net/public/CDDLv1.0.html or
b34025e1e963e60c0f81c01af0f25f1984b9ca54James Phillpotts See the License for the specific language governing
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit permission and limitations under the License.
685810e390056c123842842f5104daa3179cf2c9Phill Cunnington When distributing Covered Code, include this CDDL
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit Header Notice in each file and include the License file
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit If applicable, add the following below the CDDL Header,
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit with the fields enclosed by brackets [] replaced by
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit your own identifying information:
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit "Portions Copyrighted [year] [name of copyright owner]"
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit $Id: sms.dtd,v 1.8 2008/09/04 23:59:39 veiming Exp $
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit Portions Copyrighted 2014-2016 ForgeRock AS.
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!-- This DTD defines the data structure that will be used by services to define their configuration information and their management tasks.
80802511792d4e59a4ac67ad19677009d332b37dBruno LavitUnique Declaration name for DOCTYPE tag:
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit"Service Management Services (SMS) 1.0 DTD"
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!-- Provides the I18N key required to get the parameter description in a given locale. If this is not provided it uses the name of the configuration parameter as the I18N key. -->
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!-- ServicesConfiguration is the root node for all services' configuration parameters and tasks. Multiple services can be registered using a single XML file. The version attribute specifies the version of the ServiceConfiguration. -->
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!-- Service defines configuratin parameters' schema (Schema), plugin configuration parameters' schema (PluginSchema), and/or configuration data (Configuration). Examples of services are authentication, session, log, user management (ums), policy, etc. The name attribute provides the name of the service, and version attribute specifies the version of the service. -->
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!ELEMENT Service ( Schema?, PluginSchema*, Configuration? ) >
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!-- Schema defines the schema for the configuration parameters of the service. The sub-elements define the service's specific Server configuration attributes for the respective parameter grouping (global, organization, dynamic, user, policy and generic). The Generic sub-element can be used for managing general configuration attributes. The attributes provide information for I18N properties file name and the URL of the jar file which contains the properties file. Additionally defines the ServiceHierarchy which defines where the service will be displayed in the OpenSSO admin. console. The propertiesViewBeanURL provides the Admin Console viewbean URL associated with this schema. The i18nIndex attribute provides the I18N key used to get the localized display name-->
80802511792d4e59a4ac67ad19677009d332b37dBruno Lavit<!ELEMENT Schema ( Global?, Organization?, Dynamic?, Policy?, User?, Group?, Domain?,
<!-- Global element provides grouping of configuration parameters that are globally applicable to all instances of its service. In the case of services that are grouped, these configuration parameters are global to that group. The schema of the configuration parameters is provided by AttributeSchema, and if there is any necessity to sub-group additional configuration parameters, they can be grouped using the SubSchema element. The attribute validate is by default considered yes, but if it is set to no, then the validation of configuration data against the schema is disabled. This also disables the inheritance of default values from the schema. -->
<!-- Organization element provides a grouping of configuration parameters that can be configured differently for various organizations. Examples are parameters like organization's authentication mechanisms, logging information, etc. The schema of the configuration parameters is provided by AttributeSchema and if there is any necessity to sub-group additional configuration parameters they can be grouped using the SubSchema element. Additionally if some of the configuration parameters need to be obtained during creation of the organization, they can be specifed under OrganizationAttributeSchema element. -->
<!-- OrganizationAttributeSchema element provides a grouping of configuration parameters that will be obtained at the time of organization creation and will be managed as part of the organization attributes. -->
<!-- Dynamic element provides a grouping of configuration parameters that are applicable to all user objects, with respect to this service. These attributes are usually implemented as CoS (Class of Service) privided by iDS 5.2. Examples are parameters like status attributes, mail address, etc. The schema of the configuration parameters is provided by AttributeSchem. The AttributeSchema provides the schema of the configuration parameters. -->
<!-- Group element provides a grouping of configuration parameters that are applicable to group objects, with respect to this service. Examples are parameters like social security number, email address, etc. The AttributeSchema provides the schema of the configuration parameters. -->
<!-- Domain element provides a grouping of configuration parameters that are applicable to domain objects,
with respect to this service. Examples are parameters like social security number, email address, etc
<!-- User element provides a grouping of configuration parameters that are applicable to user objects,
with respect to this service. Examples are parameters like social security number, email address, etc
<!-- Generic element provides grouping of configuration parameters that donot fit in any of the other specific categories. The The AttributeSchema provides the schema of the configuration parameters. The attribute type provides the name for the generic collection of attributes. -->
<!-- Policy element provides grouping of actions (or privileges) that are specific to the service. Examples of actions are canForwardEmailAddress, canChangeSalaryInformation, etc. The The schema of the configuration parameters is provided by AttributeSchema. The AttributeSchema provides the schema of the configuration parameters. -->
<!-- SubSchema defines the schema for a service that are grouped for logical purposes. The configuration information is stored as a subordinate node under the service. The name attribute provides the name for the sub-schema. The inheritance attribute specifies whether this schema can be inherited by only one or multiple configuration nodes using SubConfiguration elements. The default inheritance is single. The maintainPriority attribute suggests if priority must be honored among its peer SubConfig elements. The i18nIndex attribute provides the I18N key used to get the localized display name. The attribute validate is by default considered yes, but if it is set to no, then the validation of configuration data against the schema is disabled. This also disables the inheritance of default values from the schema. -->
<!-- PluginInterface provides the definition of a pluggable interface to be used by a service, which has a pluggable architecture. The name attribute name provides the name for the plugin interface, and the attribute "interface" provides the fully qualified Java interface class name. The i18nIndex attribute provides the I18N key used to get the localized display name -->
<!-- PluginSchema provides the information needed to dynamically download and instantiate the plugin for a service. The name attribute gives the name for the plugin, interfaceName provides the name of plugin interface defined by the plugin, className gives the name of the java class that implements the plugin interface, jarURL gives the URL of the jar file where the java class can be found. The organizationName if specified determines the organization to which the plugin schema is added. The i18nJarURL specifies the URL to the jar file that contains the i18nFile. The i18nFileName specifies the name of the properties file used to get the localized display name. The propertiesViewBeanURL provides the name of the Admin Console viewbean associated with this pluginSchema. The i18nIndex attribute provides the I18N key used to get the localized display name -->
<!-- AttributeSchema defines a single configuration parameter for a service. The attribute name gives the name for the configurable parameter, The type specifies the kind of value the attribute will take. Possible values are: single, list, single_choice, multi_choice, signature, or validator type. For single_choice, a default value must be defined from the list of choice values. The default value for type is list; The uitype specifies the display type as radio, link, button, or name_value_list; The syntax defines whether the parameter is boolean, string, paragraph, password, encrypted_password, dn, email, url, numeric, percent, number, decimal_number, number_range, decimal_range, xml, or date. The cosQualifier defines how the OpenSSO will resolve conflicting cosQulaifier attributes assigned to the same user object. The default value for syntax is string; The rangeStart and rangeEnd provide the starting and ending values for attribute syntax decimal_range and number range, respectively; The minValue and maxValue provide the minimun and maximun acceptable values respectively. The validator specifies the name of the class that would validate this attribute. The any provides means for service developers to add service-specific information. The propertiesViewBeanURL specifies the name of the Admin Console viewbean associated with this attribute. The i18nIndex attribute provides the I18N key used to get the localized display name. The elements IsOptional, IsServiceIdentifier, IsResourceNameAllowed, IsStatusAttribute represent whether the attribute is optional, a service identifier (CoS specifier), resource name allowed or status attribute, respectievely. The element BooleanValues provide the boolean true and false values. The element DefaultValues provides the default values for the parameter. The element ChoiceValues provides the possible values for the parameter if it is of choice type. The element Condition, if present specifies boolean operations which determine if the attribute is valid based on the current configuration data. If multiple Condition elements are present it is sufficient if at least one of them statisfy the requirement (this provides "OR" implementation). -->
<!-- DefaultValues provide the default values for the attribute. The values are statically defined via the sub-element Value, or can be dynamically computed by calling the class defined by the sub-element DefaultValuesClassName. -->
<!-- DefaultValuesClassName provides the name of a java class that implements the abstract class com.sun.identity.sm.DefaultValues and provides the implementation for the method getDefaultValues that returns the default values for the AttributeSchema. -->
<!-- ExampleValue provide example value for an attribute. The values are statically defined via the sub-element
<!-- ChoiceValues provide the only possible values for the attribute. The values are statically defined via the sub-element Value or can be dynamically computed by calling the class defined by the sub-element ChoiceValuesClassName. -->
<!-- ChoiceValuesClassName provides the name of a java class that implements the abstract class com.sun.identity.sm.ChoiceValues and provides the implementation for the method getChoiceValues that returns the choice values for the AttributeSchema. -->
<!-- ChoiceValue provides one of the possible choice values for an attribute and whether it is the default value, and its i18n key used to get the localized display name. -->
<!-- BooleanTrueValue defines the value for the "true" . The i18nIndex specifies the I18N key used to get the localized display name -->
<!-- BooleanFalseValue defines the value for the "false" . The i18nIndex specifies the I18N key used to get the localized display name -->
<!-- IsResourceNameAllowed defines that the attribute(or action in Policy) can have a resource name. -->
<!-- Condition specifies the condition of a peer attribute-value pair that must be satisfied for conditional attributes. Only if the current condition is satisfied, sub-ordinate conditions, if present, are evaluated (this provides AND implementation). The attribute operator provides a boolean OR operation, and attributes attributeName and attributeValue provide the condition that must be met. -->
<!-- Configuration defines service-specific configuration data. It also provides the service instance names, configuration parameters for the respective parameter grouping (global and organization), configuration for plugins. -->
<!ELEMENT Configuration (Instance*, GlobalConfiguration*, OrganizationConfiguration*, PluginConfiguration*) >
<!-- Instance defines an instance of the service by providing its name and optionally its group membership and its URI. The name attribute gives a user-friendly name that can used to identify the instance of the service, group attribute gives the group name from which it obtains its configuration data, and uri gives the URL for the service. -->
<!-- GlobalConfiguration defines the configuration parameters for all instances within a service group. The element AttributeValuePair provides the configuration data; and element SubConfiguration provides the configuration data for further sub-grouping of configuration parameters. -->
<!-- OrganizationConfiguration defines the configuration parameters for a particular organization. The attribute name provides the name of the organization. The element AttributeValuePair provides the configuration data and SubConfiguration provides the configuration data for further sub-grouping of configuration parameters. The element OrganizationAttributeValuePair provides the organization specific configuration defined by OrganizationAttributeSchema, these configuration parameters are searchable and are usually indexed by the configuration store. The i18nIndex specifies the I18N key used to get the localized display name. -->
<!ELEMENT OrganizationConfiguration (AttributeValuePair*, SubConfiguration*, OrganizationAttributeValuePair?) >
<!-- SubConfiguration defines the configuration information for the sub-nodes of the service specified by SubSchema. The attribute id refers to the name of the SubSchema whose schema is being used; name provides the name for this group's configuration parameters, and priority specifies the priority level for this configuration. The i18nIndex specifies the I18N key used to get the localized display name. -->
<!-- OrganizationAttributeValuePair defines the configuration parameters that will be required at the time of organization creation and will be managed as part of the organization attributes. -->
<!-- PluginConfiguration defines the configuration information for a plugin as defined by its plugin schema. The attribute name provides a user friendly name for the plugin configuration, pluginSchemaName specifies the name of the plugin schema for which the configuration parameters are provided, organizationName if specified determines the organization to which the plugin configuration is to be applied, and priority specifies the priority for this plugin. -->
<!-- AttributeValuePair defines generic attribute-value pairs that can used to specify configuration information. -->
<!-- Attribute defines the attribute name i.e., a configuration parameter -->