3 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
4 targetNamespace="http://openbox.org/themerc"
5 xmlns:obt="http://openbox.org/themerc"
6 elementFormDefault="qualified"
10 <xs:documentation xml:lang="en">
11 Openbox theme definition
13 Copyright 2007 Dana Jansens
17 <xs:element name="openbox_theme" type="obt:theme">
19 <xs:documentation xml:lang="en">
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"/>
32 <xs:complexType name="point">
33 <xs:attribute name="x" type="xs:integer"/>
34 <xs:attribute name="y" type="xs:integer"/>
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"/>
45 <xs:complexType name="shadow">
47 <xs:element name="offset" type="obt:point" minOccurs="0"/>
48 <xs:element name="primary" type="obt:color" minOccurs="0"/>
52 <xs:complexType name="text">
54 <xs:element name="primary" type="obt:color" minOccurs="0"/>
55 <xs:element name="shadow" type="obt:shadow" minOccurs="0"/>
59 <xs:complexType name="textarea">
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"/>
70 <xs:complexType name="area">
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"/>
80 <xs:complexType name="buttonarea">
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"/>
91 <xs:complexType name="border">
93 <xs:element name="primary" type="obt:color" minOccurs="0"/>
94 <xs:element name="width" type="xs:integer" minOccurs="0"/>
98 <xs:complexType name="allmenus">
100 <xs:element name="border" type="obt:border" minOccurs="0"/>
101 <xs:element name="overlap" type="xs:integer" minOccurs="0"/>
102 <xs:element name="justify" type="obt:justify" minOccurs="0"/>
103 <xs:element name="title" type="obt:textarea" minOccurs="0"/>
104 <xs:element name="entries" type="obt:area" minOccurs="0"/>
105 <xs:element name="inactive" type="obt:text" minOccurs="0"/>
106 <xs:element name="active" type="obt:textarea" minOccurs="0"/>
107 <xs:element name="disabled" type="obt:text" minOccurs="0"/>
111 <xs:complexType name="allbuttons">
113 <xs:element name="unpressed" type="obt:buttonarea" minOccurs="0"/>
114 <xs:element name="pressed" type="obt:buttonarea" minOccurs="0"/>
115 <xs:element name="hover" type="obt:buttonarea" minOccurs="0"/>
116 <xs:element name="disabled" type="obt:buttonarea" minOccurs="0"/>
117 <xs:element name="toggled-unpressed" type="obt:buttonarea" minOccurs="0"/>
118 <xs:element name="toggled-pressed" type="obt:buttonarea" minOccurs="0"/>
119 <xs:element name="toggled-hover" type="obt:buttonarea" minOccurs="0"/>
123 <xs:complexType name="window">
125 <xs:element name="clientpadding" type="obt:color" minOccurs="0"/>
126 <xs:element name="titlebar" type="obt:area" minOccurs="0"/>
127 <xs:element name="label" type="obt:textarea" minOccurs="0"/>
128 <xs:element name="handle" type="obt:area" minOccurs="0"/>
129 <xs:element name="grip" type="obt:area" minOccurs="0"/>
130 <xs:element name="buttons" type="obt:allbuttons" minOccurs="0"/>
134 <xs:complexType name="allwindows">
136 <xs:element name="clientpadding" type="obt:point" minOccurs="0"/>
137 <xs:element name="justify" type="obt:justify" minOccurs="0"/>
138 <xs:element name="border" type="obt:border" minOccurs="0"/>
139 <xs:element name="inactive" type="obt:window" minOccurs="0"/>
140 <xs:element name="active" type="obt:window" minOccurs="0"/>
144 <xs:complexType name="allosd">
146 <xs:element name="text" type="obt:text" minOccurs="0"/>
150 <xs:complexType name="themeDimensions">
152 <xs:element name="padding" type="obt:point" minOccurs="0"/>
153 <xs:element name="handle" type="xs:integer" minOccurs="0"/>
157 <xs:complexType name="theme">
159 <xs:element name="dimensions" type="obt:themeDimensions" minOccurs="0"/>
160 <xs:element name="osd" type="obt:allosd" minOccurs="0"/>
161 <xs:element name="menu" type="obt:allmenus" minOccurs="0"/>
162 <xs:element name="window" type="obt:allwindows" minOccurs="0"/>
164 <xs:attribute name="version" type="xs:integer" use="required" fixed="1"/>