2 <!-- This file is used for xml files which install, update or delete user options. -->
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 <!-- include option types -->
8 <xs:include schemaLocation="optionTypes.xsd" />
11 <xs:element name="data">
14 <xs:element name="import" type="import" minOccurs="0" />
15 <xs:element name="delete" type="delete" minOccurs="0" />
20 <!-- import element -->
21 <xs:complexType name="import">
23 <xs:element name="categories" type="categories_import" minOccurs="0" />
24 <xs:element name="options" type="options_import" minOccurs="0" />
28 <!-- categories import element type -->
29 <xs:complexType name="categories_import">
31 <xs:element name="category" type="category_import" maxOccurs="unbounded" />
35 <!-- imported/updated category element type -->
36 <xs:complexType name="category_import">
38 <xs:extension base="category_delete">
40 <xs:element name="icon" type="woltlab_varchar_nullable" minOccurs="0" />
41 <xs:element name="menuicon" type="woltlab_varchar_nullable" minOccurs="0" />
42 <xs:element name="parent" type="woltlab_varchar_nullable" minOccurs="0" />
43 <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
49 <!-- options import element type -->
50 <xs:complexType name="options_import">
52 <xs:element name="option" type="option_import" maxOccurs="unbounded" />
56 <!-- imported/updated element type -->
57 <xs:complexType name="option_import">
59 <xs:extension base="option_delete">
61 <xs:element name="categoryname" type="woltlab_varchar" minOccurs="1" />
62 <xs:element name="optiontype" type="woltlab_varchar_nullable" minOccurs="0" />
63 <xs:element name="defaultvalue" type="xs:string" minOccurs="0" />
64 <xs:element name="validationpattern" type="xs:string" minOccurs="0" />
65 <xs:element name="outputclass" type="woltlab_varchar_nullable" minOccurs="0" />
66 <xs:element name="selectoptions" type="xs:string" minOccurs="0" />
67 <xs:element name="enableoptions" type="xs:string" minOccurs="0" />
68 <xs:element name="required" type="woltlab_boolean" minOccurs="0" />
69 <xs:element name="editable" minOccurs="0" >
71 <xs:restriction base="xs:integer">
72 <xs:minInclusive value="0" />
73 <xs:maxInclusive value="4" />
77 <xs:element name="visible" minOccurs="0">
79 <xs:restriction base="xs:integer">
80 <xs:minInclusive value="0" />
81 <xs:maxInclusive value="15" />
85 <xs:element name="searchable" type="woltlab_boolean" minOccurs="0" />
86 <xs:element name="deactivated" type="woltlab_boolean" minOccurs="0" />
87 <xs:element name="showorder" type="xs:unsignedInt" minOccurs="0" />
88 <xs:element name="options" type="xs:string" minOccurs="0" />
89 <xs:element name="permissions" type="xs:string" minOccurs="0" />
90 <xs:element name="isdisabled" type="woltlab_boolean" minOccurs="0" />