<?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-def="http://oval.mitre.org/XMLSchema/oval-definitions-5" xmlns:ind-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#independent" xmlns:sch="http://purl.oclc.org/dsdl/schematron" targetNamespace="http://oval.mitre.org/XMLSchema/oval-definitions-5#independent" 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://oval.mitre.org/XMLSchema/oval-definitions-5" schemaLocation="oval-definitions-schema.xsd"/>
	
	<!-- =============================================================================== -->
	<!-- ================================  FAMILY TEST  ================================ -->
	<!-- =============================================================================== -->
	<xsd:element name="family_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType">
					<xsd:sequence>
						<xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="family_object" substitutionGroup="oval-def:object">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:ObjectType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="family_state" substitutionGroup="oval-def:state">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:StateType">
					<xsd:sequence>
						<xsd:element name="family" type="ind-def:EntityStateFamilyType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<!-- =============================================================================== -->
	<!-- ===============================  FILE MD5 TEST  =============================== -->
	<!-- =============================================================================== -->
	<xsd:element name="filemd5_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType">
					<xsd:sequence>
						<xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="filemd5_object" substitutionGroup="oval-def:object">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:ObjectType">
					<xsd:sequence>
						<xsd:choice minOccurs="1" maxOccurs="1">
							<xsd:element ref="oval-def:set"/>
							<xsd:sequence>
								<xsd:element name="behaviors" type="ind-def:Filemd5Behaviors" minOccurs="0" maxOccurs="1"/>
								<xsd:element name="path" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
								<xsd:element name="filename" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
							</xsd:sequence>
						</xsd:choice>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="filemd5_state" substitutionGroup="oval-def:state">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:StateType">
					<xsd:sequence>
						<xsd:element name="path" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="filename" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="md5" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="Filemd5Behaviors">
		
		<xsd:attribute name="max_depth" use="optional" default="1">
			
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:fractionDigits value="0"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="recurse_direction" use="optional" default="none">
			
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="none"/>
					<xsd:enumeration value="up"/>
					<xsd:enumeration value="down"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
    <!-- =============================================================================== -->
    <!-- ==============================  FILE HASH TEST  =============================== -->
    <!-- =============================================================================== -->
    <xsd:element name="filehash_test" substitutionGroup="oval-def:test">
        
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="oval-def:TestType">
                    <xsd:sequence>
                        <xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
                        <xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
                    </xsd:sequence>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="filehash_object" substitutionGroup="oval-def:object">
        
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="oval-def:ObjectType">
                    <xsd:sequence>
                        <xsd:choice minOccurs="1" maxOccurs="1">
                            <xsd:element ref="oval-def:set"/>
                            <xsd:sequence>
                                <xsd:element name="behaviors" type="ind-def:FilehashBehaviors" minOccurs="0" maxOccurs="1"/>
                                <xsd:element name="path" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
                                    
                                </xsd:element>
                                <xsd:element name="filename" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
                                    
                                </xsd:element>
                            </xsd:sequence>
                        </xsd:choice>
                    </xsd:sequence>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:element name="filehash_state" substitutionGroup="oval-def:state">
        
        <xsd:complexType>
            <xsd:complexContent>
                <xsd:extension base="oval-def:StateType">
                    <xsd:sequence>
                        <xsd:element name="path" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
                            
                        </xsd:element>
                        <xsd:element name="filename" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
                            
                        </xsd:element>
                        <xsd:element name="md5" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
                            
                        </xsd:element>
                        <xsd:element name="sha1" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
                            
                        </xsd:element>
                    </xsd:sequence>
                </xsd:extension>
            </xsd:complexContent>
        </xsd:complexType>
    </xsd:element>
    <xsd:complexType name="FilehashBehaviors">
        
        <xsd:attribute name="max_depth" use="optional" default="1">
            
            <xsd:simpleType>
                <xsd:restriction base="xsd:integer">
                    <xsd:fractionDigits value="0"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="recurse_direction" use="optional" default="none">
            
            <xsd:simpleType>
                <xsd:restriction base="xsd:string">
                    <xsd:enumeration value="none"/>
                    <xsd:enumeration value="up"/>
                    <xsd:enumeration value="down"/>
                </xsd:restriction>
            </xsd:simpleType>
        </xsd:attribute>
    </xsd:complexType>
    <!-- =============================================================================== -->
	<!-- =======================  ENVIRONMENT VARIABLE TEST  =========================== -->
	<!-- =============================================================================== -->
	<xsd:element name="environmentvariable_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType">
					<xsd:sequence>
						<xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="environmentvariable_object" substitutionGroup="oval-def:object">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:ObjectType">
					<xsd:sequence>
						<xsd:choice minOccurs="1" maxOccurs="1">
							<xsd:element ref="oval-def:set" minOccurs="0" maxOccurs="1"/>
							<xsd:sequence minOccurs="0" maxOccurs="1">
								<xsd:element name="name" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
							</xsd:sequence>
						</xsd:choice>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="environmentvariable_state" substitutionGroup="oval-def:state">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:StateType">
					<xsd:sequence>
						<xsd:element name="name" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="value" type="oval-def:EntityStateAnyType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<!-- =============================================================================== -->
	<!-- ===========================  TEXT FILE CONTENT TEST  ========================== -->
	<!-- =============================================================================== -->
	<xsd:element name="textfilecontent_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType">
					<xsd:sequence>
						<xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="textfilecontent_object" substitutionGroup="oval-def:object">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:ObjectType">
					<xsd:sequence>
						<xsd:choice minOccurs="1" maxOccurs="1">
							<xsd:element ref="oval-def:set" minOccurs="0" maxOccurs="1"/>
							<xsd:sequence minOccurs="0" maxOccurs="1">
								<xsd:element name="behaviors" type="ind-def:TextfilecontentBehaviors" minOccurs="0" maxOccurs="1"/>
								<xsd:element name="path" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
								<xsd:element name="filename" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
								<xsd:element name="line" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
							</xsd:sequence>
						</xsd:choice>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="textfilecontent_state" substitutionGroup="oval-def:state">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:StateType">
					<xsd:sequence>
						<xsd:element name="path" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="filename" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="line" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="subexpression" type="oval-def:EntityStateAnyType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="TextfilecontentBehaviors">
		
		<xsd:attribute name="max_depth" use="optional" default="1">
			
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:fractionDigits value="0"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="recurse_direction" use="optional" default="none">
			
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="none"/>
					<xsd:enumeration value="up"/>
					<xsd:enumeration value="down"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<!-- =============================================================================== -->
	<!-- ===============================  UNKNOWN TEST  ================================ -->
	<!-- =============================================================================== -->
	<xsd:element name="unknown_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<!-- =============================================================================== -->
	<!-- ===============================  VARIABLE TEST  =============================== -->
	<!-- =============================================================================== -->
	<xsd:element name="variable_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType">
					<xsd:sequence>
						<xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="variable_object" substitutionGroup="oval-def:object">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:ObjectType">
					<xsd:sequence>
						<xsd:choice minOccurs="1" maxOccurs="1">
							<xsd:element ref="oval-def:set" minOccurs="0" maxOccurs="1"/>
							<xsd:sequence minOccurs="0" maxOccurs="1">
								<xsd:element name="var_ref" type="ind-def:EntityObjectVariableRefType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
							</xsd:sequence>
						</xsd:choice>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="variable_state" substitutionGroup="oval-def:state">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:StateType">
					<xsd:sequence>
						<xsd:element name="var_ref" type="ind-def:EntityStateVariableRefType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="value" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<!-- =============================================================================== -->
	<!-- ===========================  XML FILE CONTENT TEST  =========================== -->
	<!-- =============================================================================== -->
	<xsd:element name="xmlfilecontent_test" substitutionGroup="oval-def:test">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:TestType">
					<xsd:sequence>
						<xsd:element name="object" type="oval-def:ObjectRefType" minOccurs="1" maxOccurs="1"/>
						<xsd:element name="state" type="oval-def:StateRefType" minOccurs="0" maxOccurs="1"/>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="xmlfilecontent_object" substitutionGroup="oval-def:object">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:ObjectType">
					<xsd:sequence>
						<xsd:choice minOccurs="1" maxOccurs="1">
							<xsd:element ref="oval-def:set" minOccurs="0" maxOccurs="1"/>
							<xsd:sequence minOccurs="0" maxOccurs="1">
								<xsd:element name="behaviors" type="ind-def:XmlfilecontentBehaviors" minOccurs="0" maxOccurs="1"/>
								<xsd:element name="path" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
								<xsd:element name="filename" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
								<xsd:element name="xpath" type="oval-def:EntityObjectStringType" minOccurs="1" maxOccurs="1">
									
								</xsd:element>
							</xsd:sequence>
						</xsd:choice>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="xmlfilecontent_state" substitutionGroup="oval-def:state">
		
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="oval-def:StateType">
					<xsd:sequence>
						<xsd:element name="path" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="filename" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="xpath" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
						<xsd:element name="value_of" type="oval-def:EntityStateStringType" minOccurs="0" maxOccurs="1">
							
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="XmlfilecontentBehaviors">
		
		<xsd:attribute name="max_depth" use="optional" default="1">
			
			<xsd:simpleType>
				<xsd:restriction base="xsd:integer">
					<xsd:fractionDigits value="0"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="recurse_direction" use="optional" default="none">
			
			<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="none"/>
					<xsd:enumeration value="up"/>
					<xsd:enumeration value="down"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<!-- =============================================================================== -->
	<!-- =============================================================================== -->
	<!-- =============================================================================== -->
	<xsd:complexType name="EntityStateFamilyType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-def:EntityStateStringType">
				<xsd:enumeration value="ios"/>
				<xsd:enumeration value="macos"/>
				<xsd:enumeration value="unix"/>
				<xsd:enumeration value="windows"/>
				<xsd:enumeration value=""/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityObjectVariableRefType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-def:EntityObjectStringType">
				<xsd:pattern value="(oval:[A-Za-z\-\.]+:var:[1-9][0-9]*){0,}"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
	<xsd:complexType name="EntityStateVariableRefType">
		
		<xsd:simpleContent>
			<xsd:restriction base="oval-def:EntityStateStringType">
				<xsd:pattern value="(oval:[A-Za-z\-\.]+:var:[1-9][0-9]*){0,}"/>
			</xsd:restriction>
		</xsd:simpleContent>
	</xsd:complexType>
</xsd:schema>