Structure of the XML service definition (DTD)

This topic describes the following:
  • The structure of the XML output of IWMDEXTR
  • The layout of the XML service definition (DTD) that can be passed to IWMDINST
To obtain XML output, specify the TYPE=XML parameter for the IWMDEXTR service.

To install such an XML service definition with the IWMDINST service, also specify the TYPE=XML parameter.

The following DTD defines the structure of an XML service definition:

<!ELEMENT ServiceDefinition ( Name, Description?, CreationDate?, CreationUser?, 
  ModificationDate?, ModificationUser?, Level, ReplId?, ProdId?, Notes, 
  ResourceGroups, Workloads, ServicePolicies, ReportClasses, 
  ClassificationGroups, Classifications, ServiceParameter, 
  ApplicationEnvironments?, Resources?, SchedulingEnvironments?, GPMPSettings?,
  Extensions? ) >

<!ATTLIST ServiceDefinition 
     xmlns         CDATA  #IMPLIED
     codepage  CDATA   #IMPLIED >

<!ELEMENT Name ( #PCDATA ) >
<!ELEMENT Description ( #PCDATA ) >
<!ELEMENT CreationDate ( #PCDATA ) >
<!ELEMENT CreationUser ( #PCDATA ) >
<!ELEMENT ModificationDate ( #PCDATA ) >
<!ELEMENT ModificationUser ( #PCDATA ) >
<!ELEMENT Level ( #PCDATA ) >
<!ELEMENT ReplId ( #PCDATA ) >
<!ELEMENT ProdId ( #PCDATA ) >

<!ELEMENT Notes ( Note* ) >
<!ELEMENT Note ( #PCDATA ) >

<!ELEMENT ResourceGroups ( ResourceGroup* ) >
<!ELEMENT ResourceGroup ( Name, Description?, CreationDate, CreationUser, 
  ModificationDate, ModificationUser, Type?, CapacityMinimum?, 
  CapacityMaximum?Start of change, MemoryLimit?End of change ) >

<!ELEMENT Type ( #PCDATA ) >
<!ELEMENT CapacityMaximum ( #PCDATA ) >
<!ELEMENT CapacityMinimum ( #PCDATA ) >
Start of change<!ELEMENT MemoryLimit ( #PCDATA ) >End of change

<!ELEMENT Workloads ( Workload* ) >
<!ELEMENT Workload ( Name, Description?, CreationDate, CreationUser, 
  ModificationDate, ModificationUser, ServiceClasses ) >

<!ELEMENT ServiceClasses ( ServiceClass* ) >
<!ELEMENT ServiceClass ( Name, Description?, CreationDate, CreationUser, 
  ModificationDate, ModificationUser, CPUCritical?, IOPriorityGroup?,
  Start of changeHonorPriority?, End of changeResourceGroupName?, Goal ) >

<!ELEMENT ResourceGroupName ( #PCDATA ) >

<!ELEMENT Goal ( (AverageResponseTime | PercentileResponseTime | Velocity)*, 
  Discretionary? ) >

<!ELEMENT AverageResponseTime ( Importance, Duration?, ResponseTime ) >

<!ELEMENT Importance ( #PCDATA ) >
<!ELEMENT Duration ( #PCDATA ) >
<!ELEMENT ResponseTime ( #PCDATA ) >

<!ELEMENT PercentileResponseTime ( Importance, Duration?, ResponseTime, 
  Percentile ) >

<!ELEMENT Percentile ( #PCDATA ) >

<!ELEMENT Velocity ( Importance, Duration?, Level ) >

<!ELEMENT Discretionary EMPTY >

<!ELEMENT ServicePolicies ( ServicePolicy* ) >
<!ELEMENT ServicePolicy ( Name, Description?, CreationDate, CreationUser, 
  ModificationDate, ModificationUser, ServiceClassOverrides, 
  ResourceGroupOverrides ) >

<!ELEMENT ServiceClassOverrides ( ServiceClassOverride* ) >
<!ELEMENT ServiceClassOverride ( ServiceClassName, CPUCritical?, 
  IOPriorityGroup?, Start of changeHonorPriority?, End of changeResourceGroupName?, Goal ) >

<!ELEMENT ServiceClassName ( #PCDATA ) >
<!ELEMENT CPUCritical ( #PCDATA ) >
<!ELEMENT IOPriorityGroup ( #PCDATA ) >
Start of change<!ELEMENT HonorPriority ( #PCDATA )  >End of change

<!ELEMENT ResourceGroupOverrides ( ResourceGroupOverride* ) >
<!ELEMENT ResourceGroupOverride ( ResourceGroupName, Type?, 
  CapacityMinimum?, CapacityMaximum?Start of change, MemoryLimit?End of change ) >

<!ELEMENT ReportClasses ( ReportClass* ) >
<!ELEMENT ReportClass ( Name, Description?, CreationDate, 
  CreationUser, ModificationDate, ModificationUser ) >

<!ELEMENT ClassificationGroups ( ClassificationGroup* ) >
<!ELEMENT ClassificationGroup ( Name, Description?, CreationDate, 
  CreationUser, ModificationDate, ModificationUser, QualifierType, 
  QualifierNames ) >

<!ELEMENT QualifierType ( #PCDATA ) >

<!ELEMENT QualifierNames ( QualifierName* ) >
<!ELEMENT QualifierName ( Name, Description?, Start? ) >

<!ELEMENT Classifications ( Classification* ) >
<!ELEMENT Classification ( SubsystemType, Description?, CreationDate, 
  CreationUser, ModificationDate, ModificationUser, 
  DefaultServiceClassName?, DefaultReportClassName?, EWLMClassification?, 
  ClassificationRules? ) >

<!ELEMENT SubsystemType ( #PCDATA ) >
<!ELEMENT DefaultServiceClassName ( #PCDATA ) >
<!ELEMENT DefaultReportClassName ( #PCDATA ) >

<!ELEMENT ClassificationRules ( ClassificationRule* ) >
<!ELEMENT ClassificationRule ( Description?, QualifierType, QualifierValue, 
  Start?, ServiceClassName?, ReportClassName?, StorageCritical?, RegionGoal?, 
  Start of changeReportingAttribute?, End of changeClassificationRule* ) >

<!ELEMENT QualifierValue ( #PCDATA ) >
<!ELEMENT Start ( #PCDATA ) >
<!ELEMENT ReportClassName ( #PCDATA ) >
<!ELEMENT RegionGoal ( #PCDATA ) >
<!ELEMENT StorageCritical ( #PCDATA ) >
Start of change<!ELEMENT ReportingAttribute ( #PCDATA ) >End of change
<!ELEMENT ServiceParameter ( ServiceCoefficients, ServiceOptions? ) >

<!ELEMENT ServiceCoefficients ( CPU, IOC, MSO, SRB )? >

<!ELEMENT CPU ( #PCDATA ) >
<!ELEMENT IOC ( #PCDATA ) >
<!ELEMENT MSO ( #PCDATA ) >
<!ELEMENT SRB ( #PCDATA ) >

<!ELEMENT EWLMClassification ( #PCDATA ) >

<!ELEMENT ServiceOptions ( IOPriorityManagement, DynamicAliasManagement?, 
  IOPriorityGroupsEnabled? ) >

<!ELEMENT IOPriorityManagement ( #PCDATA ) >
<!ELEMENT DynamicAliasManagement ( #PCDATA ) >
<!ELEMENT IOPriorityGroupsEnabled ( #PCDATA ) >

<!ELEMENT ApplicationEnvironments ( ApplicationEnvironment* ) >
<!ELEMENT ApplicationEnvironment (  Name, Description?, SubsystemType, Limit,
  ProcedureName?, StartParameter? ) >

<!ELEMENT StartParameter ( #PCDATA ) >
<!ELEMENT Limit ( #PCDATA ) >
<!ELEMENT ProcedureName ( #PCDATA ) >

<!ELEMENT Resources ( Resource* ) >
<!ELEMENT Resource ( Name, Description? ) >

<!ELEMENT SchedulingEnvironments ( SchedulingEnvironment* ) >
<!ELEMENT SchedulingEnvironment ( Name, Description?, ResourceNames ) >

<!ELEMENT ResourceNames ( ResourceName* ) >
<!ELEMENT ResourceName ( Name, RequiredState ) >

<!ELEMENT RequiredState ( #PCDATA ) >

<!ELEMENT GPMPSettings  ( Activation, ExcludedHostSystems? ) >
<!ELEMENT Activation ( #PCDATA  ) >
<!ELEMENT ExcludedHostSystems  ( ExcludedHostSystem*  ) >
<!ELEMENT ExcludedHostSystem ( Name  ) >

<!ELEMENT Extensions ( ServiceDefinitionExtensions?, 
  ResourceGroupExtensions?, ResourceGroupAttributeExtensions?, 
  WorkloadExtensions?, ServiceClassExtensions?, 
  ServiceClassAttributeExtensions?, ServicePolicyExtensions?, 
  ReportClassExtensions?, ClassificationExtensions?,
  ApplicationEnvironmentExtensions?, ResourceExtensions?,
  SchedulingEnvironmentHeaderExtensions?, 
  SchedulingEnvironmentExtensions?,
  SchedulingEnvironmentResourceExtensions? ) >

<!ELEMENT ServiceDefinitionExtensions ( ServiceDefinitionExtension* ) >
<!ELEMENT ServiceDefinitionExtension (VendorId?, RelatedObject, 
  ExtensionData?) >

<!ELEMENT VendorId ( #PCDATA ) >
<!ELEMENT RelatedObject ( #PCDATA ) >
<!ELEMENT ExtensionData ( #PCDATA ) >

<!ELEMENT ResourceGroupExtensions ( ResourceGroupExtension* ) >
<!ELEMENT ResourceGroupExtension (VendorId?, RelatedObject, ServicePolicyName?, 
  ExtensionData?) >

<!ELEMENT ServicePolicyName ( #PCDATA ) >

<!ELEMENT ResourceGroupAttributeExtensions ( ResourceGroupAttributeExtension* ) >
<!ELEMENT ResourceGroupAttributeExtension (VendorId?, RelatedObject, 
  ServicePolicyName?, ExtensionData?) >

<!ELEMENT WorkloadExtensions ( WorkloadExtension* ) >
<!ELEMENT WorkloadExtension (VendorId?, RelatedObject, ServicePolicyName?, 
  ExtensionData?) >

<!ELEMENT ServiceClassExtensions ( ServiceClassExtension* ) >
<!ELEMENT ServiceClassExtension (VendorId?, RelatedObject, ServicePolicyName?, 
  ExtensionData?) >

<!ELEMENT ServiceClassAttributeExtensions ( ServiceClassAttributeExtension* ) >
<!ELEMENT ServiceClassAttributeExtension (VendorId?, RelatedObject, 
  ServicePolicyName?, ExtensionData?) >

<!ELEMENT ServicePolicyExtensions ( ServicePolicyExtension* ) >
<!ELEMENT ServicePolicyExtension (VendorId?, RelatedObject, ServicePolicyName?, 
  ExtensionData?) >

<!ELEMENT ReportClassExtensions ( ReportClassExtension* ) >
<!ELEMENT ReportClassExtension (VendorId?, RelatedObject, ServicePolicyName?, 
  ExtensionData?) >

<!ELEMENT ClassificationExtensions ( ClassificationExtension* ) >
<!ELEMENT ClassificationExtension (VendorId?, RelatedObject, ExtensionData?) >

<!ELEMENT ApplicationEnvironmentExtensions ( ApplicationEnvironmentExtension* ) >
<!ELEMENT ApplicationEnvironmentExtension (VendorId?, RelatedObject, 
  ExtensionData?) >

<!ELEMENT ResourceExtensions ( ResourceExtension* ) >
<!ELEMENT ResourceExtension (VendorId?, RelatedObjectName?, ExtensionData?) >

<!ELEMENT SchedulingEnvironmentHeaderExtensions 
  ( SchedulingEnvironmentHeaderExtension* ) >
<!ELEMENT SchedulingEnvironmentHeaderExtension 
  (VendorId?, RelatedObject, ExtensionData?) >

<!ELEMENT SchedulingEnvironmentExtensions 
  ( SchedulingEnvironmentExtension* ) >
<!ELEMENT SchedulingEnvironmentExtension 
  (VendorId?, RelatedObject, ExtensionData?) >

<!ELEMENT SchedulingEnvironmentResourceExtensions 
  ( SchedulingEnvironmentResourceExtension* ) >
<!ELEMENT SchedulingEnvironmentResourceExtension 
  (VendorId?, RelatedObject, ExtensionData?) >

Table 1 lists the valid name spaces and the corresponding functionality levels:

Table 1. Valid name spaces and corresponding functionality levels
Name space Level
http://www.ibm.com/xmlns/prod/zwlm/1993/09/ServiceDefinition.xsd 001
http://www.ibm.com/xmlns/prod/zwlm/1994/09/ServiceDefinition.xsd 002
http://www.ibm.com/xmlns/prod/zwlm/1997/03/ServiceDefinition.xsd 003
http://www.ibm.com/xmlns/prod/zwlm/1997/09/ServiceDefinition.xsd 004
http://www.ibm.com/xmlns/prod/zwlm/1998/09/ServiceDefinition.xsd 006
http://www.ibm.com/xmlns/prod/zwlm/1999/03/ServiceDefinition.xsd 007
http://www.ibm.com/xmlns/prod/zwlm/1999/09/ServiceDefinition.xsd 008
http://www.ibm.com/xmlns/prod/zwlm/2000/09/ServiceDefinition.xsd 011
http://www.ibm.com/xmlns/prod/zwlm/2001/09/ServiceDefinition.xsd 013
http://www.ibm.com/xmlns/prod/zwlm/2005/12/ServiceDefinition.xsd 017
http://www.ibm.com/xmlns/prod/zwlm/2006/09/ServiceDefinition.xsd 019
http://www.ibm.com/xmlns/prod/zwlm/2008/09/ServiceDefinition.xsd 021
http://www.ibm.com/xmlns/prod/zwlm/2009/09/ServiceDefinition.xsd 023
http://www.ibm.com/xmlns/prod/zwlm/2010/09/ServiceDefinition.xsd 025
http://www.ibm.com/xmlns/prod/zwlm/2012/09/ServiceDefinition.xsd 029
Start of changehttp://www.ibm.com/xmlns/prod/zwlm/2015/12/ServiceDefinition.xsdEnd of change Start of change030End of change
Start of changehttp://www.ibm.com/xmlns/prod/zwlm/2016/12/ServiceDefinition.xsdEnd of change Start of change031End of change