Fix multiple issues in XSD files
[GitHub/WoltLab/WCF.git] / XSD / packageUpdateServer.xsd
CommitLineData
a314770a 1<?xml version="1.0" encoding="UTF-8"?>
61d010dd 2<!-- This file is used for package server xml files. -->
a314770a
MW
3<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.woltlab.com" targetNamespace="http://www.woltlab.com" elementFormDefault="qualified">
4 <!-- include types -->
5 <xs:include schemaLocation="types.xsd" />
6
61d010dd 7 <!-- section element -->
a314770a
MW
8 <xs:element name="section">
9 <xs:complexType>
10 <xs:sequence>
11 <xs:element maxOccurs="unbounded" ref="package" />
12 </xs:sequence>
13 <xs:attribute name="name" use="required" type="xs:NCName" />
14 </xs:complexType>
15 </xs:element>
16
17 <!-- package element -->
18 <xs:element name="package">
19 <xs:complexType>
20 <xs:sequence>
61d010dd
MS
21 <xs:element ref="packageInformation" />
22 <xs:element ref="authorInformation" />
a314770a
MW
23 <xs:element ref="versions" />
24 </xs:sequence>
25 <xs:attribute name="name" use="required" type="woltlab_varchar" />
26 </xs:complexType>
27 </xs:element>
28
61d010dd
MS
29 <!-- package information element -->
30 <xs:element name="packageInformation">
a314770a
MW
31 <xs:complexType>
32 <xs:sequence>
33 <xs:element ref="packagename" />
34 <xs:element ref="packagedescription" />
35 <xs:choice minOccurs="0">
36 <xs:element ref="plugin" />
aac1247e 37 <xs:element ref="isapplication" />
a314770a
MW
38 </xs:choice>
39 </xs:sequence>
40 </xs:complexType>
41 </xs:element>
61d010dd
MS
42
43 <!-- package name element -->
a314770a 44 <xs:element name="packagename" type="woltlab_varchar" />
61d010dd
MS
45
46 <!-- package description element -->
a314770a 47 <xs:element name="packagedescription" type="woltlab_varchar" />
61d010dd
MS
48
49 <!-- plugin element -->
a314770a 50 <xs:element name="plugin" type="woltlab_varchar" />
61d010dd 51
aac1247e
MS
52 <!-- isapplication element -->
53 <xs:element name="isapplication" type="woltlab_boolean" />
a314770a 54
61d010dd
MS
55 <!-- author information element -->
56 <xs:element name="authorInformation">
a314770a
MW
57 <xs:complexType>
58 <xs:sequence>
59 <xs:element ref="author" />
60 <xs:element ref="authorurl" />
61 </xs:sequence>
62 </xs:complexType>
63 </xs:element>
61d010dd
MS
64
65 <!-- author element -->
a314770a 66 <xs:element name="author" type="xs:string" />
61d010dd
MS
67
68 <!-- author url element -->
a314770a
MW
69 <xs:element name="authorurl" type="xs:anyURI" />
70
61d010dd 71 <!-- versions element -->
a314770a
MW
72 <xs:element name="versions">
73 <xs:complexType>
74 <xs:sequence>
75 <xs:element maxOccurs="unbounded" ref="version" />
76 </xs:sequence>
77 </xs:complexType>
78 </xs:element>
61d010dd
MS
79
80 <!-- version element -->
a314770a
MW
81 <xs:element name="version">
82 <xs:complexType>
83 <xs:sequence>
84 <xs:element minOccurs="0" ref="fromversions" />
85 <xs:element minOccurs="0" ref="requiredpackages" />
a314770a 86 <xs:element ref="timestamp" />
0f4fc4cd 87 <xs:element name="versiontype" type="woltlab_varchar" />
a314770a
MW
88 <xs:element ref="license" />
89 </xs:sequence>
90 <xs:attribute name="name" use="required" />
91 </xs:complexType>
92 </xs:element>
61d010dd
MS
93
94 <!-- from versions element -->
a314770a
MW
95 <xs:element name="fromversions">
96 <xs:complexType>
97 <xs:sequence>
98 <xs:element maxOccurs="unbounded" ref="fromversion" />
99 </xs:sequence>
100 </xs:complexType>
101 </xs:element>
61d010dd
MS
102
103 <!-- fromversion element -->
a314770a 104 <xs:element name="fromversion" type="xs:string" />
61d010dd
MS
105
106 <!-- required packages element -->
a314770a
MW
107 <xs:element name="requiredpackages">
108 <xs:complexType>
109 <xs:sequence>
110 <xs:element maxOccurs="unbounded" ref="requiredpackage" />
111 </xs:sequence>
112 </xs:complexType>
113 </xs:element>
61d010dd
MS
114
115 <!-- required package element -->
a314770a
MW
116 <xs:element name="requiredpackage">
117 <xs:complexType>
118 <xs:simpleContent>
119 <xs:extension base="xs:NCName">
120 <xs:attribute name="minversion" />
121 </xs:extension>
122 </xs:simpleContent>
123 </xs:complexType>
124 </xs:element>
61d010dd 125
61d010dd 126 <!-- timestamp element -->
a314770a 127 <xs:element name="timestamp" type="xs:integer" />
61d010dd 128
61d010dd 129 <!-- license element -->
a314770a
MW
130 <xs:element name="license" type="xs:NCName" />
131</xs:schema>