<?xml version="1.0" encoding="utf-8"?>
<xs:schema
    targetNamespace="http://jvn.jp/vuldef/"
    xmlns:vuldef="http://jvn.jp/vuldef/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="3.2">

    <!-- ================================================== -->
    <!-- =====  Schema imports -->
    <!-- ================================================== -->
    <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>

    <!-- ================================================== -->
    <!-- =====  Schema description -->
    <!-- ================================================== -->
    <xs:annotation>
        <xs:documentation xml:lang="en-US">This is an XML Schema for VULDEF - The Vulnerability Data
            Publication and Exchange Format Data Model. </xs:documentation>
        <xs:documentation xml:lang="ja">脆弱性詳細情報の XML スキーマ VULDEF - The Vulnerability Data
            Publication and Exchange Format Data Model</xs:documentation>
        <xs:appinfo>
            <schema>VULDEF - The Vulnerability Data Publication and Exchange Format Data
                Model</schema>
            <author>Masato Terada</author>
            <version>3.2</version>
            <date>2017-07-20T03:16:00+09:00</date>
        </xs:appinfo>
    </xs:annotation>

    <xs:annotation id="abstract">
        <xs:documentation xml:lang="en-US">"VULDEF(The VULnerability Data publication and Exchange
            Format data model)" is intended to be a format for the security information published by
            the vendors or the Computer Security Incident Response Teams (CSIRTs). Assuming
            widespread adoption of the VULDEF by the community, an organization can potentially
            benefit from the increased automation in the processing of security advisory data, since
            the commitment of vulnerability handling to parse free-form textual document will be
            reduced.</xs:documentation>
        <xs:documentation xml:lang="ja">"VULDEF(The VULnerability Data publication and Exchange
            Format data model)"
            の目的は、脆弱性情報ならびに脆弱性を除去するための脆弱性対策情報を提供し、流通させるために必要となるデータフォーマットを定義することにある。特に、脆弱性対策情報については、データフォーマットを定義することにより、情報自身の流通ならびに、関連対策情報同士の集約化を促すことができ、結果として対策促進を支援することができるであろう。</xs:documentation>
    </xs:annotation>
    <xs:annotation id="purpose">
        <xs:documentation xml:lang="en-US">The purpose of the "VULDEF(The VULnerability Data
            publication and Exchange Format data model)" is to define data formats for information
            related to security advisory typically published by the Vendors and Computer Security
            Incident Response Teams (CSIRTs). An the Extensible Markup Language (XML) Document Type
            Definition is developed, and examples are provided.</xs:documentation>
        <xs:documentation xml:lang="ja">"VULDEF(The VULnerability Data publication and Exchange
            Format data model)" では、脆弱性対策の情報提供(含む交換)において必要となる項目をデータモデルとして提示すると共に、XML
            による表現形式を規定することにある。</xs:documentation>
    </xs:annotation>

    <!-- ================================================== -->
    <!-- =====  Element Declarations -->
    <!-- ================================================== -->

    <!-- ===================================================================== -->
    <!-- == VULDEF-Document class                                              -->
    <!-- ===================================================================== -->
    <xs:element name="VULDEF-Document">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">VULDEF-Document class is the top level class in the
                VULDEF data model and the DTD. All VULDEF documents are instances of the
                VULDEF-Document class. The version of the VULDEF specification to which the VULDEF
                document conforms. The value of this attribute MUST be 3.2.</xs:documentation>
            <xs:documentation xml:lang="ja">VULDEFドキュメントクラスは、VULDEF データモデルと DTD のトップレベルのクラスである。全ての
                VULDEF ドキュメントは、VULDEF ドキュメントクラスのインスタンスとなる。VULDEF のバージョン情報には "3.2"
                を設定する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="vuldef:Vulinfo" minOccurs="1" maxOccurs="unbounded"/>
                <xs:any namespace="##other" processContents="lax" minOccurs="0"
                    maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="version" type="xs:string" use="required" fixed="3.2"/>
            <xs:attribute ref="xml:lang"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Vulinfo class                                                  -->
    <!-- ==        - VulinfoID                                                -->
    <!-- ==        - VulinfoGID                                               -->
    <!-- ==        - VulinfoData                                              -->
    <!-- ==================================================================== -->
    <xs:element name="Vulinfo">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">In each publication of vulnerability related data is
                represented by an instance of the Vulinfo class. This class provides a standardized
                representation for commonly published vulnerability data and associates a unique
                identifier.</xs:documentation>
            <xs:documentation xml:lang="ja">Vulinfo
                クラスは、脆弱性に関する情報(概要、想定される影響、対策など)を記載するクラスと、その脆弱性情報を一意に識別する識別子クラスから構成する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="vuldef:VulinfoID"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:VulinfoGID"/>
                <xs:element minOccurs="1" maxOccurs="1" ref="vuldef:VulinfoData"/>
                <xs:any namespace="##other" processContents="lax" minOccurs="0"
                    maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"
                default="private"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    VulinfoID class                                                -->
    <!-- ==================================================================== -->
    <xs:element name="VulinfoID" type="xs:string">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">VulinfoID class represents an vulnerability
                information number that is unique in the context of the vendor or CSIRT and
                identifies the activity characterized in an VULDEF-Document. A vulnerability number
                assigned to this vulnerability information by the party that generated the document.
                VulinfoID includes the organization prefix and unique number within the
                organization. ex. {TA04-217A:US-CERT Alerts (CERT-TA)}{bid9835:Bugtraq
                (BID)}{XF9324:ISS X-Force (XF)}{JVN54326:VN-JP (JVN)}</xs:documentation>
            <xs:documentation xml:lang="ja"
                >脆弱性情報を一意に識別するための識別子であり、脆弱性情報を作成した組織が割り当てる。</xs:documentation>
        </xs:annotation>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    VulinfoGID class                                               -->
    <!-- ==================================================================== -->
    <xs:element name="VulinfoGID" type="xs:string">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Group ID for vulnerability
                information</xs:documentation>
            <xs:documentation xml:lang="ja">複数の脆弱性情報を取り扱う場合のグループ識別子を記載する。</xs:documentation>
        </xs:annotation>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    VulinfoData class                                              -->
    <!-- ==        - Title                                                    -->
    <!-- ==        - VulinfoDescription                                       -->
    <!-- ==        - Affected                                                 -->
    <!-- ==        - Impact                                                   -->
    <!-- ==        - Solution                                                 -->
    <!-- ==        - Exploit                                                  -->
    <!-- ==        - Related                                                  -->
    <!-- ==        - Credit                                                   -->
    <!-- ==        - Contact                                                  -->
    <!-- ==        - History                                                  -->
    <!-- ==        - DateFirstPublished                                       -->
    <!-- ==        - DateLastUpdated                                          -->
    <!-- ==        - DatePublic                                               -->
    <!-- ==================================================================== -->
    <xs:element name="VulinfoData">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The item(s) that constitute the vulnerability about
                which the VULDEF-Document conveys information. The VulinfoData class summarizes the
                details of the vulnerability information.</xs:documentation>
            <xs:documentation xml:lang="ja">VulinfoData
                クラスは、脆弱性情報として、脆弱性の概要、想定される影響、対策などの情報を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Title">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">Title class describes the title of the
                            vulnerability information.</xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性対策情報の題名を記載する。JVNRSS の item 要素の title
                            に対応する。</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:VulinfoDescription"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Affected"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Impact"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Solution"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Exploit"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Related"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Credit"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Contact"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:History"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:DateFirstPublished"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:DateLastUpdated"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:DatePublic"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="severity" type="vuldef:severityEnum" use="optional"/>
            <xs:attribute name="publication" type="vuldef:publicationEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    VulinfoDescription class                                       -->
    <!-- ==================================================================== -->
    <xs:element name="VulinfoDescription">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">VulinfoDescription class summarizes the detail of the
                vulnerability information.</xs:documentation>
            <xs:documentation xml:lang="ja">VulinfoDescription
                クラスは、脆弱性に関する概要、技術的な解説、脆弱性のタイプの情報を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="vuldef:Overview"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Detail"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Cwe"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="exploitrange" type="vuldef:exploitrangeEnum" use="optional"/>
            <xs:attribute name="vulnerabilitytype" type="vuldef:vulnerabilitytypeEnum"
                use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Overview class                                                 -->
    <!-- ==================================================================== -->
    <xs:element name="Overview">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Overview is an abstract of the vulnerability that
                provides a summary of the problem and its impact to the reader.</xs:documentation>
            <xs:documentation xml:lang="ja">脆弱性ならびにその対策に関する概要を記載する。JVNRSS1.0 の item 要素の description
                に対応する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                    <xs:attribute ref="vuldef:historyno" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Detail class                                                   -->
    <!-- ==================================================================== -->
    <xs:element name="Detail">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The vulnerability description contains one or more
                paragraphs of text describing the vulnerability.</xs:documentation>
            <xs:documentation xml:lang="ja">脆弱性に関する詳細情報(技術的な解説)を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                    <xs:attribute ref="vuldef:historyno" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="Cwe">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">CWE</xs:documentation>
            <xs:documentation xml:lang="ja">脆弱性に関するタイプを記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:RelatedItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Affected class                                                 -->
    <!-- ==        - AffectedItem                                             -->
    <!-- ==================================================================== -->
    <xs:element name="Affected">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Affected class includes vendors who may be affected
                by the vulnerability.</xs:documentation>
            <xs:documentation xml:lang="ja">Affected
                クラスは、脆弱性により影響を受けるバージョン、システムに関する情報を提示するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:AffectedItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="AffectedItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Affected class. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品の項目</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Name">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A vendor name of the affected
                            products.</xs:documentation>
                        <xs:documentation xml:lang="ja">影響を受ける製品のベンダ名(提供者名)を記載する。</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:ProductName"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Cpe"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:VersionNumber"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:BuildNumber"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Description">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A free-form textual description of the
                            affected products. </xs:documentation>
                        <xs:documentation xml:lang="ja">影響を受ける製品に関する説明</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="affectedstatus" type="vuldef:affectedstatusEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="ProductName">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A product name of the affected products. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品名を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="VersionNumber">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A version number of the affected products. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品のバージョンあるいはリビジョン番号を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType mixed="true">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="vuldef:RangeBegin"/>
                <xs:element ref="vuldef:RangeEnd"/>
            </xs:choice>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="operator" type="vuldef:operatorEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="BuildNumber">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A build number of the affected products. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品のビルド番号を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType mixed="true">
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="vuldef:RangeBegin"/>
                <xs:element ref="vuldef:RangeEnd"/>
            </xs:choice>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="operator" type="vuldef:operatorEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="RangeBegin">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A version or build number of the affected products. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品のバージョン番号あるいはビルド番号の範囲を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="operator" type="vuldef:operatorEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="RangeEnd">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A version or revision number of the affected
                products. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品のバージョン番号あるいはビルド番号の範囲を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="operator" type="vuldef:operatorEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="Cpe">
        <xs:annotation>
            <xs:documentation xml:lang="en-US"/>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="version" type="xs:decimal" use="required"/>
                    <xs:attribute name="vendor" type="xs:string" use="optional"/>
                    <xs:attribute name="product" type="xs:string" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Impact class                                                   -->
    <!-- ==        - Cvss                                                     -->
    <!-- ==        - ImpactItem                                               -->
    <!-- ==================================================================== -->
    <xs:element name="Impact">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Impact class allows for classifying as well as
                providing a description of the technical impact due to the
                vulnerability.</xs:documentation>
            <xs:documentation xml:lang="ja">Impact クラスは、脆弱性に伴い想定しうる影響を記載するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Cvss"/>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:ImpactItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="Cvss">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Cvss class is a information of the Common
                Vulnerability Scoring System.</xs:documentation>
            <xs:documentation xml:lang="ja">CVSS に関する情報を記載するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Severity"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Base"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Vector"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Temp"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Env"/>
            </xs:sequence>
            <xs:attribute name="version" type="xs:string" use="required"/>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="Severity">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">CVSS severity ranking.</xs:documentation>
            <xs:documentation xml:lang="ja">CVSS 深刻度</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="vuldef:severityEnum">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                    <xs:attribute name="type" type="vuldef:cvssTypeEnum" use="required"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="Vector">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">CVSS Vector Strings.</xs:documentation>
            <xs:documentation xml:lang="ja">CVSS 短縮表記</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="xs:string">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="Base">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">CVSS Base Score.</xs:documentation>
            <xs:documentation xml:lang="ja">CVSS 基本値</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="vuldef:zeroToTen">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="Temp">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">CVSS Temporal Score.</xs:documentation>
            <xs:documentation xml:lang="ja">CVSS 現状値</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="vuldef:zeroToTen">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="Env">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">CVSS Environmental Score.</xs:documentation>
            <xs:documentation xml:lang="ja">CVSS 環境値</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:simpleContent>
                <xs:extension base="vuldef:zeroToTen">
                    <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
                </xs:extension>
            </xs:simpleContent>
        </xs:complexType>
    </xs:element>

    <xs:element name="ImpactItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Impact class.</xs:documentation>
            <xs:documentation xml:lang="ja">想定される影響の項目</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:Description">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A free-form textual description of the
                            impact. </xs:documentation>
                        <xs:documentation xml:lang="ja">想定される影響の項目に関する説明</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="severity" type="vuldef:severityEnum" use="optional"/>
            <xs:attribute name="impacttype" type="vuldef:impacttypeEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Solution class                                                 -->
    <!-- ==        - SolutionItem                                             -->
    <!-- ==================================================================== -->
    <xs:element name="Solution">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Solution class allows for classifying as well as
                providing a description of the technical solution due to the
                vulnerability.</xs:documentation>
            <xs:documentation xml:lang="ja">Solution
                クラスは、脆弱性の回避施策に関する情報を記載するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:SolutionItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="SolutionItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Solution class. </xs:documentation>
            <xs:documentation xml:lang="ja">脆弱性の回避施策の項目</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:Description">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A free-form textual description of the
                            solution. </xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性の回避施策に関する説明</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:URL"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="solutiontype" type="vuldef:solutiontypeEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Exploit class                                                  -->
    <!-- ==        - ExploitItem                                              -->
    <!-- ==================================================================== -->
    <xs:element name="Exploit">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Exploit class allows for classifying as well as
                providing a description of the technical exploit due to the vulnerability. </xs:documentation>
            <xs:documentation xml:lang="ja">Exploitクラスは、脆弱性の攻略に関する情報を記載するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:ExploitItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="ExploitItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Exploit class. </xs:documentation>
            <xs:documentation xml:lang="ja">脆弱性の攻略に関する項目</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Description">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A free-form textual description of the
                            exploit. </xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性の攻略に関する説明</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:URL">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A URL to additional information about the
                            exploit.</xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性の攻略に関する情報掲載 URL</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="exploittype" type="vuldef:exploittypeEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Related class                                                  -->
    <!-- ==        - RelatedItem                                              -->
    <!-- ==================================================================== -->
    <xs:element name="Related">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Related class is a collection of URLs at our web site
                and others providing additional information about the vulnerability. </xs:documentation>
            <xs:documentation xml:lang="ja"
                >Relatedクラスは、参考情報など脆弱性に関連する情報を記載するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:RelatedItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="RelatedItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Related class.</xs:documentation>
            <xs:documentation xml:lang="ja">関連情報の項目を記載する。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Name">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A issuer of the
                            reference.</xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性対策情報発行者の名称</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:VulinfoID">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A ID of the reference.</xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性対策情報を一意に識別するための識別子</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Title">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A title of the reference. </xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性対策情報の題名</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:URL">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A URL to related information about the
                            vulnerability. </xs:documentation>
                        <xs:documentation xml:lang="ja">脆弱性対策情報の掲載 URL。JVNRSS の item 要素の dc:relation
                            に対応付ける。</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Description">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A free-form textual description of the
                            reference. </xs:documentation>
                        <xs:documentation xml:lang="ja">関連情報の項目に関する説明</xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="origin" type="vuldef:originEnum" use="optional"/>
            <xs:attribute name="type" type="vuldef:relatedtypeEnum" use="required"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Credit class                                                   -->
    <!-- ==        - CreditItem                                               -->
    <!-- ==================================================================== -->
    <xs:element name="Credit">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Credit Class identifies who initially discovered the
                vulnerability, anyone who was instrumental in the development of the document and
                the contributors for anything. </xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:CreditItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="CreditItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Credit class. </xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Name">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">An author/contributor Name. </xs:documentation>
                        <xs:documentation xml:lang="ja"/>
                    </xs:annotation>
                </xs:element>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:Description">
                    <xs:annotation>
                        <xs:documentation xml:lang="en-US">A free-form textual description of the
                            credit. </xs:documentation>
                        <xs:documentation xml:lang="ja"/>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Contact class                                                  -->
    <!-- ==        - ContactItem                                              -->
    <!-- ==================================================================== -->
    <xs:element name="Contact">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Contact class describes contact information of
                VULDEF-Document issuer.</xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:ContactItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="ContactItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Entries in the Contact class. </xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Name"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Description"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Email"/>
                <xs:element minOccurs="0" maxOccurs="unbounded" ref="vuldef:Telephone"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Fax"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:TimeZone"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
            <xs:attribute name="contacttype" type="vuldef:contacttypeEnum" use="optional"/>
            <xs:attribute ref="vuldef:historyno" use="optional"/>
        </xs:complexType>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    History class                                                  -->
    <!-- ==        - HistoryItem                                              -->
    <!-- ==================================================================== -->
    <xs:element name="History">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">History class is a log or diary of the significant
                events that occurred or actions performed by the issuers. </xs:documentation>
            <xs:documentation xml:lang="ja">History クラスは、脆弱性情報の改訂履歴などを記載するクラスである。</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:HistoryItem"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="HistoryItem">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">HistoryItem class is a particular entry in the
                History log that documents a particular significant action or
                event.</xs:documentation>
            <xs:documentation xml:lang="ja">改訂履歴の項目</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:HistoryNo"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:DateTime"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Published"/>
                <xs:element minOccurs="0" maxOccurs="1" ref="vuldef:Updated"/>
                <xs:element minOccurs="1" maxOccurs="unbounded" ref="vuldef:Description"/>
            </xs:sequence>
            <xs:attribute name="restriction" type="vuldef:restrictionEnum" use="optional"/>
        </xs:complexType>
    </xs:element>

    <xs:element name="HistoryNo" type="xs:string">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Number of the this entry in the history
                log.</xs:documentation>
            <xs:documentation xml:lang="ja">改訂履歴の項目に付与する番号</xs:documentation>
        </xs:annotation>
    </xs:element>

    <!-- ==================================================================== -->
    <!-- ==    Miscellaneous simple classes                                   -->
    <!-- ==================================================================== -->

    <xs:element name="Title" type="xs:string"/>
    <xs:element name="Name" type="xs:string"/>
    <xs:element name="Description" type="xs:string"/>
    <xs:element name="URL" type="xs:string"/>
    <xs:element name="ID" type="xs:string"/>
    <xs:element name="Email" type="xs:string"/>
    <xs:element name="Telephone" type="xs:string"/>
    <xs:element name="Fax" type="xs:string"/>
    <xs:element name="DatePublished" type="xs:string"/>
    <xs:element name="Keyword" type="xs:string"/>

    <xs:element name="DateFirstPublished" type="xs:dateTime"/>
    <xs:element name="DateLastUpdated" type="xs:dateTime"/>
    <xs:element name="DatePublic" type="xs:dateTime"/>
    <xs:element name="DateTime" type="xs:dateTime"/>
    <xs:element name="DateReceived" type="xs:dateTime"/>
    <xs:element name="TimeZone" type="vuldef:TimeZoneType"/>
    <xs:element name="Published" type="xs:dateTime"/>
    <xs:element name="Updated" type="xs:dateTime"/>

    <xs:simpleType name="TimeZoneType">
        <xs:restriction base="xs:string">
            <xs:pattern value="[+-][0-9][0-9]:[0-9][0-9]"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="cvssTypeEnum">
        <xs:restriction base="xs:NMTOKEN">
            <xs:enumeration value="Base"/>
            <xs:enumeration value="Temp"/>
            <xs:enumeration value="Env"/>
        </xs:restriction>
    </xs:simpleType>

    <xs:simpleType name="zeroToTen">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">simpleType used when scoring on a scale of 0-10,
                inclusive.</xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:restriction base="xs:decimal">
            <xs:minInclusive value="0" fixed="true"/>
            <xs:maxInclusive value="10" fixed="true"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- ==================================================================== -->
    <!-- ==    Attribute list declarations.                                   -->
    <!-- ==        - restriction                                              -->
    <!-- ==        - historyno                                                -->
    <!-- ==        - severity                                                 -->
    <!-- ==        - publication                                              -->
    <!-- ==        - vulnerabilitytype                                        -->
    <!-- ==        - exploitrange                                             -->
    <!-- ==        - affectedstatus                                           -->
    <!-- ==        - operator                                                 -->
    <!-- ==        - impacttype                                               -->
    <!-- ==        - solutiontype                                             -->
    <!-- ==        - exploittype                                              -->
    <!-- ==        - origin                                                   -->
    <!-- ==        - contacttype                                              -->
    <!-- ==================================================================== -->

    <!-- xs:attribute name="restriction" -->
    <xs:simpleType name="restrictionEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">This attribute indicates the disclosure guidelines to
                which the sender expects the recipient of the VULDEF-Document to adhere. This
                attribute is defined as an enumerated value with a default value of
                "private".</xs:documentation>
            <xs:documentation xml:lang="ja"
                >送信側がVULDEF-Documentの受信側に期待する配布のガイドライン属性であり、以下の属性値(デフォルト値＝private)を選択する。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="public">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">There is no restriction level applied to the
                        information.</xs:documentation>
                    <xs:documentation xml:lang="ja">情報配布に関する制約はない。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="private">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">The information may not be
                        shared.</xs:documentation>
                    <xs:documentation xml:lang="ja">共有を期待する情報ではない。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <xs:attribute name="historyno" type="xs:string">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The historyno attribute refers to HistoryNo class. </xs:documentation>
            <xs:documentation xml:lang="ja">改訂履歴の項目に付与する番号</xs:documentation>
        </xs:annotation>
    </xs:attribute>

    <!-- xs:attribute name="severity" -->
    <xs:simpleType name="severityEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">An estimate of the relative severity of the
                vulnerability. The permitted values are shown below. There is no default value. </xs:documentation>
            <xs:documentation xml:lang="ja"
                >脆弱性の相対的な深刻度の指標を、以下の属性値(デフォルト値＝なし)から選択する。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="None">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US"/>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Low">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Low severity. </xs:documentation>
                    <xs:documentation xml:lang="ja">低 </xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Medium">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Medium severity. </xs:documentation>
                    <xs:documentation xml:lang="ja">中</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="High">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">High severity. </xs:documentation>
                    <xs:documentation xml:lang="ja">高</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="Critical">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US"/>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="publication" -->
    <xs:simpleType name="publicationEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">This is the vulnerability information was known to
                the public or not. </xs:documentation>
            <xs:documentation xml:lang="ja"
                >脆弱性情報の公開状況を、以下の属性値(デフォルト値＝なし)から選択する。なお、配布のガイドライン属性restrictionとは、独立した属性である。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="open">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Public information. </xs:documentation>
                    <xs:documentation xml:lang="ja">公開済み</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="close">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Not public information. </xs:documentation>
                    <xs:documentation xml:lang="ja">未公開</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="vulnerabilitytype" -->
    <xs:simpleType name="vulnerabilitytypeEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">Each vulnerability in such a way that one can
                understand the type of software problem that produced the
                vulnerability.</xs:documentation>
            <xs:documentation xml:lang="ja">脆弱性のタイプを記載する。タイプとして、NIST NVD で使用している VulnerabilityType
                を使用する。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="input validation error"/>
            <xs:enumeration value="boundary condition error"/>
            <xs:enumeration value="buffer overflow"/>
            <xs:enumeration value="access validation error"/>
            <xs:enumeration value="exceptional condition error"/>
            <xs:enumeration value="environmental error"/>
            <xs:enumeration value="configuration error"/>
            <xs:enumeration value="race condition"/>
            <xs:enumeration value="design error"/>
            <xs:enumeration value="other error"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="exploitrange" -->
    <xs:simpleType name="exploitrangeEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">A vulnerability can enable either a "local" and/or
                "remote" attack.</xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="remote">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">The remote attack is possible. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="local">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Need the account and logon operation. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="any">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Both attacks are possible. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="affectedstatus" -->
    <xs:simpleType name="affectedstatusEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">This attribute indicates whether product is
                vulnerable or not. There is no default value. </xs:documentation>
            <xs:documentation xml:lang="ja">影響を受ける製品毎の項目フィールドであり、下記に示す脆弱性の影響有無を記述するaffectedstatus
                属性を持っている。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="vulnerable">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Vulnerable to the issue.</xs:documentation>
                    <xs:documentation xml:lang="ja">影響あり</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="notvulnerable">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Not Vulnerable to the
                        issue.</xs:documentation>
                    <xs:documentation xml:lang="ja">影響なし</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="unknown">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Under investigation or a status can't be
                        fixed.</xs:documentation>
                    <xs:documentation xml:lang="ja">不明</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vulnerable_investigating">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Vulnerable to the issue and continue to
                        investigate.</xs:documentation>
                    <xs:documentation xml:lang="ja">影響あり調査中</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="notvulnerable_investigating">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Not Vulnerable to the issue and continue to
                        investigate.</xs:documentation>
                    <xs:documentation xml:lang="ja">影響なし調査中</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="operator" -->
    <xs:simpleType name="operatorEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">This attribute is Comparison operators for a version
                or build number.</xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="eq"/>
            <xs:enumeration value="ne"/>
            <xs:enumeration value="gt"/>
            <xs:enumeration value="lt"/>
            <xs:enumeration value="ge"/>
            <xs:enumeration value="le"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="impacttype" -->
    <xs:simpleType name="impacttypeEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The type of impact in relatively broad categories.
                The permitted values are shown below. </xs:documentation>
            <xs:documentation xml:lang="ja">想定される影響のタイプを記載する。タイプとして、IODEF で使用している Impacttype
                属性を使用する。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="admin">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Administrative privileges were attempted or
                        obtained. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="dos">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A denial of service was attempted or
                        completed. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="file">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">An action on a file was attempted or
                        completed. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="recon">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A reconnaissance probe was attempted or
                        completed. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="user">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">User privileges were attempted or
                        obtained.</xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">The activity did not have any (technical)
                        impact.</xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="unknown">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">The impact of the activity is unknown. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="other">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Anything not in one of the above
                        categories.</xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="solutiontype" -->
    <xs:simpleType name="solutiontypeEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The type of solution in relatively broad categories.
                There is no default value. </xs:documentation>
            <xs:documentation xml:lang="ja">回避施策のタイプを、以下の属性値(デフォルト値＝なし)から選択する。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="fixed">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">This solution eliminates the vulnerability. </xs:documentation>
                    <xs:documentation xml:lang="ja">脆弱性そのものを除去する施策である。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="workaround">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">workaround solution (which has a direct
                        effect to resolve the issue). </xs:documentation>
                    <xs:documentation xml:lang="ja">暫定施策(直接的な効果)である。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="migration">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">migration solution (which has a indirect
                        effect to resolve the issue). </xs:documentation>
                    <xs:documentation xml:lang="ja">緩和施策(間接的な効果)である。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">There is no solution. </xs:documentation>
                    <xs:documentation xml:lang="ja">回避施策はない。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="unknown">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Under investigation or a status can't be
                        fixed. </xs:documentation>
                    <xs:documentation xml:lang="ja">不明(調査中など)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="exploittype" -->
    <xs:simpleType name="exploittypeEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The type of exploit in relatively broad categories.
                There is no default value. </xs:documentation>
            <xs:documentation xml:lang="ja"/>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="exploit">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">An exploit code exists.</xs:documentation>
                    <xs:documentation xml:lang="ja">すぐに悪用できるコードが存在する。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="poc">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">POC exists.</xs:documentation>
                    <xs:documentation xml:lang="ja">動作確認に利用できるコードが存在する。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="malware">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Worm, Virus or Trojan Hose
                        exists.</xs:documentation>
                    <xs:documentation xml:lang="ja">ワーム、ウイルス、トロイの木馬などのコードが存在する。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="senario">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Information for the exploit
                        exists.</xs:documentation>
                    <xs:documentation xml:lang="ja">手順紹介レベルの情報が存在する。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="none">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">There are no exploits for this
                        issue.</xs:documentation>
                    <xs:documentation xml:lang="ja">上記のいずれも存在しない。</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="unknown">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Currently we are not aware of any exploits
                        for this issue.</xs:documentation>
                    <xs:documentation xml:lang="ja">不明</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="origin" -->
    <xs:simpleType name="originEnum">
        <xs:annotation>
            <xs:documentation xml:lang="en-US">The name of the database to which the reference is
                being made. The permitted values are shown below. There is no default value. </xs:documentation>
            <xs:documentation xml:lang="ja">参照する情報源を以下の属性値(デフォルト値＝なし)から選択する。</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="bugtraqid">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Bugtraq. (=Security
                        Focus.)</xs:documentation>
                    <xs:documentation xml:lang="ja">Bugtraq (=Security Focus)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="cve">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Common Vulnerabilities and Exposures
                        (CVE).</xs:documentation>
                    <xs:documentation xml:lang="ja">Common Vulnerabilities and Exposures
                        (CVE)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="certcc">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">CERT/CC Vulnerability Catalog. (=CERT
                        Advisory)</xs:documentation>
                    <xs:documentation xml:lang="ja">CERT/CC Vulnerability Catalog (=CERT
                        Advisory)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="vendor">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A product vendor. </xs:documentation>
                    <xs:documentation xml:lang="ja">製品開発ベンダ</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="local">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">A local database. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="comment">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Comments by person. </xs:documentation>
                    <xs:documentation xml:lang="ja"/>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="other">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Except for the above. </xs:documentation>
                    <xs:documentation xml:lang="ja">上記以外</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JVN">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">JVN.</xs:documentation>
                    <xs:documentation xml:lang="ja">JVN</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JVNTR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">JVN Status Tracking Notes.</xs:documentation>
                    <xs:documentation xml:lang="ja">JVN Status Tracking Notes</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IPA">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">IPA Security Center</xs:documentation>
                    <xs:documentation xml:lang="ja">IPA セキュリティセンター 緊急対策情報</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="IPA-VUL">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US"/>
                    <xs:documentation xml:lang="ja">IPA セキュリティセンター</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JPCERT-AT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US"/>
                    <xs:documentation xml:lang="ja">JPCERT 緊急報告</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="JPCERT-WR">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">JPCERT Report.</xs:documentation>
                    <xs:documentation xml:lang="ja">JPCERT Report</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CYBPO-JP">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">@police topics</xs:documentation>
                    <xs:documentation xml:lang="ja">@police topics</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CERT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">CERT Advisory.</xs:documentation>
                    <xs:documentation xml:lang="ja">CERT Advisory</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CERT-SA">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">US-CERT Cyber Security
                        Alerts.</xs:documentation>
                    <xs:documentation xml:lang="ja">US-CERT Cyber Security Alerts</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CERT-VN">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">US-CERT Vulnerability
                        Note.</xs:documentation>
                    <xs:documentation xml:lang="ja">US-CERT Vulnerability Note</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CERT-TA">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">US-CERT Technical Cyber Security
                        Alert.</xs:documentation>
                    <xs:documentation xml:lang="ja">US-CERT Technical Cyber Security
                        Alert</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NVD">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">National Vulnerability Database
                        (NVD).</xs:documentation>
                    <xs:documentation xml:lang="ja">National Vulnerability Database
                        (NVD)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CIAC">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">CIAC Bulletins.</xs:documentation>
                    <xs:documentation xml:lang="ja">CIAC Bulletins</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="AUSCERT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">AUSCERT.</xs:documentation>
                    <xs:documentation xml:lang="ja">AUSCERT</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="NISCC">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">NISCC Vulnerability
                        Advisory.</xs:documentation>
                    <xs:documentation xml:lang="ja">NISCC Vulnerability Advisory</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="CVE">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Common Vulnerabilities and Exposures
                        (CVE).</xs:documentation>
                    <xs:documentation xml:lang="ja">Common Vulnerabilities and Exposures
                        (CVE)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="OVAL">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Open Vulnerability and Assessment Language
                        (OVAL).</xs:documentation>
                    <xs:documentation xml:lang="ja">Open Vulnerability and Assessment Language
                        (OVAL)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SECUNIA">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Secunia Advisory.</xs:documentation>
                    <xs:documentation xml:lang="ja">Secunia Advisory</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="BID">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">Security Focus.</xs:documentation>
                    <xs:documentation xml:lang="ja">Security Focus</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="XF">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">ISS X-Force Database.</xs:documentation>
                    <xs:documentation xml:lang="ja">ISS X-Force Database</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="OSVDB">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">OPEN SOURCE VULNERABILITY DATABASE
                        (OSVDB).</xs:documentation>
                    <xs:documentation xml:lang="ja">OPEN SOURCE VULNERABILITY DATABASE
                        (OSVDB)</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ISS">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">ISS Security Alerts and
                        Advisories.</xs:documentation>
                    <xs:documentation xml:lang="ja">ISS Security Alerts and
                        Advisories</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="ISSKK">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US"/>
                    <xs:documentation xml:lang="ja">X-Force セキュリティアラート＆アドバイザリ</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SECTRACK">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">SecurityTracker.</xs:documentation>
                    <xs:documentation xml:lang="ja">SecurityTracker</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SECTEAM">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">SecuriTeam.</xs:documentation>
                    <xs:documentation xml:lang="ja">SecuriTeam</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="FRSIRT">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">FrSIRT Advisories.</xs:documentation>
                    <xs:documentation xml:lang="ja">FrSIRT Advisories</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
            <xs:enumeration value="SANS">
                <xs:annotation>
                    <xs:documentation xml:lang="en-US">The SANS Institute Diary.</xs:documentation>
                    <xs:documentation xml:lang="ja">The SANS Institute Diary</xs:documentation>
                </xs:annotation>
            </xs:enumeration>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="relatedtype" -->
    <xs:simpleType name="relatedtypeEnum">
        <xs:restriction base="xs:string">
            <xs:enumeration value="vendor"/>
            <xs:enumeration value="advisory"/>
            <xs:enumeration value="cwe"/>
        </xs:restriction>
    </xs:simpleType>

    <!-- xs:attribute name="contacttype" -->
    <xs:simpleType name="contacttypeEnum">
        <xs:restriction base="xs:string">
            <xs:enumeration value="person"/>
            <xs:enumeration value="organisation"/>
        </xs:restriction>
    </xs:simpleType>

    <!--
Full Copyright Statement

     Copyright (C) JVNRSS Feasibility Study Team 2007-2009 . All Rights Reserved.

     This document and translations of it may be copied and furnished to
     others, and derivative works that comment on or otherwise explain it
     or assist in its implementation may be prepared, copied, published
     and distributed, in whole or in part, without restriction of any
     kind, provided that the above copyright notice and this paragraph are
     included on all such copies and derivative works.    

     This document and the information contained herein is provided on an
     "AS IS" basis and JVNRSS Feasibility Study Team DISCLAIMS ALL WARRANTIES, 
     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY 
     THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY 
     RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS 
     FOR A PARTICULAR PURPOSE.
-->

    <!-- ================================================== -->
    <!-- =====  Change History  -->
    <!-- ================================================== -->
    <!--
    v1.0-R6 2006-04-30
         http://jvnrss.ise.chuo-u.ac.jp/jtg/vuldef/1.0_R6/vuldef.xsd
    v1.1-R1 2007-02-08
         http://jvnrss.ise.chuo-u.ac.jp/jtg/vuldef/1.1_R1/vuldef.xsd
    v1.2-R1 2008-04-28
         http://jvnrss.ise.chuo-u.ac.jp/jtg/vuldef/1.2/vuldef.xsd
    v2.0 2009-02-16
         https://jvndb.jvn.jp/schema/vuldef_2.0.xsd
    v3.1 2011-08-17
         3.1 version for MyJVN API V3
         https://jvndb.jvn.jp/schema/vuldef_3.1.xsd
    v3.2 2017-07-20
         3.2 version for MyJVN API hnd
         https://jvndb.jvn.jp/schema/vuldef_3.2.xsd
    v3.2.1 2025-04-20
         3.2.1 version for MyJVN API hnd (revise affected, impact, history)
         https://jvndb.jvn.jp/schema/vuldef_3.2.xsd
    -->

</xs:schema>
