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="timestamp" />
87 <xs:element name="versiontype" type="woltlab_varchar" />
88 <xs:element ref="license" />
90 <xs:attribute name="name" use="required" />
94 <!-- from versions element -->
95 <xs:element name="fromversions">
98 <xs:element maxOccurs="unbounded" ref="fromversion" />
103 <!-- fromversion element -->
104 <xs:element name="fromversion" type="xs:string" />
106 <!-- required packages element -->
107 <xs:element name="requiredpackages">
110 <xs:element maxOccurs="unbounded" ref="requiredpackage" />
115 <!-- required package element -->
116 <xs:element name="requiredpackage">
119 <xs:extension base="xs:NCName">
120 <xs:attribute name="minversion" />
126 <!-- timestamp element -->
127 <xs:element name="timestamp" type="xs:integer" />
129 <!-- license element -->
130 <xs:element name="license" type="xs:NCName" />