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