<?xml version="1.0" encoding="UTF-8"?>
<!-- IBM_PROLOG_BEGIN_TAG                                                   -->
<!-- This is an automatically generated prolog.                             -->
<!--                                                                        -->
<!-- bos720 src/bos/usr/bin/mpstat/mpstat_schema.xsd 1.1                    -->
<!--                                                                        -->
<!-- Licensed Materials - Property of IBM                                   -->
<!--                                                                        -->
<!-- COPYRIGHT International Business Machines Corp. 2010,2011              -->
<!-- All Rights Reserved                                                    -->
<!--                                                                        -->
<!-- US Government Users Restricted Rights - Use, duplication or            -->
<!-- disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      -->
<!--                                                                        -->
<!-- IBM_PROLOG_END_TAG                                                     -->
<! @(#)46	1.1  src/bos/usr/bin/mpstat/mpstat_schema.xsd, cmdperfstat, bos720 7/19/11 11:32:43
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<!-- There are 2 different parts in this Schema. The first one is common to all IBM XML tools, the second is mpstat specific -->
	<!-- ########################################################################### -->
	<!-- High level description							 -->
	<!-- ########################################################################### -->
	<xsd:element name="PerformanceMeasurement">
		<xsd:complexType>
			<xsd:sequence>
				<!-- This tag is consumed by the VPA tool. This is a common part to all IBM XML tools. -->
				<xsd:element name="ProcessingHeader" type="ProcessingHeaderType" minOccurs="0" maxOccurs="1"/>
				<!-- This tag is consumed by the VPA tool. This is a common part to all IBM XML tools. -->
				<xsd:element name="ChassisDescription" type="ChassisDescriptionType" minOccurs="0" maxOccurs="1"/>
				<!-- This tag is consumed by the VPA tool. This is a common part to all IBM XML tools. -->
				<xsd:element name="NodeDescription" type="NodeDescriptionType" minOccurs="0" maxOccurs="unbounded"/>
				<!-- This tag contains common and VMSTAT tags -->
				<xsd:element name="CollectionDataSet" type="CollectionDataType" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
<!-- ########################################################################### 	-->		
<!-- Details level description 								-->
<!-- ########################################################################### 	-->
	<xsd:element name="ProcessingHeader" type="ProcessingHeaderType" />
<!-- Optional.  If missing, process as <Command>New</Command>  -->

	<xsd:element name="ChassisDescription" type="ChassisDescriptionType">
<!-- Required -->
	</xsd:element>

	<xsd:element name="NodeDescription" type="NodeDescriptionType">
<!-- Required -->
	</xsd:element>

	<xsd:element name="CollectionDataSet" type="CollectionDataType">
<!-- Required -->
	</xsd:element>
<!-- Notes which can be added in some tags to add information depending on the platform -->
	<xsd:complexType name="TaggedNotesType">
		<xsd:sequence>
			<xsd:element name="NoteTag" minOccurs="0" maxOccurs="unbounded" type="NodeTagType">
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
<!-- Give details about the machine chassis. Not all fields are filled by MPSTAT -->
<!-- MPSTAT does not fill all the tags -->
	<xsd:complexType name="ChassisDescriptionType">
		<xsd:sequence>
			<xsd:element name="TotalNodes" type="xsd:string" minOccurs="1" maxOccurs="1">
			</xsd:element><!-- Required -->
			<xsd:element name="NodeTopology" minOccurs="0" maxOccurs="1">
<!-- Optional, if <TotalNodes> is "1" -->
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="NodeLink" type="xsd:string">
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="ChassisGroups" minOccurs="0"
				maxOccurs="1">
<!-- Optional, if <TotalNodes> is "1" -->
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Chassis">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="Description"	type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Optional -->									
									</xsd:element>
									<xsd:element name="NodeList" type="xsd:string" minOccurs="1" maxOccurs="1">
<!-- Required -->
									</xsd:element>
								</xsd:sequence>
								<xsd:attribute name="ChassisId"	type="xsd:string">
								</xsd:attribute>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

<!-- This complex element gives details about each Node of the Chassis. This is also a common part to all IBM XML based tools. -->
<!-- MPSTAT does not fill all the tags -->	
	<xsd:complexType name="NodeDescriptionType">
		<xsd:sequence minOccurs="0" maxOccurs="unbounded">
			<xsd:element name="HardwareDescription" minOccurs="0" maxOccurs="1">
<!-- Required -->
				<xsd:complexType>
					<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<!-- 
	This area needs work.  
	If "SystemType" and "SystemModel" are set properly, "LabSystemName" and "LabCpuName" are not needed.
	However, early on only "LabSystemName" and "LabCpuName" are available.
-->
						<xsd:element name="LabSystemName" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element>
						<xsd:element name="LabCpuName" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element>
						<xsd:element name="CpuClockMhz" type="xsd:double" minOccurs="0" maxOccurs="1">
						</xsd:element>
						<xsd:element name="SystemMemory" type="xsd:long" minOccurs="0" maxOccurs="1">
						</xsd:element><!-- Optional -->
						<xsd:element name="AvailableProcessorIds" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Optional if "SystemType" and "SystemModel" are set properly and there are no disabled processors.  -->
						</xsd:element>
						<xsd:element name="TaggedNotes" minOccurs="0" maxOccurs="1">
<!-- Optional, see comment above. -->
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="NoteTag" type="NodeTagType" minOccurs="0" maxOccurs="unbounded">
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="HardwareClass" type="xsd:string">
					</xsd:attribute>
				</xsd:complexType>
			</xsd:element>
<!-- Firmware information are put here when available -->
<!-- MPSTAT does not fill all the tags -->
			<xsd:element name="FirmwareDescription" minOccurs="0" maxOccurs="1">
<!-- Required -->
				<xsd:complexType>
					<xsd:sequence minOccurs="0" maxOccurs="unbounded">
						<xsd:element name="FspName" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element><!-- Required -->
						<xsd:element name="FspVersion" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element><!-- Required -->
						<xsd:element name="PhypVersion" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element><!-- Required -->
						<xsd:element name="PfwVersion" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element><!-- Required -->
						<xsd:element name="PhypBuildDirectory" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
<!-- Logical Partition information are put here when available -->
<!-- MPSTAT does not fill all the tags -->
			<xsd:element name="LogicalPartitionDescription" minOccurs="0" maxOccurs="1">
<!-- Required -->
				<xsd:complexType>
					<xsd:sequence minOccurs="0" maxOccurs="unbounded">
						<xsd:element name="HardwareDescription"	minOccurs="0" maxOccurs="1">
<!-- Required -->
							<xsd:complexType>
								<xsd:sequence minOccurs="0" maxOccurs="unbounded">
									<xsd:element name="NumberConfiguredProcessors" type="xsd:integer" minOccurs="0" maxOccurs="1">
<!-- Required -->
									</xsd:element>
									<xsd:element name="PartitionProcessorMap" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Optional if "SystemType" and "SystemModel" are set properly and all processors are used.  -->
									</xsd:element>
									<xsd:element name="TaggedNotes"	type="TaggedNotesType" minOccurs="0" maxOccurs="1">
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="LogicalPartitionConfiguration" minOccurs="0" maxOccurs="1">
<!-- Optional, only if there is a single dedicated partition on the system. -->
							<xsd:complexType>
								<xsd:sequence minOccurs="0" maxOccurs="unbounded">
									<xsd:element name="LogicalPartitionType" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Required if "LogicalPartitionConfiguration" -->
									</xsd:element>
									<xsd:element name="CappedAttribute" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Required if "LogicalPartitionConfiguration" -->
									</xsd:element>
									<xsd:element name="EntitledCapacity" type="xsd:integer" minOccurs="0" maxOccurs="1">
<!-- Required if "LogicalPartitionConfiguration" -->
									</xsd:element>
									<xsd:element name="UncappedWeight" type="xsd:integer" minOccurs="0" maxOccurs="1">
<!-- Required if "LogicalPartitionConfiguration" -->
									</xsd:element>
								</xsd:sequence>
								<xsd:attribute name="Name" type="xsd:string">
								</xsd:attribute>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="SoftwareDescription"	minOccurs="0" maxOccurs="1">
<!-- Required -->
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="SwDesc" minOccurs="0" maxOccurs="unbounded">
<!-- Required "OperatingSystem"-->
										<xsd:complexType>
											<xsd:sequence minOccurs="0" maxOccurs="unbounded">
												<xsd:element name="Description" type="xsd:string" minOccurs="0"> </xsd:element>
												<xsd:element name="TaggedNotes" type="TaggedNotesType" minOccurs="0"> </xsd:element>
												<xsd:element name="HwThreadMode" type="xsd:string" minOccurs="0"> </xsd:element>
											</xsd:sequence>
											<xsd:attribute name="Family" type="xsd:string">
											</xsd:attribute>
											<xsd:attribute name="Name" type="xsd:string">
											</xsd:attribute>
											<xsd:attribute name="Version" type="xsd:string">
											</xsd:attribute>
										</xsd:complexType>
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
<!-- A workload is the program used to procude the output. In MPSTAT, the workload is just mpstat itself -->
						<xsd:element name="Workload" minOccurs="0" maxOccurs="1">
<!-- Required -->
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="RunByUser" type="xsd:string" minOccurs="1" maxOccurs="1">
<!-- Required -->
									</xsd:element>
									<xsd:element name="ShortLegend"	type="xsd:string" minOccurs="1" maxOccurs="1">
<!-- Required -->
									</xsd:element>
									<xsd:element name="Description"	type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Optional, this tag contains the content of the MPSTAT  option -->
									</xsd:element>
									<xsd:element name="TaggedNotes"	type="TaggedNotesType" minOccurs="0" maxOccurs="1">
<!-- Optional -->
									</xsd:element>
								</xsd:sequence>
								<xsd:attribute name="Name" type="xsd:string">
								</xsd:attribute>
								<xsd:attribute name="Version" type="xsd:string">
								</xsd:attribute>
								<xsd:attribute name="WorkloadFamily" type="xsd:string">
								</xsd:attribute>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="LparId" type="xsd:integer">
					</xsd:attribute>
					<xsd:attribute name="Hostname" type="xsd:string">
					</xsd:attribute>
				</xsd:complexType>
			</xsd:element>
<!-- The Validation tag is not used by MPSTAT at all -->
			<xsd:element name="Validation" type="xsd:string" minOccurs="0" maxOccurs="1"></xsd:element>
		</xsd:sequence>
		<xsd:attribute name="NodeClass" type="xsd:string"></xsd:attribute>
		<xsd:attribute name="NodeId" type="xsd:integer"></xsd:attribute>
	</xsd:complexType>



<!-- ########################################################################### 	-->		
<!-- Common Collection tags which contain also MPSTAT specific case. START 		-->
<!-- ########################################################################### 	-->
	<xsd:complexType name="CollectionDataType">
		<xsd:sequence>
<!-- Move the DataContext at this level to avoid duplicate the info -->
			
<!-- A Collection Frame matches a MPSTAT run.  you will have 1 CollectionFrame per 1 iteration -->
			<xsd:element name="CollectionFrame" minOccurs="1" maxOccurs="unbounded">
<!-- Required -->
				<xsd:complexType>
					<xsd:sequence minOccurs="0" maxOccurs="unbounded">
						<xsd:element name="XmlFormatVersion" type="xsd:string" minOccurs="0" maxOccurs="1">
						</xsd:element>

						<xsd:element name="CollectionHeader" minOccurs="0" maxOccurs="1">
<!-- Required -->
							<xsd:complexType>
								<xsd:sequence minOccurs="0" maxOccurs="unbounded">
									<xsd:element name="CollectedByUser" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Required -->
									</xsd:element>
									<xsd:element name="CollectionTool" minOccurs="0" maxOccurs="1"> 
<!-- Required -->
										<xsd:complexType>
											<xsd:sequence minOccurs="0" maxOccurs="unbounded">
												<xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Required -->
												</xsd:element>
												<xsd:element name="Command" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
<!-- Required -->
												</xsd:element>
												<xsd:element name="Version" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- Required -->
												</xsd:element>
											</xsd:sequence>
											<xsd:attribute name="Name" type="xsd:string">
											</xsd:attribute>
											<xsd:attribute name="Units" type="xsd:string">
											</xsd:attribute>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="TimePeriod" minOccurs="0" maxOccurs="1">
<!-- Required -->
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="TimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded">
												</xsd:element>
												<xsd:element name="TimeDuration" type="TimeDurationType" minOccurs="0" maxOccurs="unbounded">
												</xsd:element>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="StartedByUser" type="xsd:string" minOccurs="0"> 
									</xsd:element>
									<xsd:element name="Validation" minOccurs="0" maxOccurs="1">
										<xsd:complexType>
											<xsd:sequence minOccurs="0" maxOccurs="unbounded">
												<xsd:element name="GeneralStatus" type="xsd:string" minOccurs="0" maxOccurs="1">
												</xsd:element>
												<xsd:element name="ReviewedBy" type="xsd:string" minOccurs="0" maxOccurs="1">
												</xsd:element>
												<xsd:element name="TimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="1">
												</xsd:element>
												<xsd:element name="InvalidReason" type="xsd:string" minOccurs="0" maxOccurs="1">
												</xsd:element>
												<xsd:element name="Comments" type="xsd:string" minOccurs="0" maxOccurs="1">
												</xsd:element>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="CollectionID" type="xsd:integer" minOccurs="0" maxOccurs="1">
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
<!-- ########################################################################### 	-->		
<!-- MPSTAT Specific tags and types START 						-->
<!-- ########################################################################### 	-->
						<xsd:element name="CollectedData" minOccurs="0" maxOccurs="1">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="SystemConfiguration" minOccurs="0" maxOccurs="1">
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="Mode" type="xsd:string" minOccurs="1" maxOccurs="1"/>
												<xsd:element name="Lcpus" type="xsd:unsignedInt"  minOccurs="1" maxOccurs="1"/>
												<xsd:element name="Entitlement" type="xsd:double"  minOccurs="0" maxOccurs="1"/>
												
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									
									<xsd:element name="CPUStats" minOccurs="1" maxOccurs="unbounded">
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="CPUUtil" minOccurs="0" maxOccurs="1">
													<xsd:complexType>
														<xsd:sequence>
															<xsd:element name="User" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="System" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Wait" type="xsd:double" minOccurs="1" maxOccurs="1" />
															<xsd:element name="Idle" type="xsd:double" minOccurs="1" maxOccurs="1" />
															<xsd:element name="PhysicalConsumption" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="EntitlementConsumedPercentage" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="IdleDonated" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="BusyDonated" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="IdleStolen" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="BusyStolen" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="MinorPageFault" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="MajorPageFault" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="mpcSendInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="mpcReceiveInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="mpcInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="DeviceInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="SoftwareInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="DecrementerInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="PhantomInterrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Interrupt" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="ContextSwitch" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="InvoluntaryContextSwitch" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="BoundThread" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="RunQ" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Push" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="S3pull" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="S3grd" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Migration" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Dom0ReDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Dom1ReDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Dom2ReDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Dom3ReDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Dom4ReDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Dom5ReDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="LocalDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="NearDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="FarDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="LogicalProcAffinity" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="LocalDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="NearDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="FarDispatch" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="SysCall" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="NumFork" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="Traps" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="InvolLogicalContextSw" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="VolLogicalContextSw" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="LogicalContextSw" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1" />
															<xsd:element name="UnaccountedTurboCyc" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="UnaccountedUserTurboCyc" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="UnaccountedSysTurboCyc" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="UnaccountedIdleTurboCyc" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="UnaccountedWaitTurboCyc" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="AvailPoolProc" type="xsd:double" minOccurs="0" maxOccurs="1" />
															<xsd:element name="nsp" type="xsd:integer" minOccurs="0" maxOccurs="1" />
														</xsd:sequence>
														<xsd:attribute name="CPUID" type="xsd:string" />
													</xsd:complexType>
												</xsd:element>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>

									<xsd:element name="PhysicalCPUStats" minOccurs="0" maxOccurs="1">
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="PCPU" type="PCPUListType" minOccurs="0" maxOccurs="unbounded" >
													
												</xsd:element>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
															
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="CollectionFooter" minOccurs="0" maxOccurs="1">
<!-- NOT Required -->
							<xsd:complexType>
								<xsd:sequence minOccurs="0" maxOccurs="unbounded">
									<xsd:element name="CollectedByUser" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- NOT Required -->
									</xsd:element>
									<xsd:element name="CollectionTool" minOccurs="0" maxOccurs="1"> 
<!-- NOT Required -->
										<xsd:complexType>
											<xsd:sequence minOccurs="0" maxOccurs="unbounded">
												<xsd:element name="Name" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- NOT Required -->
												</xsd:element>
												<xsd:element name="Command" type="xsd:string" minOccurs="0" maxOccurs="unbounded">
<!-- NOT Required -->
												</xsd:element>
												<xsd:element name="Version" type="xsd:string" minOccurs="0" maxOccurs="1">
<!-- NOT Required -->
												</xsd:element>
											</xsd:sequence>
											<xsd:attribute name="Name" type="xsd:string">
											</xsd:attribute>
											<xsd:attribute name="Units" type="xsd:string">
											</xsd:attribute>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="TimePeriod" minOccurs="0" maxOccurs="1">
<!-- Required -->
										<xsd:complexType>
											<xsd:sequence>
												<xsd:element name="TimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="unbounded">
												</xsd:element>
												<xsd:element name="TimeDuration" type="TimeDurationType" minOccurs="0" maxOccurs="unbounded">
												</xsd:element>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="StartedByUser" type="xsd:string" minOccurs="0"> 
									</xsd:element>
									<xsd:element name="CollectionID" type="xsd:integer" minOccurs="0" maxOccurs="1">
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>	
	</xsd:complexType>
<!-- ########################################################################### 	-->		
<!-- MPSTAT Specific types used in the MparstatData tag START 				-->
<!-- ########################################################################### 	-->
	<xsd:complexType name="ProcessingHeaderType">
		<xsd:sequence minOccurs="0"
			maxOccurs="unbounded">
			<xsd:element name="Command"
				type="xsd:string" minOccurs="0" maxOccurs="1">
			</xsd:element><!-- Required if <ProcessingHeader> present -->
			<xsd:element name="XmlFormatVersion" type="xsd:string" maxOccurs="1" minOccurs="0">
			</xsd:element><!-- Required if <ProcessingHeader> present -->
			<xsd:element name="TimeStamp"
				maxOccurs="unbounded" minOccurs="0" type="TimeStampType">
			</xsd:element><!-- Required if <ProcessingHeader> present -->
			<xsd:element name="CollectionId"
				type="xsd:integer" maxOccurs="1" minOccurs="0">
			</xsd:element><!-- Optional if <ProcessingHeader> present -->
			<xsd:element name="ProcessingID"
				type="xsd:string" minOccurs="0" maxOccurs="1">
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="TimeStampType">
		<xsd:simpleContent>
			<xsd:extension
				base="xsd:string">
				<xsd:attribute name="Type" type="xsd:string">
				</xsd:attribute>
				<xsd:attribute name="Units" type="xsd:string">
				</xsd:attribute>
				<xsd:attribute name="Name" type="xsd:string">
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:complexType name="TimeDurationType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="Name" type="xsd:string">
				</xsd:attribute>
				<xsd:attribute name="Units" type="xsd:string">
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:complexType name="NodeTagType">
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="Key" type="xsd:string">
				</xsd:attribute>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>

	<xsd:complexType name="LCPUListType">
		<xsd:sequence>
			<xsd:element name="PhysicalCpuPercent" type="xsd:double" minOccurs="1" maxOccurs="1" />
		</xsd:sequence>
		<xsd:attribute name="ID" type="xsd:string" />
	</xsd:complexType>

	<xsd:complexType name="PCPUListType">
		<xsd:sequence>
			<xsd:element name="PhysicalCpuPercent" type="xsd:double" minOccurs="0" maxOccurs="1" />
			
			
			<xsd:element name="Lcpu" type="LCPUListType" minOccurs="2" maxOccurs="8" />
						     
				
		</xsd:sequence>
		<xsd:attribute name="ID" type="xsd:string" />
	</xsd:complexType>
	

</xsd:schema>
