<?xml version="1.0" encoding="UTF-8"?>

<!--
   AppData version 1.0 DTD

   For further information, see: http://people.freedesktop.org/~hughsient/appdata/

   Copyright (c) 2013 Richard Hughes <richard@hughsie.com>

   This DTD module is identified by the PUBLIC and SYSTEM identifiers:

   PUBLIC "-//freedesktop.org//DTD AppData 1.0//EN"
   SYSTEM "http://people.freedesktop.org/~hughsient/appdata/appdata.xsd"
-->
<xsd:schema elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:element name="application">
    <xsd:complexType mixed="true">
      <xsd:all>
        <xsd:element ref="id" minOccurs="1" maxOccurs="1"/>
        <xsd:element ref="licence" minOccurs="1" maxOccurs="1"/>
        <xsd:element ref="name" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="summary" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="description" minOccurs="1" maxOccurs="1"/>
        <xsd:element ref="url" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="screenshots" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="project_group" minOccurs="0" maxOccurs="1"/>
        <xsd:element ref="updatecontact" minOccurs="0" maxOccurs="1"/>
      </xsd:all>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="id">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="type" use="required">
            <xsd:simpleType>
              <xsd:restriction base="xsd:string">
                <xsd:enumeration value="desktop"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="licence" type="xsd:string"/>
  <xsd:element name="name">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="lang" type="xsd:string"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="summary">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="lang" type="xsd:string"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="description">
    <xsd:complexType mixed="true">
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element ref="p" minOccurs="1" maxOccurs="unbounded"/>
        <xsd:element ref="ul" minOccurs="0" maxOccurs="1"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="p">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="lang" type="xsd:string"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ul">
    <xsd:complexType mixed="true">
      <xsd:choice minOccurs="0" maxOccurs="unbounded">
        <xsd:element ref="li" minOccurs="1" maxOccurs="10"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="li">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="lang" type="xsd:string"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="screenshots">
    <xsd:complexType mixed="true">
      <xsd:choice maxOccurs="unbounded" minOccurs="0">
        <xsd:element ref="screenshot"/>
      </xsd:choice>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="screenshot">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="lang" type="xsd:string"/>
          <xsd:attribute name="type" type="xsd:string"/>
          <xsd:attribute name="height" type="xsd:string"/>
          <xsd:attribute name="width" type="xsd:string"/>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="updatecontact">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="project_group">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string"/>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="url">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:string">
          <xsd:attribute name="type" use="required">
            <xsd:simpleType>
              <xsd:restriction base="xsd:string">
                <xsd:enumeration value="homepage"/>
              </xsd:restriction>
            </xsd:simpleType>
          </xsd:attribute>
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
</xsd:schema>
