<?xml version="1.0" encoding="UTF-8"?>
<!--
== Generated by hyperModel (www.XMLmodeling.com) Mon Jan 07 09:36:55 EST 2008
== Model: MITRE CPE 2.1
== Package: patch_2.1
-->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://scap.nist.gov/schema/patch/0.1"
  xmlns:scap_core="http://scap.nist.gov/schema/scap-core/0.1"
  targetNamespace="http://scap.nist.gov/schema/patch/0.1"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  version="0.1">
  <xsd:import namespace="http://scap.nist.gov/schema/scap-core/0.1" schemaLocation="scap-core_0.1.xsd"/>
  <!-- ================================================== -->
  <!-- =====  Element Declarations  -->
  <!-- ================================================== -->
  <xsd:element name="patch" type="patchType"/>
  <!-- ================================================== -->
  <!-- =====  Complex Type Definitions  -->
  <!-- ================================================== -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <!--  patch  -->
  <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
  <xsd:complexType name="patchType">
    <xsd:sequence>
      <xsd:element name="title" type="scap_core:textType" minOccurs="0">
        <xsd:annotation>
          <xsd:documentation>Human-formatted title for the patch.  If none given, then duplicate of the name.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="references" minOccurs="0">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="reference" type="scap_core:referenceType" maxOccurs="unbounded"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="notes" type="scap_core:notesType" maxOccurs="unbounded" minOccurs="0"/>
      <xsd:element name="check" type="scap_core:checkReferenceType" minOccurs="0" maxOccurs="unbounded"/>
      <xsd:element name="supersedes" type="patchType" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Patches that superceded by the referenced patch.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="superseded-by" type="patchType" minOccurs="0" maxOccurs="unbounded">
        <xsd:annotation>
          <xsd:documentation>Patches that supersede the patch comprising the current XML document.</xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:sequence>
    <xsd:attribute name="identifier" type="xsd:double" use="required">
      <xsd:annotation>
        <xsd:documentation>Identifier unique within the XML document for the given patch.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="name" type="xsd:string" use="required">
      <xsd:annotation>
        <xsd:documentation>Vendor supplied name for the patch.  Will use lower case and underscores for spaces, consistent with CPE naming conventions.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="superseded" type="xsd:boolean" use="required">
      <xsd:annotation>
        <xsd:documentation>Boolean value.  True of patch is superseded.  False if not.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
    <xsd:attribute name="deprecated" type="xsd:boolean">
      <xsd:annotation>
        <xsd:documentation>Indicates that a patch should not be used -- regardless of supersession.</xsd:documentation>
      </xsd:annotation>
    </xsd:attribute>
  </xsd:complexType>
</xsd:schema>
