-- XSD schema extracted from ITU-T X.1520 (01/2014)

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://cve.mitre.org/cve/downloads/1.0" targetNamespace="http://cve.mitre.org/cve/downloads/1.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0"> <!-- ************************************************************************** --> <!-- Changelog: 1.0 - Initial version --> <!-- ************************************************************************** --> <xsd:annotation> <xsd:documentation xml:lang="en"> Simple schema that defines the format of the CVE List provided by MITRE </xsd:documentation> </xsd:annotation> <!-- ************************************************************************** --> <!-- Start Item Element Definition --> <!-- ************************************************************************** --> <xsd:element name="cve"> <xsd:annotation> <xsd:documentation xml:lang="en"> cve is the top level element of the CVE List provided by MITRE. It represents holds all CVE Items. </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:sequence> <xsd:element name="item" type="ItemType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="schemaVersion" type="xsd:token" use="optional"/> </xsd:complexType> </xsd:element> <!-- ************************************************************************** --> <!-- Simple Types --> <!-- ************************************************************************** --> <!-- CUSTOM TYPE DEFINITIONS--> <xsd:simpleType name="typeEnumType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="CAN"/> <xsd:enumeration value="CVE"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="statusEnumType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="Entry"/> <xsd:enumeration value="Candidate"/> </xsd:restriction> </xsd:simpleType> <!-- need to verify enumeration --> <xsd:simpleType name="simplePhaseEnumType"> <xsd:restriction base="xsd:token"> <xsd:enumeration value="Proposed"/> <xsd:enumeration value="Interim"/> <xsd:enumeration value="Modified"/> <xsd:enumeration value="Assigned"/> </xsd:restriction> </xsd:simpleType> <!-- **************************************************************************** --> <!-- Complex Types --> <!-- **************************************************************************** --> <xsd:complexType name="ItemType"> <xsd:sequence> <xsd:element name="status" type="statusEnumType" minOccurs="1" maxOccurs="1"/> <xsd:element name="phase" type="specificPhaseType" minOccurs="0" maxOccurs="1"/> <xsd:element name="desc" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="refs" type="refsType" minOccurs="1" maxOccurs="1"/> <xsd:element name="votes" type="votesType" minOccurs="0" maxOccurs="1"/> <xsd:element name="comments" type="commentsType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <!--Need to Verify Enumeration--> <xsd:attribute name="type" type="typeEnumType" use="required"/> <xsd:attribute name="name" type="xsd:token" use="required"/> <xsd:attribute name="seq" type="xsd:token" use="required"/> </xsd:complexType> <xsd:complexType name="commentsType"> <xsd:sequence> <xsd:element name="comment" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="voter" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="votesType"> <xsd:sequence> <xsd:element name="accept" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="modify" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="noop" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="recast" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="reject" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="reviewing" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> <xsd:element name="revote" minOccurs="0" maxOccurs="1"> <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="count" type="xsd:token" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:complexType name="specificPhaseType"> <xsd:simpleContent> <xsd:extension base="simplePhaseEnumType"> <xsd:attribute name="date" type="xsd:token" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:complexType name="refsType"> <xsd:annotation> <xsd:documentation>holds all hyperlink elements</xsd:documentation> </xsd:annotation> <xsd:sequence> <xsd:element name="ref" type="refType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="refType"> <xsd:annotation> <xsd:documentation>Holds individual hyperlink element</xsd:documentation> </xsd:annotation> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="source" type="xsd:token" use="required"/> <xsd:attribute name="url" type="xsd:anyURI" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:schema>