sms.dtd revision 590e03a0114f53c994d970cfb356dadaaa57e39d
c63ebf815c8a874525cf18670ad74847f7fc7b26Christian Maeder DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder The contents of this file are subject to the terms
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder of the Common Development and Distribution License
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder (the License). You may not use this file except in
43b4c41fbb07705c9df321221ab9cb9832460407Christian Maeder compliance with the License.
f4a2a20e49f41b2afa657e5e64d9e349c7faa091Christian Maeder You can obtain a copy of the License at
f2f9df2e17e70674f0bf426ed1763c973ee4cde0Christian Maeder https://opensso.dev.java.net/public/CDDLv1.0.html or
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder See the License for the specific language governing
e7757995211bd395dc79d26fe017d99375f7d2a6Christian Maeder permission and limitations under the License.
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder When distributing Covered Code, include this CDDL
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder Header Notice in each file and include the License file
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder If applicable, add the following below the CDDL Header,
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich with the fields enclosed by brackets [] replaced by
b1f59a4ea7c96f4c03a4d7cfcb9c5e66871cfbbbChristian Maeder your own identifying information:
ad270004874ce1d0697fb30d7309f180553bb315Christian Maeder "Portions Copyrighted [year] [name of copyright owner]"
4cb215739e9ab13447fa21162482ebe485b47455Christian Maeder $Id: sms.dtd,v 1.8 2008/09/04 23:59:39 veiming Exp $
404166b9366552e9ec5abb87a37c76ec8a815fb7Klaus Luettich Portions Copyrighted 2014-2016 ForgeRock AS.
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!-- This DTD defines the data structure that will be used by services to define their configuration information and their management tasks.
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian MaederUnique Declaration name for DOCTYPE tag:
ef9e8535c168d3f774d9e74368a2317a9eda5826Christian Maeder"Service Management Services (SMS) 1.0 DTD"
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<!-- 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. -->
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<!ENTITY % i18nIndex "i18nKey CDATA #IMPLIED" >
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder<!-- 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. -->
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder<!ELEMENT ServicesConfiguration ( Service )+ >
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder<!-- 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. -->
1aee4aaddde105264c1faf394d88e302c05094ffChristian Maeder<!ELEMENT Service ( Schema?, PluginSchema*, Configuration? ) >
05a62e84edac8c64de04f8349dee418598d216b9Christian Maeder<!-- 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-->
1cd4f6541984962658add5cfaa9f28a93879881bChristian Maeder<!ELEMENT Schema ( Global?, Organization?, Dynamic?, Policy?, User?, Group?, Domain?,
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder %i18nIndex; >
23b4e542dca35852f58d1fb3f7d9078c1de5ab06Christian Maeder<!-- 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. -->
624e6701e0deb7ac6c03c0cba0190fbc5033cf93Ewaryst Schulz<!ELEMENT Global ( AttributeSchema | SubSchema )* >
8cacad2a09782249243b80985f28e9387019fe40Christian Maeder<!ATTLIST Global validate ( yes | no ) "yes" >
a7c27282e71cf4505026645f96d4f5cb8a284e32Christian Maeder<!-- 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. -->
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder<!ELEMENT Organization ( AttributeSchema*, SubSchema*, OrganizationAttributeSchema? ) >
f04e8f3ff56405901be968fd4c6e9769239f1a9bKlaus Luettich<!-- 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. -->
6aea82c63ba1d2efc0329bc784a14e521469ec20Christian Maeder<!ELEMENT OrganizationAttributeSchema ( AttributeSchema* ) >
431d34c7007a787331c4e5ec997badb0f8190fc7Christian Maeder<!-- 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. -->
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder<!-- 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. -->
c0c2380bced8159ff0297ece14eba948bd236471Christian Maeder<!-- Domain element provides a grouping of configuration parameters that are applicable to domain objects,
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder with respect to this service. Examples are parameters like social security number, email address, etc
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder. The AttributeSchema provides the schema of the configuration parameters. -->
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder<!-- User element provides a grouping of configuration parameters that are applicable to user objects,
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder with respect to this service. Examples are parameters like social security number, email address, etc
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder. The AttributeSchema provides the schema of the configuration parameters. -->
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder<!-- 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. -->
a42fbfe7becf0eae2d624123eb0db73a794593f0Christian Maeder<!-- 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. -->
2d130d212db7208777ca896a7ecad619a8944971Christian Maeder<!-- 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. -->
6a79849bed67264c396dddb3e9c184bdfc1a1bc9Christian Maeder<!ELEMENT SubSchema ( AttributeSchema | SubSchema )* >
4017ebc0f692820736d796af3110c3b3018c108aChristian Maeder supportsApplicableOrganization ( yes | no ) "no"
dc679edd4ca027663212afdf00926ae2ce19b555Christian Maeder<!-- 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 -->
b568982efd0997d877286faa592d81b03c8c67b8Christian Maeder<!-- 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 -->
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!-- 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). -->
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<!ELEMENT AttributeSchema (IsOptional?, IsServiceIdentifier?, IsResourceNameAllowed?,
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder IsStatusAttribute?, ChoiceValues?, BooleanValues?, DefaultValues?,
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder Condition* ) >
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder type ( single | list | single_choice | multiple_choice |
ca074a78b8dcccbb8c419586787882f98d0c6163Christian Maeder uitype ( radio | link | button | name_value_list | unorderedlist |
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder orderedlist | maplist | globalmaplist | addremovelist | scriptSelect | globalScriptSelect) #IMPLIED
3e8b136f23ed57d40ee617f49bcac37830b58cabChristian Maeder syntax ( boolean | string | paragraph | password | encrypted_password |
f1541d4a151dbd08002dbd14e7eb1d5dde253689Christian Maeder dn | email | url | numeric | percent | number |
6dc9bc98d0854fe2e3dd3bfc4275096a0c28ee1cChristian Maeder decimal_number | number_range | decimal_range | xml | date | script ) "string"
363939beade943a02b31004cea09dec34fa8a6d9Christian Maeder listOrder ( natural | insertion ) "natural"
6cd33d6101fb1b93baa6d86fac158af18a115108Christian Maeder<!-- 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. -->
6cd33d6101fb1b93baa6d86fac158af18a115108Christian Maeder<!ELEMENT DefaultValues ( Value* | DefaultValuesClassName ) >
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder<!-- 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. -->
10883d13973c46cac98964b66ace7a52b2d059abChristian Maeder<!ELEMENT DefaultValuesClassName ( AttributeValuePair* ) >
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder<!-- 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. -->
5191fa24c532d1f67e7a642e9aece65efb8a0975Christian Maeder<!ELEMENT ChoiceValues ( ChoiceValue* | ChoiceValuesClassName ) >
c9a7e6af169a2adfb92f42331cd578065ed83a2bChristian Maeder<!-- 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. -->
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder<!ELEMENT ChoiceValuesClassName ( AttributeValuePair* ) >
93f5b72fdb9ee734caa750b43dd79bbb590dcd73Christian Maeder<!-- 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. -->
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder<!-- BooleanValues provides the values associated with "true" and "false" boolean values -->
5b818f10e11fc79def1fdd5c8a080d64a6438d87Christian Maeder<!ELEMENT BooleanValues ( BooleanTrueValue, BooleanFalseValue ) >
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder<!-- BooleanTrueValue defines the value for the "true" . The i18nIndex specifies the I18N key used to get the localized display name -->
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder<!-- BooleanFalseValue defines the value for the "false" . The i18nIndex specifies the I18N key used to get the localized display name -->
61fa0ac06ede811c7aad54ec4c4202346727368eChristian Maeder<!-- IsOptional defines that the attribute is optional. -->
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder<!-- IsServiceIdentifier defines that the attribute identifies the kind of service offered. -->
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder<!-- IsStatusAttribute defines that the attribute will be used to determine the service status. -->
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder<!-- IsResourceNameAllowed defines that the attribute(or action in Policy) can have a resource name. -->
383aa66e5142365fe9b1f88b18c1da5b27cc8c04Christian Maeder<!-- 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. -->
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder<!-- 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. -->
54ea981a0503c396c2923a1c06421c6235baf27fChristian Maeder<!ELEMENT Configuration (Instance*, GlobalConfiguration*, OrganizationConfiguration*, PluginConfiguration*) >
697e63e30aa3c309a1ef1f9357745111f8dfc5a9Christian Maeder<!-- 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. -->
aded505f9b42cc38975559c2a5d175ae95de436bChristian Maeder<!ELEMENT Instance ( AttributeValuePair* ) >
819e29dba060687cf391e444e0f6ff88c1908cc3Christian Maeder<!-- 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. -->
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!ELEMENT GlobalConfiguration (AttributeValuePair*, SubConfiguration*) >
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!-- 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. -->
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!ELEMENT OrganizationConfiguration (AttributeValuePair*, SubConfiguration*, OrganizationAttributeValuePair?) >
254df6f22d01eacf7c57b85729e0445747b630d9Christian Maeder<!ATTLIST OrganizationConfiguration name CDATA #REQUIRED
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder %i18nIndex; >
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!-- 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. -->
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder<!ELEMENT SubConfiguration (AttributeValuePair*, SubConfiguration*) >
ac34194a668399bb8ef238da77c3a09e93fb253bChristian Maeder<!ATTLIST SubConfiguration name CDATA #REQUIRED
d23b0cc79c0d204e6ec758dff8d0ba71c9f693f7Christian Maeder %i18nIndex; >
4fc9de0da898448f1d3597ebbd8c04a066464c21Christian Maeder<!-- 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. -->
4fc9de0da898448f1d3597ebbd8c04a066464c21Christian Maeder<!ELEMENT OrganizationAttributeValuePair ( AttributeValuePair* ) >
456238178f89e5a3de2988ee6c8af924297d52d9Christian Maeder<!-- 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. -->
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<!ELEMENT PluginConfiguration ( AttributeValuePair* ) >
8c812cd83569e973f10cf69a342424ceabc07af9Christian Maeder<!-- AttributeValuePair defines generic attribute-value pairs that can used to specify configuration information. -->
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder<!ELEMENT AttributeValuePair (Attribute, Value*) >
7a3fe82695aa32657693e05712f84d7f81672f2eJonathan von Schroeder<!-- Attribute defines the attribute name i.e., a configuration parameter -->
63f0e65a37b95621334db9ee4ba0cd9d826f5c0fChristian Maeder<!-- Value defines the value within an attribute-value pair. -->