Merge remote-tracking branch 'refs/remotes/origin/2.1' into 3.0
[GitHub/WoltLab/WCF.git] / XSD / box.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- This file is used for xml-files which install, update or delete pages. -->
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
7 <!-- data element -->
8 <xs:element name="data">
9 <xs:complexType>
10 <xs:all>
11 <xs:element name="import" type="import" minOccurs="0" />
12 <xs:element name="delete" type="delete" minOccurs="0" />
13 </xs:all>
14 </xs:complexType>
15 </xs:element>
16
17 <!-- import element -->
18 <xs:complexType name="import">
19 <xs:sequence>
20 <xs:element name="box" type="box_import" maxOccurs="unbounded" />
21 </xs:sequence>
22 </xs:complexType>
23
24 <!-- delete element -->
25 <xs:complexType name="delete">
26 <xs:sequence>
27 <xs:element name="box" type="box_delete" maxOccurs="unbounded" />
28 </xs:sequence>
29 </xs:complexType>
30
31 <!-- deleted box -->
32 <xs:complexType name="box_delete">
33 <xs:attribute name="identifier" type="woltlab_varchar" use="required" />
34 </xs:complexType>
35
36 <!-- imported/updated box -->
37 <xs:complexType name="box_import">
38 <xs:complexContent>
39 <xs:extension base="box_delete">
40 <xs:choice maxOccurs="unbounded">
41 <xs:element name="boxType" minOccurs="1">
42 <xs:simpleType>
43 <xs:restriction base="xs:string">
44 <xs:enumeration value="system" />
45 </xs:restriction>
46 </xs:simpleType>
47 </xs:element>
48 <xs:element name="objectType" type="xs:string" minOccurs="0" />
49 <xs:element name="position" type="xs:string" minOccurs="0" />
50 <xs:element name="cssClassName" type="xs:string" minOccurs="0" />
51 <xs:element name="showHeader" type="woltlab_boolean" minOccurs="1" />
52 <xs:element name="visibleEverywhere" type="woltlab_boolean" minOccurs="0" />
53 <xs:element name="visibilityExceptions" type="visibilityExceptions_element" minOccurs="0" />
54 <xs:element name="sortField" type="xs:string" minOccurs="0" />
55 <xs:element name="sortOrder" minOccurs="1">
56 <xs:simpleType>
57 <xs:restriction base="xs:string">
58 <xs:enumeration value="ASC" />
59 <xs:enumeration value="DESC" />
60 </xs:restriction>
61 </xs:simpleType>
62 </xs:element>
63 <xs:element name="limit" type="xs:integer" minOccurs="0" />
64 <xs:element name="content" type="content_element" minOccurs="1" />
65 <xs:element name="name" type="name_element" minOccurs="1" />
66 </xs:choice>
67 </xs:extension>
68 </xs:complexContent>
69 </xs:complexType>
70
71 <xs:complexType name="content_element">
72 <xs:all>
73 <xs:element name="title" type="woltlab_varchar" minOccurs="1" />
74 </xs:all>
75 <xs:attribute name="language" type="woltlab_varchar" use="optional" />
76 </xs:complexType>
77
78 <xs:complexType name="visibilityExceptions_element">
79 <xs:choice maxOccurs="unbounded">
80 <xs:element name="page" type="xs:string" minOccurs="1" />
81 </xs:choice>
82 </xs:complexType>
83
84 <xs:complexType name="name_element">
85 <xs:simpleContent>
86 <xs:extension base="woltlab_varchar">
87 <xs:attribute name="language" type="woltlab_varchar" use="required" />
88 </xs:extension>
89 </xs:simpleContent>
90 </xs:complexType>
91 </xs:schema>