Important

   

This documentation space contains information about PATROL Agents when deployed in a TrueSight Operations Management environment. If you are a BMC Helix Operations Management user, see PATROL Agent 22.1 for BMC Helix Operations Management. Open link

XML schema

The kmfile.xsd file defines the schema of the input configuration metadata for PATROL Agent versions 9.5 and later. Navigate to %PATROL HOME%\lib\knowledge for viewing this file in your PATROL installation.

Schema for metadata specification is provided below. This serves as a definitive reference for this version for KM metadata, that is, version 1.0. This schema may also be used to validate a KM-specific metadata specification..

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:attributeGroup name="BaseConfigAttr">
		<xs:attribute name="id" type="xs:string" use="required"/>
		<xs:attribute name="label" type="xs:string" use="optional"/>
		<xs:attribute name="description" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForLabel" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForDescription" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="ExtraConfigAttr">
		<xs:attribute name="isMandatory" type="xs:string" use="optional"/>
		<xs:attribute name="isStorageSecure" type="xs:string" use="optional"/>
		<xs:attribute name="default" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="KMConfigAttr">
		<xs:attribute name="dataModelMajorVersion" type="xs:int"/>
		<xs:attribute name="dataModelMinorVersion" type="xs:int"/>
		<xs:attribute name="needsCustomGui" type="xs:string"/>
		<xs:attribute name="customGuiArtifact" type="xs:string"/>
		<xs:attribute name="parentApplicationClass" type="xs:string"/>
		<xs:attribute name="remoteSupport" type="xs:string"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="AttributeSetAttr">
		<xs:attribute name="id" type="xs:string" use="optional"/>
		<xs:attribute name="label" type="xs:string" use="optional"/>
		<xs:attribute name="description" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForLabel" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForDescription" type="xs:string" use="optional"/>
		<xs:attribute name="newPopupDialog" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="CredentialAttr">
		<xs:attribute name="userName" type="xs:string" use="optional"/>
		<xs:attribute name="password" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="VersionAttr">
		<xs:attribute name="majorVersion" type="xs:int" use="optional"/>
		<xs:attribute name="minorVersion" type="xs:int" use="optional"/>
		<xs:attribute name="release" type="xs:string" use="optional"/>
		<xs:attribute name="revision" type="xs:string" use="optional"/>
		<xs:attribute name="package" type="xs:string" use="optional"/>
		<xs:attribute name="description" type="xs:string" use="optional"/>
		<xs:attribute name="productcode" type="xs:string" use="optional"/>
		<xs:attribute name="msgDomain" type="xs:string" use="optional"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="ObjectAttr">
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="majorVersion" type="xs:int" use="optional"/>
		<xs:attribute name="minorVersion" type="xs:int" use="optional"/>
		<xs:attribute name="okPicture" type="xs:string"/>
		<xs:attribute name="wrongPicture" type="xs:string"/>
		<xs:attribute name="suspendGlobalParams" type="xs:boolean"/>
		<xs:attribute name="historySpan" type="xs:int"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="ComputerAttr">
		<xs:attribute name="screenX" type="xs:int"/>
		<xs:attribute name="screenY" type="xs:int"/>
		<xs:attribute name="suspendKidsGlobalParams" type="xs:boolean"/>
		<xs:attribute name="heartbeat" type="xs:int"/>
		<xs:attribute name="helpContextId" type="xs:int"/>
		<xs:attribute name="helpFile" type="xs:string" use="optional"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="ApplAttr">
		<xs:attribute name="EVCatalogName" type="xs:string"/>
		<xs:attribute name="EVCatalogSerial" type="xs:int"/>
		<xs:attribute name="active" type="xs:boolean"/>
		<xs:attribute name="discovery" type="xs:string"/>
		<xs:attribute name="discoveryTime" type="xs:int"/>
		<xs:attribute name="security" type="xs:boolean"/>
		<xs:attribute name="propagateState" type="xs:boolean"/>
		<xs:attribute name="createIcon" type="xs:boolean"/>
		<xs:attribute name="helpFile" type="xs:string"/>
		<xs:attribute name="helpContextId" type="xs:int"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="RangeAttr">
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="active" type="xs:boolean" use="optional"/>
		<xs:attribute name="autoRescale" type="xs:boolean" use="optional"/>
		<xs:attribute name="minimum" type="xs:int" use="optional"/>
		<xs:attribute name="maximum" type="xs:int" use="optional"/>
		<xs:attribute name="state" type="xs:string" use="optional"/>
		<xs:attribute name="alarmWhen" type="xs:string" use="optional"/>
		<xs:attribute name="alarmWhenN" type="xs:int" use="optional"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="TaskAttr">
		<xs:attribute name="showTimer" type="xs:boolean" use="optional"/>
		<xs:attribute name="interactive" type="xs:boolean" use="optional"/>
		<xs:attribute name="attnPopup" type="xs:boolean" use="optional"/>
		<xs:attribute name="okPicture" type="xs:string" use="optional"/>
		<xs:attribute name="wrongPicture" type="xs:string" use="optional"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="MenuCommandAttr">
		<xs:attribute name="name" type="xs:string" use="required"/>
		<xs:attribute name="available" type="xs:string" use="optional"/>
		<xs:attribute name="security" type="xs:string" use="optional"/>
		<xs:attribute name="annotate" type="xs:boolean" use="optional"/>
		<xs:attribute name="autoID" type="xs:boolean" use="optional"/>		
		<xs:attribute name="id" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="ParamAttr">
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="title" type="xs:string" use="optional"/>
		<xs:attribute name="units" type="xs:string" use="optional"/>
		<xs:attribute name="format" type="xs:string" use="optional"/>
		<xs:attribute name="active" type="xs:boolean" use="optional"/>
		<xs:attribute name="historyTime" type="xs:string" use="optional"/>
		<xs:attribute name="historySpan" type="xs:int" use="optional"/>
		<xs:attribute name="historyLevel" type="xs:boolean" use="optional"/>
		<xs:attribute name="monitor" type="xs:boolean" use="optional"/>
		<xs:attribute name="check" type="xs:boolean" use="optional"/>
		<xs:attribute name="output" type="xs:string" use="optional"/>
		<xs:attribute name="type" type="xs:string" use="optional"/>
		<xs:attribute name="autoRescale" type="xs:boolean" use="optional"/>
		<xs:attribute name="yAxisMin" type="xs:int" use="optional"/>
		<xs:attribute name="yAxisMax" type="xs:int" use="optional"/>
		<xs:attribute name="start" type="xs:string" use="optional"/>
		<xs:attribute name="startTime" type="xs:int" use="optional"/>
		<xs:attribute name="externalPolling" type="xs:boolean" use="optional"/>
		<xs:attribute name="executions" type="xs:string" use="optional"/>
		<xs:attribute name="timeoutRetries" type="xs:string" use="optional"/>
		<xs:attribute name="pollTime" type="xs:int" use="optional"/>
		<xs:attribute name="timeout" type="xs:string" use="optional"/>
		<xs:attribute name="daysOfWeek" type="xs:string" use="optional"/>
		<xs:attribute name="dayOfMonth" type="xs:string" use="optional"/>
		<xs:attribute name="helpFile" type="xs:string" use="optional"/>
		<xs:attribute name="helpContextId" type="xs:int" use="optional"/>
        </xs:attributeGroup>
	<xs:attributeGroup name="ParamMetadataAttr">
		<xs:attribute name="kpi" type="xs:boolean" use="optional"/>
		<xs:attribute name="graphByDefault" type="xs:boolean" use="optional"/>
		<xs:attribute name="statistical" type="xs:boolean" use="optional"/>
		<xs:attribute name="config" type="xs:boolean" use="optional"/>
		<xs:attribute name="availability" type="xs:boolean" use="optional"/>
		<xs:attribute name="responseTime" type="xs:boolean" use="optional"/>
		<xs:attribute name="normalDistribution" type="xs:boolean" use="optional"/>
		<xs:attribute name="monitorForAbnormalities" type="xs:boolean" use="optional"/>
		<xs:attribute name="applicationCollectionStatus" type="xs:boolean" use="optional"/>
		<xs:attribute name="delta" type="xs:boolean" use="optional"/>
		<xs:attribute name="metaFormat" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForName" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForTitle" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="ApplMetadata">
		<xs:attribute name="displayName" type="xs:string" use="required"/>
		<xs:attribute name="category" type="xs:string" use="required"/>
		<xs:attribute name="type" type="xs:string" use="required"/>
		<xs:attribute name="CDMClass" type="xs:string" use="optional"/>
		<xs:attribute name="configVariables" type="xs:string" use="optional"/>
		<xs:attribute name="i18nIdForName" type="xs:string" use="optional"/>
	</xs:attributeGroup>
	<xs:attributeGroup name="StringTypeattrGrp">
		<xs:attribute name="defaultEditable" type="xs:string" use="optional"/>		
	</xs:attributeGroup>
	<xs:complexType name="PSLCode">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="Printable" type="xs:string"/>
			<xs:element name="ControlChar" type="xs:string"/>
		</xs:choice>
	</xs:complexType>

	<xs:attributeGroup name="CommandSpecAttrs">
		<xs:attribute name="serial" type="xs:int" use="optional"/>
		<xs:attribute name="file" type="xs:string" use="optional"/>
	</xs:attributeGroup>

	<xs:complexType name="EnvVariableType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="name" type="xs:string" use="optional"/>
				<xs:attribute name="value" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="EnvVariableContainer">
		<xs:sequence>
			<xs:element name="EnvVariable" type="EnvVariableType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SimpleDaemonContainer">
		<xs:sequence>
		<xs:element name="Daemons" type="xs:string" minOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SimpleFileContainer">
		<xs:sequence>
		<xs:element name="Files" type="xs:string" minOccurs="1"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AccountType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="CredentialAttr"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="CommandtextType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="CommandSpecAttrs"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ComputerCommandType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="Commandtext" type="CommandtextType"/>
			<xs:element name="Account" type="AccountType"/>
			<xs:element name="Environment" type="EnvVariableContainer"/>
		</xs:choice>
		<xs:attribute name="computerType" type="xs:string" use="optional"/>
		<xs:attribute name="commandType" type="xs:string" use="optional"/>
		<xs:attribute name="death" type="xs:boolean" use="optional"/>
	</xs:complexType>
	<xs:complexType name="ComputerCommandContainer">
		<xs:sequence>
			<xs:element name="Command" type="ComputerCommandType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="CommandType">
		<xs:sequence>
			<xs:element name="BaseCommand" type="ComputerCommandContainer"/>
		</xs:sequence>
		<xs:attributeGroup ref="MenuCommandAttr"/>
	</xs:complexType>
	<xs:complexType name="CommandActionType">
		<xs:choice>
			<xs:element name="BaseCommand" type="ComputerCommandContainer"/>
			<xs:element name="oldStateChange" type="CommandtextType"/>
		</xs:choice>
		<xs:attributeGroup ref="MenuCommandAttr"/>
	</xs:complexType>
	<xs:complexType name="TaskType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="TaskAttr"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="RecoveryType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="BaseCommand" type="ComputerCommandContainer"/>
			<xs:element name="Task" type="TaskType"/>
		</xs:choice>
		<xs:attributeGroup ref="MenuCommandAttr"/>
	</xs:complexType>
	<xs:complexType name="RecoveryContainer">
		<xs:sequence>
			<xs:element name="Recovery" type="RecoveryType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="RangeType" mixed="true">
		<xs:sequence>
			<xs:element name="RecoveryList" type="RecoveryContainer" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="RangeAttr"/>
	</xs:complexType>
	<xs:complexType name="RangeContainer">
		<xs:sequence>
			<xs:element name="Range" type="RangeType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="InfoBoxContainer">
		<xs:sequence>
			<xs:element name="InfoBox" type="CommandType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SetupContainer">
		<xs:sequence>
			<xs:element name="Setup" type="CommandType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ToolContainer">
		<xs:sequence>
			<xs:element name="Tool" type="CommandType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ActionContainer">
		<xs:sequence>
			<xs:element name="Action" type="CommandActionType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StateChangeType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="OK" type="ActionContainer"/>
			<xs:element name="Warn" type="ActionContainer"/>
			<xs:element name="Alarm" type="ActionContainer"/>
			<xs:element name="Offline" type="ActionContainer"/>
			<xs:element name="Void" type="ActionContainer"/>
			<xs:element name="DataArrived" type="ActionContainer"/>
			<xs:element name="Shutdown" type="ActionContainer"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="CommandtypeType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="Template" type="CommandtextType"/>
			<xs:element name="TermText" type="CommandtextType"/>
			<xs:element name="PreText" type="CommandtextType"/>
			<xs:element name="PostText" type="CommandtextType"/>
		</xs:choice>
		<xs:attribute name="name" type="xs:string" use="optional"/>
		<xs:attribute name="killGroup" type="xs:boolean" use="optional"/>
		<xs:attribute name="killSignal" type="xs:byte" use="optional"/>
	</xs:complexType>
	<xs:complexType name="CommandtypeContainer">
		<xs:sequence>
			<xs:element name="Commandtype" type="CommandtypeType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ParamMetadataContainer">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="ParamMetadataAttr"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ParameterType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="BaseCommand" type="ComputerCommandContainer"/>
			<xs:element name="Ranges" type="RangeContainer"/>
			<xs:element name="ParamMetadata" type="ParamMetadataContainer"/>
		</xs:choice>
		<xs:attributeGroup ref="ParamAttr"/>
	</xs:complexType>
	<xs:complexType name="ParameterContainer">
		<xs:sequence>
			<xs:element name="Parameter" type="ParameterType" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MenuCommandContainer">
		<xs:sequence>
			<xs:element name="MenuCommand" type="MenuCommandType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="MenuCommandType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="BaseCommand" type="ComputerCommandContainer"/>
			<xs:element name="Task" type="TaskType"/>
			<xs:element name="MenuCmdConfigurationMetadata" type="KMConfigurationMetadataType">
				<xs:annotation>
					<xs:documentation>configuration metadata Specification</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="MenuCommand" type="MenuCommandType"/>
		</xs:choice>
		<xs:attributeGroup ref="MenuCommandAttr"/>
	</xs:complexType>
	<xs:complexType name="ComputerType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="StateChange" type="StateChangeType"/>
			<xs:element name="MenuCommands" type="MenuCommandContainer"/>
			<xs:element name="InfoBoxes" type="InfoBoxContainer"/>
			<xs:element name="Setups" type="SetupContainer"/>
			<xs:element name="Tools" type="ToolContainer"/>
			<xs:element name="Parameters" type="ParameterContainer"/>
			<xs:element name="Environment" type="EnvVariableContainer"/>
			<xs:element name="Account" type="AccountType"/>
			<xs:element name="Commandtypes" type="CommandtypeContainer"/>
		</xs:choice>
		<xs:attributeGroup ref="ObjectAttr"/>
		<xs:attributeGroup ref="ComputerAttr"/>
	</xs:complexType>
	<xs:complexType name="ComputerContainer">
		<xs:sequence>
			<xs:element name="Computer" type="ComputerType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ApplicationType">
		<xs:choice minOccurs="0" maxOccurs="unbounded">
			<xs:element name="StateChange" type="StateChangeType"/>
			<xs:element name="MenuCommands" type="MenuCommandContainer"/>
			<xs:element name="InfoBoxes" type="InfoBoxContainer"/>
			<xs:element name="Setups" type="SetupContainer"/>
			<xs:element name="Tools" type="ToolContainer"/>
			<xs:element name="Parameters" type="ParameterContainer"/>
			<xs:element name="Environment" type="EnvVariableContainer"/>
			<xs:element name="Account" type="AccountType"/>
			<xs:element name="Commandtypes" type="CommandtypeContainer"/>
			<xs:element name="SimpleFiles" type="SimpleFileContainer"/>
			<xs:element name="SimpleDaemons" type="SimpleDaemonContainer"/>
			<xs:element name="PreDiscoveryText" type="CommandtextType"/>
			<xs:element name="DiscoveryText" type="CommandtextType"/>
			<xs:element name="KMConfigurationMetadata" type="KMConfigurationMetadataType">
				<xs:annotation>
					<xs:documentation>configuration metadata Specification</xs:documentation>
				</xs:annotation>
			</xs:element>
<!-- 			<xs:any minOccurs="0"/>  -->
		</xs:choice>
		<xs:attributeGroup ref="ObjectAttr"/>
		<xs:attributeGroup ref="ApplAttr"/>
		<xs:attributeGroup ref="ApplMetadata"/>
	</xs:complexType>
	<xs:complexType name="ApplicationContainer">
		<xs:sequence>
			<xs:element name="Application" type="ApplicationType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="PragmaContainer">
		<xs:sequence>
			<xs:element name="Pragma" type="xs:string" minOccurs="1" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="KMFileType">
		<xs:sequence>
			<xs:element name="Pragmas" type="PragmaContainer" minOccurs="0"/>
			<xs:element name="Computers" type="ComputerContainer" minOccurs="0"/>
			<xs:element name="Applications" type="ApplicationContainer" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="VersionAttr"/>
	</xs:complexType>

	<xs:complexType name="KMLevelConfigurationType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="KMConfigAttr"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="ParamContainer">
		<xs:sequence>
			<xs:element name="Param" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="InputValidationRuleType" mixed="true">
		<xs:sequence>
			<xs:element name="Params" type="ParamContainer" minOccurs="0"/>
		</xs:sequence>
		<xs:attribute name="id" type="xs:string" use="required"/>
	</xs:complexType>
	<xs:complexType name="InputValidationRuleContainer">
		<xs:sequence>
			<xs:element name="InputValidationRule" type="InputValidationRuleType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="EnumeratorType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="label" type="xs:string" use="required"/>
				<xs:attribute name="id" type="xs:string" use="optional"/>
				<xs:attribute name="i18nIdForLabel" type="xs:string" use="optional"/>
				<xs:attribute name="value" type="xs:short" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="EnumeratorContainer">
		<xs:sequence>
			<xs:element name="Enumerator" type="EnumeratorType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="StringType" mixed="true">
		<xs:sequence>
			<xs:element name="InputValidationRules" type="InputValidationRuleContainer" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="BaseConfigAttr"/>
		<xs:attributeGroup ref="ExtraConfigAttr"/>
		<xs:attributeGroup ref="StringTypeattrGrp"/>		
	</xs:complexType>
	<xs:complexType name="BooleanType" mixed="true">
		<xs:attributeGroup ref="BaseConfigAttr"/>
		<xs:attributeGroup ref="ExtraConfigAttr"/>
	</xs:complexType>
	<xs:complexType name="CounterType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attributeGroup ref="BaseConfigAttr"/>
				<xs:attributeGroup ref="ExtraConfigAttr"/>
				<xs:attribute name="minValue" type="xs:short" use="required"/>
				<xs:attribute name="maxValue" type="xs:short" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:complexType name="EnumType" mixed="true">
		<xs:sequence>
			<xs:element name="Enumerators" type="EnumeratorContainer"/>
		</xs:sequence>
		<xs:attributeGroup ref="BaseConfigAttr"/>
		<xs:attributeGroup ref="ExtraConfigAttr"/>
	</xs:complexType>
	<xs:complexType name="MultiSelectType" mixed="true">
		<xs:sequence>
			<xs:element name="Enumerators" type="EnumeratorContainer" minOccurs="0"/>
			<xs:element name="InputValidationRules" type="InputValidationRuleContainer" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="BaseConfigAttr"/>
		<xs:attributeGroup ref="ExtraConfigAttr"/>
	</xs:complexType>
	<xs:complexType name="AccountNameType" mixed="true">
		<xs:sequence>
			<xs:element name="InputValidationRules" type="InputValidationRuleContainer" minOccurs="0"/>
		</xs:sequence>
		<xs:attributeGroup ref="BaseConfigAttr"/>
		<xs:attributeGroup ref="ExtraConfigAttr"/>
		<xs:attribute name="renderAsAttributeGroup" type="xs:string" use="optional"/>
	</xs:complexType>
	<xs:complexType name="AnyConfigType" mixed="true">
		<xs:choice>
			<xs:element name="String" type="StringType"/>
			<xs:element name="Boolean" type="BooleanType"/>
			<xs:element name="Counter" type="CounterType"/>
			<xs:element name="Enum" type="EnumType"/>
			<xs:element name="MultiSelect" type="MultiSelectType"/>
			<xs:element name="AccountName" type="AccountNameType"/>
			<xs:element name="AttributeSet" type="AttributeSetType"/>
			<xs:element name="List" type="ListType"/>
		</xs:choice>
	</xs:complexType>
	<xs:complexType name="AttributeSetType">
		<xs:sequence>
			<xs:element name="Attribute" type="AnyConfigType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
		<xs:attributeGroup ref="AttributeSetAttr"/>
	</xs:complexType>
	<xs:complexType name="ListType" mixed="true">
		<xs:complexContent>
			<xs:extension base="AnyConfigType">
				<xs:sequence>
					<xs:element name="InputValidationRules" type="InputValidationRuleContainer" minOccurs="0"/>
				</xs:sequence>
				<xs:attributeGroup ref="BaseConfigAttr"/>
				<xs:attribute name="isMandatory" type="xs:string" use="optional"/>
				<xs:attribute name="indexedBy" type="xs:string" use="required"/>
				<xs:attribute name="renderAsTextBox" type="xs:string" use="optional"/>
				<xs:attribute name="elementSeparator" type="xs:string" use="optional"/>
				<xs:attribute name="renderAsCollapsed" type="xs:string" use="optional"/>
				<xs:attribute name="renderAsPopup" type="xs:string" use="optional"/>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="ConfigurationParameterContainer">
		<xs:sequence>
			<xs:element name="ConfigurationParameter" type="AnyConfigType" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="KMConfigurationMetadataType">
		<xs:sequence>
			<xs:element name="KMLevelConfiguration" type="KMLevelConfigurationType"/>
			<xs:element name="ConfigurationParameters" type="ConfigurationParameterContainer"/>
<!-- 			<xs:any minOccurs="0"/>  -->
		</xs:sequence>
	</xs:complexType>

	<xs:element name="KMFile" type="KMFileType"/>
</xs:schema>
Was this page helpful? Yes No Submitting... Thank you

Comments