Commit | Line | Data |
---|---|---|
a314770a MW |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.woltlab.com" targetNamespace="http://www.woltlab.com" elementFormDefault="qualified"> | |
61d010dd | 3 | <!-- include types --> |
a314770a MW |
4 | <xs:include schemaLocation="types.xsd" /> |
5 | ||
61d010dd | 6 | <!-- data element --> |
a314770a MW |
7 | <xs:element name="package"> |
8 | <xs:complexType> | |
9 | <xs:choice maxOccurs="unbounded"> | |
10 | <xs:element name="instructions" type="instructions" minOccurs="1" maxOccurs="unbounded" /> | |
11 | <xs:element name="packageinformation" type="packageInformation" minOccurs="1" maxOccurs="1" /> | |
12 | <xs:element name="authorinformation" type="authorInformation" minOccurs="1" maxOccurs="1" /> | |
13 | <xs:element name="requiredpackages" type="requiredPackages" minOccurs="0" maxOccurs="1" /> | |
14 | <xs:element name="optionalpackages" type="optionalPackages" minOccurs="0" maxOccurs="1" /> | |
15 | <xs:element name="excludedpackages" type="excludedPackages" minOccurs="0" maxOccurs="1" /> | |
16 | </xs:choice> | |
17 | <xs:attribute name="name" type="woltlab_varchar" use="required" /> | |
18 | </xs:complexType> | |
19 | </xs:element> | |
20 | ||
61d010dd | 21 | <!-- simple package element --> |
a314770a MW |
22 | <xs:complexType name="simplePackage"> |
23 | <xs:simpleContent> | |
24 | <xs:extension base="xs:string"> | |
25 | <xs:attribute name="minversion" type="xs:string" /> | |
26 | <xs:attribute name="file" type="xs:string" /> | |
27 | </xs:extension> | |
28 | </xs:simpleContent> | |
29 | </xs:complexType> | |
30 | ||
61d010dd | 31 | <!-- optional package element --> |
a314770a MW |
32 | <xs:complexType name="optionalPackage"> |
33 | <xs:simpleContent> | |
34 | <xs:extension base="xs:string"> | |
35 | <xs:attribute name="minVersion" type="xs:string" /> | |
36 | <xs:attribute name="file" type="xs:string" use="required" /> | |
37 | </xs:extension> | |
38 | </xs:simpleContent> | |
39 | </xs:complexType> | |
40 | ||
61d010dd | 41 | <!-- excluded package element --> |
a314770a MW |
42 | <xs:complexType name="excludedPackage"> |
43 | <xs:simpleContent> | |
44 | <xs:extension base="xs:string"> | |
45 | <xs:attribute name="version" type="xs:string" /> | |
46 | </xs:extension> | |
47 | </xs:simpleContent> | |
48 | </xs:complexType> | |
49 | ||
61d010dd | 50 | <!-- instructions elements --> |
a314770a MW |
51 | <xs:complexType name="instructions"> |
52 | <xs:sequence> | |
53 | <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip" /> | |
54 | </xs:sequence> | |
61d010dd | 55 | <xs:attribute name="type" type="instructionType" use="required" /> |
a314770a MW |
56 | <xs:attribute name="fromversion" type="woltlab_varchar" /> |
57 | </xs:complexType> | |
58 | ||
61d010dd MS |
59 | <!-- instruction type attribute --> |
60 | <xs:simpleType name="instructionType"> | |
a314770a MW |
61 | <xs:restriction base="xs:string"> |
62 | <xs:enumeration value="install" /> | |
63 | <xs:enumeration value="update" /> | |
64 | </xs:restriction> | |
65 | </xs:simpleType> | |
66 | ||
61d010dd | 67 | <!-- package information element --> |
a314770a | 68 | <xs:complexType name="packageInformation"> |
9f2aa693 | 69 | <xs:choice maxOccurs="unbounded"> |
a314770a MW |
70 | <xs:element name="packagename" minOccurs="1" maxOccurs="unbounded"> |
71 | <xs:complexType> | |
72 | <xs:simpleContent> | |
73 | <xs:extension base="woltlab_varchar"> | |
74 | <xs:attribute name="language" type="xs:string" /> | |
75 | </xs:extension> | |
76 | </xs:simpleContent> | |
77 | </xs:complexType> | |
78 | </xs:element> | |
79 | <xs:element name="packagedescription" minOccurs="0" maxOccurs="unbounded"> | |
80 | <xs:complexType> | |
81 | <xs:simpleContent> | |
82 | <xs:extension base="xs:string"> | |
83 | <xs:attribute name="language" type="xs:string" /> | |
84 | </xs:extension> | |
85 | </xs:simpleContent> | |
86 | </xs:complexType> | |
87 | </xs:element> | |
d4245281 | 88 | <xs:element name="packageurl" type="xs:anyURI" minOccurs="0" maxOccurs="1" /> |
aac1247e | 89 | <xs:element name="isapplication" type="woltlab_boolean" minOccurs="0" maxOccurs="1" /> |
a314770a MW |
90 | <xs:element name="version" type="woltlab_varchar" minOccurs="1" maxOccurs="1" /> |
91 | <xs:element name="date" type="xs:date" minOccurs="1" maxOccurs="1" /> | |
9f2aa693 | 92 | </xs:choice> |
a314770a MW |
93 | </xs:complexType> |
94 | ||
61d010dd | 95 | <!-- author information element --> |
a314770a MW |
96 | <xs:complexType name="authorInformation"> |
97 | <xs:all> | |
98 | <xs:element name="author" type="woltlab_varchar" minOccurs="1" /> | |
99 | <xs:element name="authorurl" type="xs:anyURI" minOccurs="0" /> | |
100 | </xs:all> | |
101 | </xs:complexType> | |
102 | ||
61d010dd | 103 | <!-- required packages element --> |
a314770a MW |
104 | <xs:complexType name="requiredPackages"> |
105 | <xs:sequence> | |
106 | <xs:element name="requiredpackage" type="simplePackage" minOccurs="0" maxOccurs="unbounded" /> | |
107 | </xs:sequence> | |
108 | </xs:complexType> | |
109 | ||
61d010dd | 110 | <!-- optional packages element --> |
a314770a MW |
111 | <xs:complexType name="optionalPackages"> |
112 | <xs:sequence> | |
113 | <xs:element name="optionalpackage" type="optionalPackage" minOccurs="0" maxOccurs="unbounded" /> | |
114 | </xs:sequence> | |
115 | </xs:complexType> | |
116 | ||
61d010dd | 117 | <!-- excluded packages element --> |
a314770a MW |
118 | <xs:complexType name="excludedPackages"> |
119 | <xs:sequence> | |
120 | <xs:element name="excludedpackage" type="excludedPackage" minOccurs="0" maxOccurs="unbounded" /> | |
121 | </xs:sequence> | |
122 | </xs:complexType> | |
123 | </xs:schema> |