<?xml version="1.0" encoding="UTF-8"?>
<!-- IBM_PROLOG_BEGIN_TAG                                                   -->
<!-- This is an automatically generated prolog.                             -->
<!--                                                                        -->
<!-- bos720 src/bos/usr/bin/iostat/iostat_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                                                     -->
<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 iostat 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 IOSTAT 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:sequence>
	</xsd:complexType>
	<!-- Give details about the machine chassis. Not all fields are filled by IOSTAT -->
	<!-- IOSTAT does not fill all the tags -->
	<xsd:complexType name="ChassisDescriptionType">
		<xsd:sequence>
			<xsd:element name="TotalNodes" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<!-- 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: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: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. -->
	<!-- IOSTAT 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 name="LabCpuName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="CpuClockMhz" type="xsd:double" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="SystemMemory" type="xsd:long" minOccurs="0" maxOccurs="1"/>
						<!-- 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:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="HardwareClass" type="xsd:string"/>
				</xsd:complexType>
			</xsd:element>
			<!-- Firmware information are put here when available -->
			<!-- IOSTAT 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"/>
						<!-- Required -->
						<xsd:element name="FspVersion" type="xsd:string" minOccurs="0" maxOccurs="1"/>
						<!-- Required -->
						<xsd:element name="PhypVersion" type="xsd:string" minOccurs="0" maxOccurs="1"/>
						<!-- Required -->
						<xsd:element name="PfwVersion" type="xsd:string" minOccurs="0" maxOccurs="1"/>
						<!-- Required -->
						<xsd:element name="PhypBuildDirectory" type="xsd:string" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<!-- Logical Partition information are put here when available -->
			<!-- IOSTAT 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: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: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 name="TaggedNotes" type="TaggedNotesType" minOccurs="0"/>
												<xsd:element name="HwThreadMode" type="xsd:string" minOccurs="0"/>
											</xsd:sequence>
											<xsd:attribute name="Family" type="xsd:string"/>
											<xsd:attribute name="Name" type="xsd:string"/>
											<xsd:attribute name="Version" type="xsd:string"/>
										</xsd:complexType>
									</xsd:element>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<!-- A workload is the program used to procude the output. In IOSTAT, the workload is just IOSTAT 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"/>
									<xsd:element name="TaggedNotes" type="TaggedNotesType" minOccurs="0" maxOccurs="1">
										<!-- Optional -->
									</xsd:element>
								</xsd:sequence>
								<xsd:attribute name="Name" type="xsd:string"/>
								<xsd:attribute name="Version" type="xsd:string"/>
								<xsd:attribute name="WorkloadFamily" type="xsd:string"/>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
					<xsd:attribute name="LparId" type="xsd:integer"/>
					<xsd:attribute name="Hostname" type="xsd:string"/>
				</xsd:complexType>
			</xsd:element>
			<!-- The Validation tag is not used by IOSTAT at all -->
			<xsd:element name="Validation" type="xsd:string" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
		<xsd:attribute name="NodeClass" type="xsd:string"/>
		<xsd:attribute name="NodeId" type="xsd:integer"/>
	</xsd:complexType>
	<!-- ########################################################################### 	-->
	<!-- Common Collection tags which contain also IOSTAT specific case. START 		-->
	<!-- ########################################################################### 	-->
	<xsd:complexType name="CollectionDataType">
		<xsd:sequence>
			<xsd:element name="SystemConfiguration" minOccurs="1" maxOccurs="1">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Lcpus" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Entitlement" type="xsd:float" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Drives" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Paths" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="VDisks" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Tapes" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Filesystem" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="MaxAIOServers" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="NumWpars" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="CpuLimit" type="xsd:unsignedInt" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Rset" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
			<!-- A Collection Frame matches one sample IOSTAT data collection per interval-->
			<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 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 name="Units" type="xsd:string"/>
										</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 name="TimeDuration" type="TimeDurationType" minOccurs="0" maxOccurs="unbounded"/>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="StartedByUser" type="xsd:string" minOccurs="0"/>
									<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 name="ReviewedBy" type="xsd:string" minOccurs="0" maxOccurs="1"/>
												<xsd:element name="TimeStamp" type="TimeStampType" minOccurs="0" maxOccurs="1"/>
												<xsd:element name="InvalidReason" type="xsd:string" minOccurs="0" maxOccurs="1"/>
												<xsd:element name="Comments" type="xsd:string" minOccurs="0" maxOccurs="1"/>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="CollectionID" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
						<!-- ########################################################################### 	-->
						<!-- IOSTAT Specific tags and types START 						-->
						<!-- ########################################################################### 	-->
						<xsd:element name="CollectedData" minOccurs="1" maxOccurs="1">
							<xsd:complexType>
								<xsd:sequence>
									<xsd:element name="AIOStats" type="AIOStatsType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="AIOQueueList" type="AIOQueueListType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="AIOQueFilesystemList" type="AIOQueFilesystemListType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="TTYStats" type="TTYStatsType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="CPUStats" type="CpuStatsType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="SystemWideStats" type="SystemWideStatsType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="AdapterList" type="AdapterListType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="VadapterList" type="VadapterListType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="PathStats" type="PathStatsType" minOccurs="0" maxOccurs="1"/>
									<xsd:element name="FilesystemList" type="FilesystemListType" minOccurs="0" maxOccurs="1"/>
								</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 name="Units" type="xsd:string"/>
										</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 name="TimeDuration" type="TimeDurationType" minOccurs="0" maxOccurs="unbounded"/>
											</xsd:sequence>
										</xsd:complexType>
									</xsd:element>
									<xsd:element name="StartedByUser" type="xsd:string" minOccurs="0"/>
									<xsd:element name="CollectionID" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
								</xsd:sequence>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<!-- ########################################################################### 	-->
	<!-- IOSTAT Specific types used in the CollectedData 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="CpuStatsType">
		<xsd:sequence>
			<xsd:element name="CPUUtil">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="User" type="xsd:float" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="System" type="xsd:float" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Wait" type="xsd:float" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="Idle" type="xsd:float" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="PhysicalConsumption" type="xsd:float" minOccurs="0" maxOccurs="1"/>
						<xsd:element name="EntitlementConsumedPercentage" type="xsd:float" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
					<xsd:attribute name="CPUID" type="xsd:string"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TTYStatsType">
		<xsd:sequence>
			<xsd:element name="ttyRead" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="ttyWrite" type="xsd:unsignedLong" minOccurs="1" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AdapterListType">
		<xsd:sequence>
			<xsd:element name="Adapter" type="AdapterType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="VadapterListType">
		<xsd:sequence>
			<xsd:element name="Vadapter" type="AdapterType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="AdapterType">
		<xsd:sequence>
			<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="XferStats" type="XferStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="ReadServiceStats" type="ReadServiceStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="WriteServiceStats" type="WriteServiceStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="WaitQueueStats" type="WaitQueueStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="DiskList" type="DiskListType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="TapeList" type="TapeListType" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="DiskListType">
		<xsd:sequence>
			<xsd:element name="Disk" type="DiskType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="DiskType">
		<xsd:sequence>
			<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="XferStats" type="XferStatsType" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="ReadServiceStats" type="ReadServiceStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="WriteServiceStats" type="WriteServiceStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="WaitQueueStats" type="WaitQueueStatsType" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="TapeListType">
		<xsd:sequence>
			<xsd:element name="Tape" type="TapeType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="TapeType">
		<xsd:sequence>
			<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="XferStats" type="XferStatsType" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="ReadServiceStats" type="ReadServiceStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="WriteServiceStats" type="WriteServiceStatsType" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="PathStatsType">
		<xsd:sequence>
			<xsd:element name="PerDiskPathList" type="PerDiskPathListType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="PerDiskPathListType">
		<xsd:sequence>
			<xsd:element name="DiskName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Path" type="PathType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="PathType">
		<xsd:sequence>
			<xsd:element name="PathId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="XferStats" type="XferStatsType" minOccurs="1" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="FilesystemListType">
		<xsd:sequence>
			<xsd:element name="Filesystem" type="FilesystemType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="FilesystemType">
		<xsd:sequence>
			<xsd:element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
			<xsd:element name="XferStats" type="XferStatsType" minOccurs="1" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="XferStatsType">
		<xsd:sequence>
			<xsd:element name="BusyPercent" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="KiloBytesRead" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="KiloBytesWritten" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="BytesTransferred" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Transfers" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="BytesRead" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="BytesWritten" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="BlocksRead" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="BlocksWritten" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="PartitionId" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ReadServiceStatsType">
		<xsd:sequence>
			<xsd:element name="Reads" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="AvgTimePerRead" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MinTimePerRead" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MaxTimePerRead" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="ReadTimeouts" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="FailedReads" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WriteServiceStatsType">
		<xsd:sequence>
			<xsd:element name="Writes" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="AvgTimePerWrite" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MinTimePerWrite" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MaxTimePerWrite" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="WriteTimeouts" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="FailedWrite" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="WaitQueueStatsType">
		<xsd:sequence>
			<xsd:element name="AvgTimeSpentInWaitQue" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MinTimeSpentInWaitQue" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MaxTimeSpentInWaitQue" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="AvgWaitQueSize" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="AvgServiceQueSize" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="ServiceQueFull" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AIOStatsType">
		<xsd:sequence>
			<xsd:element name="AvgGlobalReqCount" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="AvgFastpathReqCount" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MaxGlobalReqCount" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="MaxFastpathReqCount" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="NumActiveAIOServers" type="xsd:unsignedLong" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="DiskList" type="DiskListType" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AIOQueueListType">
		<xsd:sequence>
			<xsd:element name="AIOQueue" type="AIOQueueType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AIOQueueType">
		<xsd:sequence>
			<xsd:element name="QueName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Count" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<xsd:complexType name="AIOQueFilesystemListType">
		<xsd:sequence>
			<xsd:element name="AIOQueFilesystem" type="AIOQueFilesystemType" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="AIOQueFilesystemType">
		<xsd:sequence>
			<xsd:element name="FilesystemName" type="xsd:string" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="QueNumber" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="Count" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="SystemWideStatsType">
		<xsd:sequence>
			<xsd:element name="PhysicalVolStats" type="XferStatsType" minOccurs="0" maxOccurs="1"/>
			<xsd:element name="LogicalVolStats" type="XferStatsType" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
	</xsd:complexType>

	<!-- ########################################################################### 	-->
	<!-- IOSTAT Specific types used in the CollectedData tag END 				-->
	<!-- ########################################################################### 	-->
	<!-- ########################################################################### -->
	<!-- IOSTAT Specific tags and types END						 -->
	<!-- ########################################################################### -->
</xsd:schema>
