<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:au="http://halshusato.starfree.jp/ato_lash/aviutl/"
>
	<xsd:import
		namespace="http://halshusato.starfree.jp/ato_lash/aviutl/"
		schemaLocation="au.xsd"
	/>

	<xsd:element name="packages">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="package" maxOccurs="unbounded" />
			</xsd:sequence>
			<xsd:attribute
				name="version"
				type="xsd:positiveInteger"
				use="required"
			/>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="package">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="id">
					<xsd:simpleType>
						<xsd:restriction base="xsd:string">
							<xsd:pattern value="[a-zA-Z0-9]+/[a-zA-Z0-9]+" />
						</xsd:restriction>
					</xsd:simpleType>
				</xsd:element>
				<xsd:element name="name" type="xsd:string" />
				<xsd:element name="overview" type="xsd:string" />
				<xsd:element name="description" type="xsd:string" />
				<xsd:element name="developer" type="xsd:string" />
				<xsd:element
					name="originalDeveloper"
					type="xsd:string"
					minOccurs="0"
				/>
				<xsd:element name="dependencies" minOccurs="0">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element
								name="dependency"
								type="xsd:string"
								maxOccurs="unbounded"
							/>
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="pageURL" type="xsd:anyURI" />
				<xsd:element name="downloadURL" type="xsd:anyURI" />
				<xsd:element
					name="downloadMirrorURL"
					type="xsd:anyURI"
					minOccurs="0"
				/>
				<xsd:element name="directURL" type="xsd:anyURI" minOccurs="0" />
				<xsd:element name="latestVersion">
					<xsd:complexType>
						<xsd:simpleContent>
							<xsd:extension base="xsd:string">
								<xsd:attribute
									name="continuous"
									type="xsd:boolean"
									default="false"
									use="optional"
								/>
							</xsd:extension>
						</xsd:simpleContent>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="installer" type="xsd:string" minOccurs="0" />
				<xsd:element
					name="installArg"
					type="xsd:string"
					minOccurs="0"
				/>
				<xsd:element name="files" type="au:files" />
				<xsd:element name="releases" minOccurs="0">
					<xsd:complexType>
						<xsd:sequence>
							<xsd:element ref="release" maxOccurs="unbounded" />
						</xsd:sequence>
					</xsd:complexType>
				</xsd:element>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>

	<xsd:element name="release">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="files" type="au:files" minOccurs="0" />
				<xsd:element
					name="archiveIntegrity"
					type="au:integrity"
					minOccurs="0"
				/>
				<xsd:element
					name="integrities"
					type="au:integrities"
					minOccurs="0"
				/>
			</xsd:sequence>
			<xsd:attribute name="version" type="xsd:string" use="required" />
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
