1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- This file is used for package server xml files. -->
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.woltlab.com" targetNamespace="http://www.woltlab.com" elementFormDefault="qualified">
5 <xs:include schemaLocation="types.xsd" />
7 <!-- section element -->
8 <xs:element name="section">
11 <xs:element maxOccurs="unbounded" ref="package" />
13 <xs:attribute name="name" use="required" type="xs:NCName" />
17 <!-- package element -->
18 <xs:element name="package">
21 <xs:element ref="packageInformation" />
22 <xs:element ref="authorInformation" />
23 <xs:element ref="versions" />
25 <xs:attribute name="name" use="required" type="woltlab_varchar" />
29 <!-- package information element -->
30 <xs:element name="packageInformation">
33 <xs:element ref="packagename" />
34 <xs:element ref="packagedescription" />
35 <xs:choice minOccurs="0">
36 <xs:element ref="plugin" />
37 <xs:element ref="isapplication" />
43 <!-- package name element -->
44 <xs:element name="packagename" type="woltlab_varchar" />
46 <!-- package description element -->
47 <xs:element name="packagedescription" type="woltlab_varchar" />
49 <!-- plugin element -->
50 <xs:element name="plugin" type="woltlab_varchar" />
52 <!-- isapplication element -->
53 <xs:element name="isapplication" type="woltlab_boolean" />
55 <!-- author information element -->
56 <xs:element name="authorInformation">
59 <xs:element ref="author" />
60 <xs:element ref="authorurl" />
65 <!-- author element -->
66 <xs:element name="author" type="xs:string" />
68 <!-- author url element -->
69 <xs:element name="authorurl" type="xs:anyURI" />
71 <!-- versions element -->
72 <xs:element name="versions">
75 <xs:element maxOccurs="unbounded" ref="version" />
80 <!-- version element -->
81 <xs:element name="version">
84 <xs:element minOccurs="0" ref="fromversions" />
85 <xs:element minOccurs="0" ref="requiredpackages" />
86 <xs:element ref="updatetype" />
87 <xs:element ref="timestamp" />
88 <xs:element ref="versiontype" />
89 <xs:element ref="license" />
91 <xs:attribute name="name" use="required" />
95 <!-- from versions element -->
96 <xs:element name="fromversions">
99 <xs:element maxOccurs="unbounded" ref="fromversion" />
104 <!-- fromversion element -->
105 <xs:element name="fromversion" type="xs:string" />
107 <!-- required packages element -->
108 <xs:element name="requiredpackages">
111 <xs:element maxOccurs="unbounded" ref="requiredpackage" />
116 <!-- required package element -->
117 <xs:element name="requiredpackage">
120 <xs:extension base="xs:NCName">
121 <xs:attribute name="minversion" />
127 <!-- update type element -->
128 <xs:element name="updatetype" type="xs:NCName" />
130 <!-- timestamp element -->
131 <xs:element name="timestamp" type="xs:integer" />
133 <!-- version type element -->
134 <xs:element name="versiontype" type="xs:NCName" />
136 <!-- license element -->
137 <xs:element name="license" type="xs:NCName" />