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 | 4 | <xs:include schemaLocation="types.xsd" /> |
2ee2acec | 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> | |
2ee2acec | 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> | |
2ee2acec | 30 | |
61d010dd | 31 | <!-- optional package element --> |
a314770a MW |
32 | <xs:complexType name="optionalPackage"> |
33 | <xs:simpleContent> | |
34 | <xs:extension base="xs:string"> | |
a314770a MW |
35 | <xs:attribute name="file" type="xs:string" use="required" /> |
36 | </xs:extension> | |
37 | </xs:simpleContent> | |
38 | </xs:complexType> | |
2ee2acec | 39 | |
61d010dd | 40 | <!-- excluded package element --> |
a314770a MW |
41 | <xs:complexType name="excludedPackage"> |
42 | <xs:simpleContent> | |
43 | <xs:extension base="xs:string"> | |
44 | <xs:attribute name="version" type="xs:string" /> | |
45 | </xs:extension> | |
46 | </xs:simpleContent> | |
47 | </xs:complexType> | |
89484ba0 | 48 | |
61d010dd | 49 | <!-- instructions elements --> |
a314770a | 50 | <xs:complexType name="instructions"> |
b2f158bf MW |
51 | <xs:choice maxOccurs="1"> |
52 | <xs:element name="void" type="xs:string" fixed=""/> | |
2ee2acec OB |
53 | <xs:sequence> |
54 | <xs:element name="instruction" maxOccurs="unbounded" type="instructionType"/> | |
55 | </xs:sequence> | |
b2f158bf | 56 | </xs:choice> |
2ee2acec | 57 | <xs:attribute name="type" type="instructionTypes" use="required" /> |
a314770a MW |
58 | <xs:attribute name="fromversion" type="woltlab_varchar" /> |
59 | </xs:complexType> | |
2ee2acec | 60 | |
61d010dd | 61 | <!-- instruction type attribute --> |
2ee2acec | 62 | <xs:simpleType name="instructionTypes"> |
a314770a MW |
63 | <xs:restriction base="xs:string"> |
64 | <xs:enumeration value="install" /> | |
65 | <xs:enumeration value="update" /> | |
66 | </xs:restriction> | |
67 | </xs:simpleType> | |
2ee2acec | 68 | |
61d010dd | 69 | <!-- package information element --> |
a314770a | 70 | <xs:complexType name="packageInformation"> |
9f2aa693 | 71 | <xs:choice maxOccurs="unbounded"> |
a314770a MW |
72 | <xs:element name="packagename" minOccurs="1" maxOccurs="unbounded"> |
73 | <xs:complexType> | |
74 | <xs:simpleContent> | |
75 | <xs:extension base="woltlab_varchar"> | |
76 | <xs:attribute name="language" type="xs:string" /> | |
77 | </xs:extension> | |
78 | </xs:simpleContent> | |
79 | </xs:complexType> | |
80 | </xs:element> | |
81 | <xs:element name="packagedescription" minOccurs="0" maxOccurs="unbounded"> | |
82 | <xs:complexType> | |
83 | <xs:simpleContent> | |
84 | <xs:extension base="xs:string"> | |
85 | <xs:attribute name="language" type="xs:string" /> | |
86 | </xs:extension> | |
87 | </xs:simpleContent> | |
88 | </xs:complexType> | |
89 | </xs:element> | |
2ee2acec | 90 | <xs:element name="applicationdirectory" type="woltlab_varchar" minOccurs="0" maxOccurs="1" /> |
d4245281 | 91 | <xs:element name="packageurl" type="xs:anyURI" minOccurs="0" maxOccurs="1" /> |
aac1247e | 92 | <xs:element name="isapplication" type="woltlab_boolean" minOccurs="0" maxOccurs="1" /> |
a314770a MW |
93 | <xs:element name="version" type="woltlab_varchar" minOccurs="1" maxOccurs="1" /> |
94 | <xs:element name="date" type="xs:date" minOccurs="1" maxOccurs="1" /> | |
a930ddd1 MS |
95 | <xs:element name="license" minOccurs="0" maxOccurs="unbounded"> |
96 | <xs:complexType> | |
97 | <xs:simpleContent> | |
98 | <xs:extension base="xs:string"> | |
99 | <xs:attribute name="language" type="xs:string" /> | |
100 | </xs:extension> | |
101 | </xs:simpleContent> | |
102 | </xs:complexType> | |
103 | </xs:element> | |
9f2aa693 | 104 | </xs:choice> |
a314770a | 105 | </xs:complexType> |
2ee2acec | 106 | |
61d010dd | 107 | <!-- author information element --> |
a314770a MW |
108 | <xs:complexType name="authorInformation"> |
109 | <xs:all> | |
110 | <xs:element name="author" type="woltlab_varchar" minOccurs="1" /> | |
111 | <xs:element name="authorurl" type="xs:anyURI" minOccurs="0" /> | |
112 | </xs:all> | |
113 | </xs:complexType> | |
2ee2acec | 114 | |
61d010dd | 115 | <!-- required packages element --> |
a314770a MW |
116 | <xs:complexType name="requiredPackages"> |
117 | <xs:sequence> | |
118 | <xs:element name="requiredpackage" type="simplePackage" minOccurs="0" maxOccurs="unbounded" /> | |
119 | </xs:sequence> | |
120 | </xs:complexType> | |
2ee2acec | 121 | |
61d010dd | 122 | <!-- optional packages element --> |
a314770a MW |
123 | <xs:complexType name="optionalPackages"> |
124 | <xs:sequence> | |
125 | <xs:element name="optionalpackage" type="optionalPackage" minOccurs="0" maxOccurs="unbounded" /> | |
126 | </xs:sequence> | |
127 | </xs:complexType> | |
2ee2acec | 128 | |
61d010dd | 129 | <!-- excluded packages element --> |
a314770a MW |
130 | <xs:complexType name="excludedPackages"> |
131 | <xs:sequence> | |
132 | <xs:element name="excludedpackage" type="excludedPackage" minOccurs="0" maxOccurs="unbounded" /> | |
133 | </xs:sequence> | |
134 | </xs:complexType> | |
2ee2acec OB |
135 | |
136 | <xs:complexType name="instructionType"> | |
137 | <xs:simpleContent> | |
138 | <xs:extension base="xs:string"> | |
139 | <xs:attribute name="type" use="required" type="woltlab_varchar"/> | |
140 | <xs:attribute name="application" type="woltlab_varchar"/> | |
141 | <xs:attribute name="run" type="woltlab_varchar"/> | |
142 | <xs:attribute name="flushCache" type="xs:boolean"/> | |
143 | </xs:extension> | |
144 | </xs:simpleContent> | |
145 | </xs:complexType> | |
b2f158bf | 146 | </xs:schema> |