<?xml version="1.0" encoding="utf-8"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5" xmlns:oval-sc="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="http://oval.mitre.org/XMLSchema/oval-system-characteristics-5" elementFormDefault="qualified" version="5.1">
	<xsd:import namespace="http://oval.mitre.org/XMLSchema/oval-common-5" schemaLocation="oval-common-schema.xsd"/>
	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
	
	<!-- =============================================================================== -->
	<!-- =============================================================================== -->
	<!-- =============================================================================== -->
	<xsd:element name="oval_system_characteristics">
		
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="generator" type="oval:GeneratorType" minOccurs="1" maxOccurs="1">
					
				</xsd:element>
				<xsd:element name="system_info" type="oval-sc:SystemInfoType" minOccurs="1" maxOccurs="1">
					
				</xsd:element>
				<xsd:element name="collected_objects" type="oval-sc:CollectedObjectsType" minOccurs="0" maxOccurs="1">
					
				</xsd:element>
				<xsd:element name="system_data" type="oval-sc:SystemDataType" minOccurs="0" maxOccurs="1">
					
				</xsd:element>
				<xsd:element ref="ds:Signature" minOccurs="0" maxOccurs="1">
					
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
		<xsd:key name="objectKey">
			
			<xsd:selector xpath="oval-sc:collected_objects/oval-sc:object"/>
			<xsd:field xpath="@id"/>
			<xsd:field xpath="@version"/>
			<xsd:field xpath="@variable_instance"/>
		</xsd:key>
		<xsd:key name="itemKey">
			
			<xsd:selector xpath="oval-sc:system_data/*"/>
			<xsd:field xpath="@id"/>
		</xsd:key>
		<xsd:keyref name="itemKeyRef" refer="oval-sc:itemKey">
			
			<xsd:selector xpath="oval-sc:collected_objects/oval-sc:object/oval-sc:reference"/>
			<xsd:field xpath="@item_ref"/>
		</xsd:keyref>
	</xsd:element>
	<!-- =============================================================================== -->
	<!-- =================================  GENERATOR  ================================= -->
	<!-- =============================================================================== -->
	<!--
		The GeneratorType is defined by the oval shared schema.  Please refer to
		that documentation for a description of the complex type.
	 -->
	<!-- =============================================================================== -->
	<!-- ================================  SYSTEM INFO  ================================ -->
	<!-- =============================================================================== -->
	<xsd:complexType name="SystemInfoType">
		
		<xsd:sequence>
			<xsd:element name="os_name" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>
			<xsd:element name="os_version" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>
			<xsd:element name="architecture" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>
			<xsd:element name="primary_host_name" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>
			<xsd:element name="interfaces" type="oval-sc:InterfacesType" minOccurs="1" maxOccurs="1">
				
			</xsd:element>			
			<xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="InterfacesType">
		
		<xsd:sequence>
			<xsd:element name="interface" type="oval-sc:InterfaceType" minOccurs="0" maxOccurs="unbounded">
				
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>					
	<xsd:complexType name="InterfaceType">
		
		<xsd:sequence>
			<xsd:element name="interface_name" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>
			<xsd:element name="ip_address" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>
			<xsd:element name="mac_address" type="xsd:string" minOccurs="1" maxOccurs="1">
				
			</xsd:element>		
		</xsd:sequence>
	</xsd:complexType>
	<!-- =============================================================================== -->
	<!-- =============================  COLLECTED OBJECTS  ============================= -->
	<!-- =============================================================================== -->
	<xsd:complexType name="CollectedObjectsType">
		
		<xsd:sequence>
			<xsd:element name="object" type="oval-sc:ObjectType" minOccurs="1" maxOccurs="unbounded"/>				
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="ObjectType">
		
		<xsd:sequence>
			<xsd:element name="message" type="oval:MessageType" minOccurs="0" maxOccurs="unbounded">
				
			</xsd:element>
			<xsd:element name="variable_value" type="oval-sc:VariableValueType" minOccurs="0" maxOccurs="unbounded">
				
			</xsd:element>			
			<xsd:element name="reference" type="oval-sc:ReferenceType" minOccurs="0" maxOccurs="unbounded">
				
			</xsd:element>				
		</xsd:sequence>
		<xsd:attribute name="id" type="oval:ObjectIDPattern" use="required"/>
		<xsd:attribute name="version" type="xsd:integer" use="required"/>
		<xsd:attribute name="variable_instance" type="xsd:integer" use="optional" default="1"/>
		<xsd:attribute name="comment" type="xsd:string" use="optional"/>
		<xsd:attribute name="flag" type="oval-sc:FlagEnumeration" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="VariableValueType">
		
		<xsd:simpleContent>
			<xsd:extension base="xsd:anySimpleType">
				<xsd:attribute name="variable_id" type="oval:VariableIDPattern" use="required"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="ReferenceType">
		
		<xsd:attribute name="item_ref" type="oval:ItemIDPattern" use="required"/>
	</xsd:complexType>
	<!-- =============================================================================== -->
	<!-- ================================  SYSTEM DATA  ================================ -->
	<!-- =============================================================================== -->
	<xsd:complexType name="SystemDataType">
		
		<xsd:sequence>
			<xsd:element ref="oval-sc:item" minOccurs="1" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="item" type="oval-sc:ItemType" abstract="true">
		
	</xsd:element>
	<xsd:complexType name="ItemType">
		
		<xsd:sequence>
			<xsd:element name="message" type="oval:MessageType" minOccurs="0" maxOccurs="1"/>
		</xsd:sequence>
		<xsd:attribute name="id" type="oval:ItemIDPattern" use="required"/>
		<xsd:attribute name="status" type="oval-sc:StatusEnumeration" use="optional" default="exists"/>
	</xsd:complexType>
	<!-- =============================================================================== -->
	<!-- =================================  SIGNATURE  ================================= -->
	<!-- =============================================================================== -->
	<!--
		The signature element is defined by the xmldsig schema.  Please refer to that
		documentation for a description of the valid elements and types.  More
		information about the official W3C Recommendation regarding XML digital
		signatures can be found at http://www.w3.org/TR/xmldsig-core/.
	-->
	<!-- =============================================================================== -->
	<!-- ===============================  ENUMERATIONS  ================================ -->
	<!-- =============================================================================== -->
	<xsd:simpleType name="FlagEnumeration">
		
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="error">
				
			</xsd:enumeration>
			<xsd:enumeration value="complete">
				
			</xsd:enumeration>
			<xsd:enumeration value="incomplete">
				
			</xsd:enumeration>
			<xsd:enumeration value="does not exist">
				
			</xsd:enumeration>
			<xsd:enumeration value="not collected">
				
			</xsd:enumeration>
			<xsd:enumeration value="not applicable">
				
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="StatusEnumeration">
		
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="error">
				
			</xsd:enumeration>
			<xsd:enumeration value="exists">
				
			</xsd:enumeration>
			<xsd:enumeration value="does not exist">
				
			</xsd:enumeration>
			<xsd:enumeration value="not collected">
				
			</xsd:enumeration>
		</xsd:restriction>
	</xsd:simpleType>
	<!-- =============================================================================== -->
	<!-- ===============================  ENTITY TYPES  ================================ -->
	<!-- =============================================================================== -->
	<xsd:complexType name="EntityItemBaseType" abstract="true">
		
		<xsd:simpleContent>
			<xsd:extension base="xsd:anySimpleType">
				<xsd:attribute name="datatype" type="oval:DatatypeEnumeration" use="optional" default="string"/>
				<xsd:attribute name="status" type="oval-sc:StatusEnumeration" use="optional" default="exists"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityItemAnyType">
		
		<xsd:simpleContent>
			<xsd:extension base="oval-sc:EntityItemBaseType"/>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityItemBinaryType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-sc:EntityItemBaseType">
				<xsd:simpleType>
					<xsd:union memberTypes="xsd:hexBinary oval:EmptyStringType"/>
				</xsd:simpleType>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityItemBoolType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-sc:EntityItemBaseType">
				<xsd:simpleType>
					<xsd:union memberTypes="xsd:boolean oval:EmptyStringType"/>
				</xsd:simpleType>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityItemFloatType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-sc:EntityItemBaseType">
				<xsd:simpleType>
					<xsd:union memberTypes="xsd:float oval:EmptyStringType"/>
				</xsd:simpleType>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityItemIntType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-sc:EntityItemBaseType">
				<xsd:simpleType>
					<xsd:union memberTypes="xsd:integer oval:EmptyStringType"/>
				</xsd:simpleType>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityItemStringType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-sc:EntityItemBaseType">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string"/>
				</xsd:simpleType>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
</xsd:schema>