1 <?xml version=
"1.0" encoding=
"ISO-8859-1" ?>
2 <xs:schema xmlns:
xs=
"http://www.w3.org/2001/XMLSchema">
4 <xs:complexType name=
"Configuration">
6 <xs:element name=
"general" type=
"General" />
7 <xs:element name=
"animations" type=
"AnimationConfiguration" />
8 <xs:element name=
"board-border" type=
"BoardBorderConfiguration" />
9 <xs:element name=
"ics" type=
"IcsConfiguration" />
10 <xs:element name=
"clock" type=
"ClockConfiguration" />
11 <xs:element name=
"highlighting" type=
"HighlightingConfiguration" />
12 <xs:element name=
"movelist" type=
"MovelistConfiguration" />
13 <xs:element name=
"variants" type=
"VariantConfiguration" />
14 <xs:element name=
"engines" type=
"EngineConfiguration" />
20 <xs:complexType name=
"General">
22 <xs:element name=
"data-dir" type=
"xs:string" />
28 <xs:complexType name=
"BoardBorderConfiguration">
30 <xs:element name=
"visible" type=
"xs:string" />
31 <xs:element name=
"color" type=
"xs:string" />
32 <xs:element name=
"font" type=
"xs:string" />
33 <xs:element name=
"text-color" type=
"xs:string" />
39 <xs:complexType name=
"IcsConfiguration">
41 <xs:element name=
"username" type=
"xs:string" />
42 <xs:element name=
"password" type=
"xs:string" />
43 <xs:element name=
"host" type=
"xs:string" />
44 <xs:element name=
"port" type=
"xs:integer" />
45 <xs:element name=
"timeseal" type=
"Timeseal" />
49 <xs:complexType name=
"Timeseal">
51 <xs:element name=
"command" type=
"TimesealCommand" />
52 <xs:element name=
"path" type=
"xs:string" />
54 <xs:attribute name=
"use" use=
"optional" default=
"false" type=
"xs:boolean" />
57 <xs:complexType name=
"TimesealCommand">
59 <xs:extension base=
"xs:string">
60 <xs:attribute name=
"use" use=
"optional" default=
"true" type=
"xs:boolean" />
67 <xs:complexType name=
"ClockConfiguration">
69 <xs:element name=
"background-color" type=
"Color" />
70 <xs:element name=
"caption" type=
"ClockElement" />
71 <xs:element name=
"decimals" type=
"ClockElement" />
72 <xs:element name=
"player" type=
"ClockElement" />
73 <xs:element name=
"time" type=
"ClockElement" />
77 <xs:complexType name=
"ClockElement">
79 <xs:element name=
"size" type=
"xs:integer" />
85 <xs:complexType name=
"HighlightingConfiguration">
87 <xs:element name=
"lua" type=
"LuaHLConfiguration" />
88 <xs:element name=
"simple-highlighting" type=
"SimpleHighlighting" />
92 <xs:complexType name=
"LuaHLConfiguration">
94 <xs:element name=
"library-path" type=
"xs:string" />
95 <xs:element name=
"scripts" type=
"ScriptList" />
97 <xs:attribute name=
"use" use=
"optional" default=
"true" type=
"xs:boolean" />
100 <xs:complexType name=
"ScriptList">
102 <xs:element name=
"script" maxOccurs=
"unbounded" type=
"xs:string" />
106 <xs:complexType name=
"SimpleHighlighting">
108 <xs:element name=
"pattern" maxOccurs=
"unbounded" type=
"HighlightingPattern" />
112 <xs:complexType name=
"HighlightingPattern">
114 <xs:element name=
"name" type=
"xs:string" />
115 <xs:element name=
"regexp" type=
"xs:string" />
116 <xs:element name=
"format" type=
"HighlightingFormat" />
120 <xs:complexType name=
"HighlightingFormat">
122 <xs:element name=
"bold" minOccurs=
"0" type=
"xs:boolean" />
123 <xs:element name=
"italic" minOccurs=
"0" type=
"xs:boolean" />
124 <xs:element name=
"color" minOccurs=
"0" type=
"xs:string" />
130 <xs:complexType name=
"MovelistConfiguration">
132 <xs:element name=
"animations" type=
"MovelistAnimationConfiguration" />
133 <xs:element name=
"comments" type=
"MovelistComments" />
134 <xs:element name=
"selection-color" type=
"Color" />
135 <xs:element name=
"selection-font" type=
"Font" />
136 <xs:element name=
"font" type=
"Font" />
140 <xs:complexType name=
"MovelistAnimationConfiguration">
142 <xs:element name=
"speed" type=
"xs:integer" />
143 <xs:element name=
"smoothness" type=
"xs:integer" />
144 <xs:element name=
"animation-list" type=
"MovelistAnimationList" />
146 <xs:attribute name=
"enabled" type=
"xs:boolean" />
149 <xs:complexType name=
"MovelistAnimationList">
151 <xs:element name=
"hide-show" type=
"MovelistAnimation" />
152 <xs:element name=
"highlight" type=
"MovelistAnimation" />
153 <xs:element name=
"moving" type=
"MovelistAnimation" />
157 <xs:complexType name=
"MovelistAnimation">
158 <xs:attribute name=
"enabled" use=
"optional" default=
"false" type=
"xs:boolean" />
161 <xs:complexType name=
"MovelistComments">
163 <xs:element name=
"color" type=
"xs:string" />
164 <xs:element name=
"font" type=
"xs:string" />
170 <xs:complexType name=
"VariantConfiguration">
172 <xs:element name=
"variant" maxOccurs=
"unbounded" type=
"Variant" />
176 <xs:complexType name=
"Variant">
178 <xs:element name=
"name" type=
"xs:string" />
179 <xs:element name=
"theme" type=
"VariantTheme" />
183 <xs:complexType name=
"VariantTheme">
185 <xs:element name=
"pieces" type=
"xs:string" />
186 <xs:element name=
"squares" type=
"xs:string" />
188 <xs:attribute name=
"inherit-pieces" use=
"optional" default=
"false" type=
"xs:boolean" />
189 <xs:attribute name=
"inherit-squares" use=
"optional" default=
"false" type=
"xs:boolean" />
195 <xs:complexType name=
"AnimationConfiguration">
197 <xs:element name=
"smoothness" minOccurs=
"0" type=
"xs:integer" />
198 <xs:element name=
"speed" minOccurs=
"0" type=
"xs:integer" />
199 <xs:element name=
"animation-list" type=
"AnimationList" />
203 <xs:complexType name=
"AnimationList">
205 <xs:element name=
"capture" type=
"Animation" />
206 <xs:element name=
"fade" type=
"Animation" />
207 <xs:element name=
"movement" type=
"Animation" />
208 <xs:element name=
"transform" type=
"Animation" />
209 <xs:element name=
"sequence" type=
"SequenceAnimation" />
213 <xs:complexType name=
"Animation">
214 <xs:attribute name=
"enabled" type=
"xs:boolean" />
217 <xs:complexType name=
"SequenceAnimation">
219 <xs:extension base=
"Animation">
221 <xs:element name=
"max" type=
"xs:integer" />
229 <xs:complexType name=
"EngineConfiguration">
231 <xs:element name=
"default" minOccurs=
"0" type=
"xs:integer" />
232 <xs:element name=
"engine-list" type=
"EngineList" />
236 <xs:complexType name=
"EngineList">
238 <xs:element name=
"engine" maxOccurs=
"unbounded" type=
"Engine" />
242 <xs:complexType name=
"Engine">
244 <xs:element name=
"name" type=
"xs:string" />
245 <xs:element name=
"path" type=
"xs:string" />
247 <xs:attribute name=
"type" type=
"EngineType" />
250 <xs:simpleType name=
"EngineType">
251 <xs:restriction base=
"xs:string">
252 <xs:enumeration value=
"xboard"/>
253 <xs:enumeration value=
"UCI"/>
254 <xs:enumeration value=
"kboard"/>
258 <!-- colors and fonts -->
260 <xs:complexType name=
"Color">
261 <xs:attribute name=
"r" use=
"required" type=
"xs:integer" />
262 <xs:attribute name=
"g" use=
"required" type=
"xs:integer" />
263 <xs:attribute name=
"b" use=
"required" type=
"xs:integer" />
266 <xs:simpleType name=
"Font">
267 <xs:restriction base=
"xs:string" />
270 <!-- global element -->
272 <xs:element name=
"configuration" type=
"Configuration" />