<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:element name="CapabilityProfiling">
		<xs:complexType>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="Type">
					<xs:complexType>
						<xs:attribute name="id" type="xs:string" use="required"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="CapabilityProfile">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Pkgtype">
								<xs:complexType>
									<xs:attribute name="version" type="xs:string" form="unqualified"/>
								</xs:complexType>
							</xs:element>
							<xs:element name="Common" type="CommonPartType"/>
							<xs:element name="Specific" type="SpecificPartType"/>
						</xs:sequence>
						<xs:attribute name="date" type="xs:string" form="unqualified"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="CommonPartType">
		<xs:sequence>
			<xs:choice>
				<xs:element name="Requirement">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ID" type="xs:string"/>
						</xs:sequence>
						<xs:attribute name="id" type="xs:string" form="unqualified"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="MSU_Capability">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="ID" type="xs:string"/>
						</xs:sequence>
						<xs:attribute name="id" type="xs:string" form="unqualified"/>
					</xs:complexType>
				</xs:element>
			</xs:choice>
			<xs:sequence maxOccurs="unbounded">
				<xs:element name="ReferenceCapabilityClassStructure">
					<xs:complexType>
						<xs:attribute name="id" type="xs:string" form="unqualified"/>
						<xs:attribute name="name" type="xs:string" form="unqualified"/>
						<xs:attribute name="version" type="xs:string" form="unqualified"/>
						<xs:attribute name="url" type="xs:string" form="unqualified"/>
					</xs:complexType>
				</xs:element>
				<xs:element name="TemplateID">
					<xs:complexType>
						<xs:attribute name="id" type="xs:string" form="unqualified"/>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:element name="Capability_Class_Name">
				<xs:complexType>
					<xs:attribute name="name" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Reference_Capability_Class_Structure_Name">
				<xs:complexType>
					<xs:attribute name="name" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Version">
				<xs:complexType>
					<xs:attribute name="major" type="xs:string" form="unqualified"/>
					<xs:attribute name="minor" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Owner">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Name" type="xs:string" minOccurs="0"/>
						<xs:element name="Street" type="xs:string" minOccurs="0"/>
						<xs:element name="City" type="xs:string" minOccurs="0"/>
						<xs:element name="Zip" type="xs:string" minOccurs="0"/>
						<xs:element name="State" type="xs:string" minOccurs="0"/>
						<xs:element name="Country" type="xs:string" minOccurs="0"/>
						<xs:element name="Comment" type="xs:string" minOccurs="0"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="ComputingFacilities" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="Processor" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="type" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="OperatingSystem" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="type" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="Language" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="name" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="Memory" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="size" type="xs:string" form="unqualified"/>
								<xs:attribute name="unit" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="DiskSpace" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="size" type="xs:string" form="unqualified"/>
								<xs:attribute name="unit" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
					<xs:attribute name="type" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="Performance" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="elapsedTime" type="xs:string" form="unqualified"/>
					<xs:attribute name="transactionsPerUnitTime" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="ReliabilityData" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="UsageHistory" type="xs:string" minOccurs="0"/>
						<xs:element name="Shipments" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="number" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="IntendedSafetyIntegrity" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="level" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
						<xs:element name="Certification" minOccurs="0" maxOccurs="unbounded">
							<xs:complexType>
								<xs:attribute name="number" type="xs:string" form="unqualified"/>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="SupportPolicy" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="index" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="PriceData" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="invest" type="xs:string" form="unqualified"/>
					<xs:attribute name="annualSupport" type="xs:string" form="unqualified"/>
					<xs:attribute name="unit" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="ReferenceDictionaryName">
				<xs:complexType>
					<xs:attribute name="name" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfProfileAttributes" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfMethods" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfResources" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfConstraints" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfExtensions" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfLowerLevels" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="NumberOfSubtemplatesAtNextLowerLevel" minOccurs="0" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="number" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="SpecificPartType">
		<xs:sequence>
			<xs:element name="Reference_MDM_Name">
				<xs:complexType>
					<xs:attribute name="domain_name" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="MDD_Description_Format">
				<xs:complexType>
					<xs:attribute name="format_name" type="xs:string" form="unqualified"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="MDD_Description">
				<xs:complexType>
					<xs:sequence>
						<xs:choice>
							<xs:element name="Set_Of_MDD_Objects">
								<xs:complexType>
									<xs:sequence minOccurs="0" maxOccurs="unbounded">
										<xs:element name="MDD_Name">
											<xs:complexType>
												<xs:attribute name="name" type="xs:string" form="unqualified"/>
												<xs:attribute name="action" type="xs:string" form="unqualified"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="List_Of_MDD_Objects">
								<xs:complexType>
									<xs:sequence minOccurs="0" maxOccurs="unbounded">
										<xs:element name="MDD_Name">
											<xs:complexType>
												<xs:attribute name="name" type="xs:string" form="unqualified"/>
												<xs:attribute name="action" type="xs:string" form="unqualified"/>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Time_Ordered_MDD_Objects">
								<xs:complexType>
									<xs:sequence minOccurs="0" maxOccurs="unbounded">
										<xs:element name="Time_Occurrence_Of_MDD_Object">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="MDD_Name">
														<xs:complexType>
															<xs:attribute name="name" type="xs:string" form="unqualified"/>
															<xs:attribute name="action" type="xs:string" form="unqualified"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="MDD_Qualifiers">
														<xs:complexType>
															<xs:sequence minOccurs="0" maxOccurs="unbounded">
																<xs:element name="Qualifier_Name">
																	<xs:complexType>
																		<xs:attribute name="name" type="xs:string" form="unqualified"/>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="Event_Ordered_MDD_Objects">
								<xs:complexType>
									<xs:sequence minOccurs="0" maxOccurs="unbounded">
										<xs:element name="Event_Occurrence_Of_MDD_Object">
											<xs:complexType>
												<xs:sequence>
													<xs:element name="MDD_Name">
														<xs:complexType>
															<xs:attribute name="name" type="xs:string" form="unqualified"/>
															<xs:attribute name="action" type="xs:string" form="unqualified"/>
														</xs:complexType>
													</xs:element>
													<xs:element name="MDD_Qualifiers">
														<xs:complexType>
															<xs:sequence minOccurs="0" maxOccurs="unbounded">
																<xs:element name="Qualifier_Name">
																	<xs:complexType>
																		<xs:attribute name="name" type="xs:string" form="unqualified"/>
																	</xs:complexType>
																</xs:element>
															</xs:sequence>
														</xs:complexType>
													</xs:element>
												</xs:sequence>
											</xs:complexType>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="List_Of_CC_Attributes" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="List_Of_CC_Methods" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="List_Of_CC_Resources" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="List_Of_CC_Constraints" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="List_Of_CC_Extensions" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="List_Of_CC_Lower_Levels" minOccurs="0" maxOccurs="unbounded"/>
			<xs:element name="List_Of_CC_Subtemplates" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>


