]> Dogcows Code - chaz/openbox/blob - data/themerc.xsd
3a636b5db9acde2fb92425cd1dd25209df0c10fd
[chaz/openbox] / data / themerc.xsd
1 <?xml version="1.0"?>
2
3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 targetNamespace="http://openbox.org/4.0/themerc"
5 xmlns:obt="http://openbox.org/4.0/themerc"
6 elementFormDefault="qualified"
7 version="1.0">
8
9 <xs:annotation>
10 <xs:documentation xml:lang="en">
11 Openbox theme definition
12 Version 1
13 Copyright 2007 Dana Jansens
14 </xs:documentation>
15 </xs:annotation>
16
17 <xs:element name="openbox_theme" type="obt:theme">
18 <xs:annotation>
19 <xs:documentation xml:lang="en">
20 The root node
21 </xs:documentation>
22 </xs:annotation>
23 </xs:element>
24
25 <xs:complexType name="color">
26 <xs:attribute name="r" type="xs:integer"/>
27 <xs:attribute name="g" type="xs:integer"/>
28 <xs:attribute name="b" type="xs:integer"/>
29 <xs:attribute name="a" type="xs:integer"/>
30 </xs:complexType>
31
32 <xs:complexType name="point">
33 <xs:attribute name="x" type="xs:integer"/>
34 <xs:attribute name="y" type="xs:integer"/>
35 </xs:complexType>
36
37 <xs:simpleType name="justify">
38 <xs:restriction base="xs:string">
39 <xs:enumeration value="left"/>
40 <xs:enumeration value="right"/>
41 <xs:enumeration value="center"/>
42 </xs:restriction>
43 </xs:simpleType>
44
45 <xs:complexType name="shadow">
46 <xs:all>
47 <xs:element name="offset" type="obt:point" minOccurs="0"/>
48 <xs:element name="primary" type="obt:color" minOccurs="0"/>
49 </xs:all>
50 </xs:complexType>
51
52 <xs:complexType name="text">
53 <xs:all>
54 <xs:element name="primary" type="obt:color" minOccurs="0"/>
55 <xs:element name="shadow" type="obt:shadow" minOccurs="0"/>
56 </xs:all>
57 </xs:complexType>
58
59 <xs:complexType name="textarea">
60 <xs:all>
61 <xs:element name="style" type="xs:string" minOccurs="0"/>
62 <xs:element name="primary" type="obt:color" minOccurs="0"/>
63 <xs:element name="secondary" type="obt:color" minOccurs="0"/>
64 <xs:element name="interlace" type="obt:color" minOccurs="0"/>
65 <xs:element name="border" type="obt:color" minOccurs="0"/>
66 <xs:element name="text" type="obt:text" minOccurs="0"/>
67 </xs:all>
68 </xs:complexType>
69
70 <xs:complexType name="area">
71 <xs:all>
72 <xs:element name="style" type="xs:string" minOccurs="0"/>
73 <xs:element name="primary" type="obt:color" minOccurs="0"/>
74 <xs:element name="secondary" type="obt:color" minOccurs="0"/>
75 <xs:element name="interlace" type="obt:color" minOccurs="0"/>
76 <xs:element name="border" type="obt:color" minOccurs="0"/>
77 </xs:all>
78 </xs:complexType>
79
80 <xs:complexType name="buttonarea">
81 <xs:all>
82 <xs:element name="style" type="xs:string" minOccurs="0"/>
83 <xs:element name="primary" type="obt:color" minOccurs="0"/>
84 <xs:element name="secondary" type="obt:color" minOccurs="0"/>
85 <xs:element name="interlace" type="obt:color" minOccurs="0"/>
86 <xs:element name="border" type="obt:color" minOccurs="0"/>
87 <xs:element name="image" type="obt:color" minOccurs="0"/>
88 </xs:all>
89 </xs:complexType>
90
91 <xs:complexType name="allmenus">
92 <xs:all>
93 <xs:element name="border" type="obt:color" minOccurs="0"/>
94 <xs:element name="overlap" type="xs:integer" minOccurs="0"/>
95 <xs:element name="justify" type="obt:justify" minOccurs="0"/>
96 <xs:element name="title" type="obt:textarea" minOccurs="0"/>
97 <xs:element name="entries" type="obt:area" minOccurs="0"/>
98 <xs:element name="inactive" type="obt:text" minOccurs="0"/>
99 <xs:element name="active" type="obt:textarea" minOccurs="0"/>
100 <xs:element name="disabled" type="obt:text" minOccurs="0"/>
101 <xs:element name="activedisabled" type="obt:textarea" minOccurs="0"/>
102 </xs:all>
103 </xs:complexType>
104
105 <xs:complexType name="allbuttons">
106 <xs:all>
107 <xs:element name="unpressed" type="obt:buttonarea" minOccurs="0"/>
108 <xs:element name="pressed" type="obt:buttonarea" minOccurs="0"/>
109 <xs:element name="hover" type="obt:buttonarea" minOccurs="0"/>
110 <xs:element name="disabled" type="obt:buttonarea" minOccurs="0"/>
111 <xs:element name="toggled-unpressed" type="obt:buttonarea" minOccurs="0"/>
112 <xs:element name="toggled-pressed" type="obt:buttonarea" minOccurs="0"/>
113 <xs:element name="toggled-hover" type="obt:buttonarea" minOccurs="0"/>
114 </xs:all>
115 </xs:complexType>
116
117 <xs:complexType name="window">
118 <xs:all>
119 <xs:element name="border" type="obt:color" minOccurs="0"/>
120 <xs:element name="titleseparator" type="obt:color" minOccurs="0"/>
121 <xs:element name="clientpadding" type="obt:color" minOccurs="0"/>
122 <xs:element name="titlebar" type="obt:area" minOccurs="0"/>
123 <xs:element name="label" type="obt:textarea" minOccurs="0"/>
124 <xs:element name="handle" type="obt:area" minOccurs="0"/>
125 <xs:element name="grip" type="obt:area" minOccurs="0"/>
126 <xs:element name="buttons" type="obt:allbuttons" minOccurs="0"/>
127 </xs:all>
128 </xs:complexType>
129
130 <xs:complexType name="allwindows">
131 <xs:all>
132 <xs:element name="justify" type="obt:justify" minOccurs="0"/>
133 <xs:element name="inactive" type="obt:window" minOccurs="0"/>
134 <xs:element name="active" type="obt:window" minOccurs="0"/>
135 </xs:all>
136 </xs:complexType>
137
138 <xs:complexType name="allosd">
139 <xs:all>
140 <xs:element name="border" type="obt:color" minOccurs="0"/>
141 <xs:element name="label" type="obt:textarea" minOccurs="0"/>
142 <xs:element name="background" type="obt:area" minOccurs="0"/>
143 <xs:element name="hilight" type="obt:area" minOccurs="0"/>
144 <xs:element name="unhilight" type="obt:area" minOccurs="0"/>
145 </xs:all>
146 </xs:complexType>
147
148 <xs:complexType name="windowDimensions">
149 <xs:all>
150 <xs:element name="border" type="xs:integer" minOccurs="0"/>
151 <xs:element name="clientpadding" type="obt:point" minOccurs="0"/>
152 </xs:all>
153 </xs:complexType>
154
155 <xs:complexType name="menuDimensions">
156 <xs:all>
157 <xs:element name="border" type="xs:integer" minOccurs="0"/>
158 </xs:all>
159 </xs:complexType>
160
161 <xs:complexType name="osdDimensions">
162 <xs:all>
163 <xs:element name="border" type="xs:integer" minOccurs="0"/>
164 </xs:all>
165 </xs:complexType>
166
167 <xs:complexType name="themeDimensions">
168 <xs:all>
169 <xs:element name="padding" type="obt:point" minOccurs="0"/>
170 <xs:element name="handle" type="xs:integer" minOccurs="0"/>
171 <xs:element name="window" type="obt:windowDimensions" minOccurs="0"/>
172 <xs:element name="menu" type="obt:menuDimensions" minOccurs="0"/>
173 <xs:element name="osd" type="obt:osdDimensions" minOccurs="0"/>
174 </xs:all>
175 </xs:complexType>
176
177 <xs:complexType name="about">
178 <xs:all>
179 <xs:element name="author" type="xs:string" minOccurs="0"/>
180 <xs:element name="email" type="xs:string" minOccurs="0"/>
181 <xs:element name="webpage" type="xs:string" minOccurs="0"/>
182 <xs:element name="comment" type="xs:string" minOccurs="0"/>
183 </xs:all>
184 </xs:complexType>
185
186 <xs:complexType name="theme">
187 <xs:all>
188 <xs:element name="about" type="obt:about" minOccurs="0"/>
189 <xs:element name="dimensions" type="obt:themeDimensions" minOccurs="0"/>
190 <xs:element name="osd" type="obt:allosd" minOccurs="0"/>
191 <xs:element name="menu" type="obt:allmenus" minOccurs="0"/>
192 <xs:element name="window" type="obt:allwindows" minOccurs="0"/>
193 </xs:all>
194 <xs:attribute name="version" type="xs:integer" use="required" fixed="1"/>
195 <xs:attribute name="engine" type="xs:string" use="required" fixed="box"/>
196 </xs:complexType>
197 </xs:schema>
This page took 0.040698 seconds and 3 git commands to generate.