<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.kaspersky.com/oval/repository" elementFormDefault="qualified" targetNamespace="http://www.kaspersky.com/oval/repository">
  <xs:annotation>
    <xs:documentation xml:lang="en">
      OVAL Repository Index Schema.
      Copyright 2023 AO Kaspersky Lab. All rights reserved.
    </xs:documentation>
  </xs:annotation>
  
  <xs:element name="oval_collection" type="tns:OvalCollectionElement"/>
  
  <xs:complexType name="OvalCollectionElement">
    <xs:sequence>
      <xs:element name="item" type="tns:ItemElemt" minOccurs="1" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="created" type="xs:dateTime"/>
    <xs:attribute name="modified" type="xs:dateTime"/>
  </xs:complexType>
  
  <xs:complexType name="ItemElemt">
    <xs:attribute name="id" type="xs:string" use="required"/>
    <xs:attribute name="name" type="xs:string" use="required"/>
    <xs:attribute name="timestamp" type="xs:dateTime" use="required"/>
    <xs:attribute name="schema" type="xs:string" use="required"/>
    <xs:attribute name="link" type="xs:string" use="required"/>
    <xs:attribute name="zippedSize" type="xs:integer" use="required"/>
    <xs:attribute name="zippedMd5" type="tns:MD5" use="required"/>
    <xs:attribute name="defLink" type="xs:string" />
    <xs:attribute name="defCount" type="xs:integer" />
    <xs:attribute name="size" type="xs:integer" />
    <xs:attribute name="comment" type="xs:string"/>
    <xs:attribute name="type" type="tns:ItemType" default="oval"/>
    <xs:attribute name="lang" type="xs:string" default="en"/>
  </xs:complexType>
  
  <xs:simpleType name="MD5">
    <xs:restriction base="xs:string">
      <xs:pattern value="[0-9a-fA-F]{32}"/>
    </xs:restriction>
  </xs:simpleType>
  
  <xs:simpleType name="ItemType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="oval"/>
      <xs:enumeration value="xccdf"/>
    </xs:restriction>
  </xs:simpleType>
  
</xs:schema>