<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:DiskObj="http://cybox.mitre.org/objects#DiskObject-2" xmlns:cyboxCommon="http://cybox.mitre.org/common-2" xmlns:DiskPartitionObj="http://cybox.mitre.org/objects#DiskPartitionObject-2" targetNamespace="http://cybox.mitre.org/objects#DiskObject-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1">
	<xs:annotation>
		<xs:documentation>This schema was originally developed by The MITRE Corporation. The CybOX XML Schema implementation is maintained by The MITRE Corporation and developed by the open CybOX Community. For more information, including how to get involved in the effort and how to submit change requests, please visit the CybOX website at http://cybox.mitre.org.</xs:documentation>
		<xs:appinfo>
			<schema>Disk_Object</schema>
			<version>2.1</version>
			<date>01/22/2014</date>			
			<short_description>The following specifies the fields and types that compose this defined CybOX Object type. Each defined object is an extension of the abstract ObjectPropertiesType, defined in CybOX Common. For more information on this extension mechanism, please see the CybOX Specification. This document is intended for developers and assumes some familiarity with XML. </short_description>
			<terms_of_use>Copyright (c) 2012-2014, The MITRE Corporation. All rights reserved. The contents of this file are subject to the terms of the CybOX License located at http://cybox.mitre.org/about/termsofuse.html. See the CybOX License for the specific language governing permissions and limitations for use of this schema. When distributing copies of the CybOX Schema, this license header must be included.</terms_of_use>
		</xs:appinfo>
	</xs:annotation>
	<xs:import namespace="http://cybox.mitre.org/common-2" schemaLocation="http://cybox.mitre.org/XMLSchema/common/2.1/cybox_common.xsd"/>
	<xs:import namespace="http://cybox.mitre.org/objects#DiskPartitionObject-2" schemaLocation="http://cybox.mitre.org/XMLSchema/objects/Disk_Partition/2.1/Disk_Partition_Object.xsd"/>
	<xs:element name="Disk" type="DiskObj:DiskObjectType">
		<xs:annotation>
			<xs:documentation>The Disk object is intended to characterize a disk drive.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="DiskObjectType" mixed="false">
		<xs:annotation>
			<xs:documentation>The DiskObjectType type is intended to characterize disk drives.</xs:documentation>
		</xs:annotation>
		<xs:complexContent>
			<xs:extension base="cyboxCommon:ObjectPropertiesType">
				<xs:sequence>
					<xs:element name="Disk_Name" type="cyboxCommon:StringObjectPropertyType" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The Disk_Name field specifies the name of the disk.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Disk_Size" type="cyboxCommon:UnsignedLongObjectPropertyType" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The Disk_Size field specifies the size of the disk, in bytes.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Free_Space" type="cyboxCommon:UnsignedLongObjectPropertyType" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Free_Space field specifies the amount of free space on the disk, in bytes.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Partition_List" type="DiskObj:PartitionListType" minOccurs="0" maxOccurs="1">
						<xs:annotation>
							<xs:documentation>The Partition_List field specifies the partitions that reside on the disk.</xs:documentation>
						</xs:annotation>
					</xs:element>
					<xs:element name="Type" type="DiskObj:DiskType" minOccurs="0">
						<xs:annotation>
							<xs:documentation>The Type field specifies the type of disk being characterized, e.g. removable.</xs:documentation>
						</xs:annotation>
					</xs:element>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="PartitionListType">
		<xs:annotation>
			<xs:documentation>The PartionListType type specifies a list of partitions.</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="Partition" type="DiskPartitionObj:DiskPartitionObjectType" minOccurs="1" maxOccurs="unbounded">
				<xs:annotation>
					<xs:documentation>The Partition field specifies a single partition that resides on the disk.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="DiskType">
		<xs:annotation>
			<xs:documentation>DiskType specifies disk types, via a union of the DiskTypeEnum type and the atomic xs:string type. Its base type is the CybOX Core BaseObjectPropertyType, for permitting complex (i.e. regular-expression based) specifications.</xs:documentation>
		</xs:annotation>
		<xs:simpleContent>
			<xs:restriction base="cyboxCommon:BaseObjectPropertyType">
				<xs:simpleType>
					<xs:union memberTypes="DiskObj:DiskTypeEnum xs:string"/>
				</xs:simpleType>
				<xs:attribute name="datatype" type="cyboxCommon:DatatypeEnum" fixed="string">
					<xs:annotation>
						<xs:documentation>This attribute is optional and specifies the expected type for the value of the specified property.</xs:documentation>
					</xs:annotation>
				</xs:attribute>
			</xs:restriction>
		</xs:simpleContent>
	</xs:complexType>
	<xs:simpleType name="DiskTypeEnum">
		<xs:annotation>
			<xs:documentation>The DiskTypeEnum type contains a non-exhaustive enumeration of disk types.</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="Removable">
				<xs:annotation>
					<xs:documentation>Indicates the removable disk type.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Fixed">
				<xs:annotation>
					<xs:documentation>Indicates the fixed disk type.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="Remote">
				<xs:annotation>
					<xs:documentation>Indicates the remote disk type.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="CDRom">
				<xs:annotation>
					<xs:documentation>Indicates the CDRom disk type.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
			<xs:enumeration value="RAMDisk">
				<xs:annotation>
					<xs:documentation>Indicates the RAMDisk disk type.</xs:documentation>
				</xs:annotation>
			</xs:enumeration>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
