diff options
Diffstat (limited to 'data/themerc.xsd')
| -rwxr-xr-x | data/themerc.xsd | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/data/themerc.xsd b/data/themerc.xsd new file mode 100755 index 00000000..7b9573d9 --- /dev/null +++ b/data/themerc.xsd @@ -0,0 +1,169 @@ +<?xml version="1.0"?> + +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://openbox.org/themerc" + xmlns:obt="http://openbox.org/themerc" + elementFormDefault="qualified" + version="1.0"> + + <xs:annotation> + <xs:documentation xml:lang="en"> + Openbox theme definition + Version 1 + Copyright 2007 Dana Jansens + </xs:documentation> + </xs:annotation> + + <xs:element name="openbox_theme" type="obt:theme"> + <xs:annotation> + <xs:documentation xml:lang="en"> + The root node + </xs:documentation> + </xs:annotation> + </xs:element> + + <xs:complexType name="padding"> + <xs:attribute name="horizontal" type="xs:integer"/> + <xs:attribute name="vertical" type="xs:integer"/> + </xs:complexType> + + <xs:complexType name="color"> + <xs:attribute name="r" type="xs:integer"/> + <xs:attribute name="g" type="xs:integer"/> + <xs:attribute name="b" type="xs:integer"/> + <xs:attribute name="a" type="xs:integer"/> + </xs:complexType> + + <xs:complexType name="point"> + <xs:attribute name="x" type="xs:integer"/> + <xs:attribute name="y" type="xs:integer"/> + </xs:complexType> + + <xs:simpleType name="justify"> + <xs:restriction base="xs:string"> + <xs:enumeration value="left"/> + <xs:enumeration value="right"/> + <xs:enumeration value="center"/> + </xs:restriction> + </xs:simpleType> + + <xs:complexType name="shadow"> + <xs:all> + <xs:element name="offset" type="obt:point" minOccurs="0"/> + <xs:element name="primary" type="obt:color" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="text"> + <xs:all> + <xs:element name="primary" type="obt:color" minOccurs="0"/> + <xs:element name="shadow" type="obt:shadow" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="textarea"> + <xs:all> + <xs:element name="style" type="xs:string" minOccurs="0"/> + <xs:element name="primary" type="obt:color" minOccurs="0"/> + <xs:element name="secondary" type="obt:color" minOccurs="0"/> + <xs:element name="interlace" type="obt:color" minOccurs="0"/> + <xs:element name="border" type="obt:color" minOccurs="0"/> + <xs:element name="text" type="obt:text" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="area"> + <xs:all> + <xs:element name="style" type="xs:string" minOccurs="0"/> + <xs:element name="primary" type="obt:color" minOccurs="0"/> + <xs:element name="secondary" type="obt:color" minOccurs="0"/> + <xs:element name="interlace" type="obt:color" minOccurs="0"/> + <xs:element name="border" type="obt:color" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="buttonarea"> + <xs:all> + <xs:element name="style" type="xs:string" minOccurs="0"/> + <xs:element name="primary" type="obt:color" minOccurs="0"/> + <xs:element name="secondary" type="obt:color" minOccurs="0"/> + <xs:element name="interlace" type="obt:color" minOccurs="0"/> + <xs:element name="border" type="obt:color" minOccurs="0"/> + <xs:element name="image" type="obt:color" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="border"> + <xs:all> + <xs:element name="primary" type="obt:color" minOccurs="0"/> + <xs:element name="width" type="xs:integer" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="allmenus"> + <xs:all> + <xs:element name="border" type="obt:border" minOccurs="0"/> + <xs:element name="overlap" type="xs:integer" minOccurs="0"/> + <xs:element name="justify" type="obt:justify" minOccurs="0"/> + <xs:element name="title" type="obt:textarea" minOccurs="0"/> + <xs:element name="entries" type="obt:area" minOccurs="0"/> + <xs:element name="inactive" type="obt:text" minOccurs="0"/> + <xs:element name="active" type="obt:textarea" minOccurs="0"/> + <xs:element name="disabled" type="obt:text" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="allbuttons"> + <xs:all> + <xs:element name="unpressed" type="obt:buttonarea" minOccurs="0"/> + <xs:element name="pressed" type="obt:buttonarea" minOccurs="0"/> + <xs:element name="hover" type="obt:buttonarea" minOccurs="0"/> + <xs:element name="disabled" type="obt:buttonarea" minOccurs="0"/> + <xs:element name="toggled" type="obt:buttonarea" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="window"> + <xs:all> + <xs:element name="clientpadding" type="obt:color" minOccurs="0"/> + <xs:element name="titlebar" type="obt:area" minOccurs="0"/> + <xs:element name="label" type="obt:textarea" minOccurs="0"/> + <xs:element name="handle" type="obt:area" minOccurs="0"/> + <xs:element name="grip" type="obt:area" minOccurs="0"/> + <xs:element name="buttons" type="obt:allbuttons" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="allwindows"> + <xs:all> + <xs:element name="clientpadding" type="obt:padding" minOccurs="0"/> + <xs:element name="justify" type="obt:justify" minOccurs="0"/> + <xs:element name="border" type="obt:border" minOccurs="0"/> + <xs:element name="inactive" type="obt:window" minOccurs="0"/> + <xs:element name="active" type="obt:window" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="allosd"> + <xs:all> + <xs:element name="text" type="obt:text" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="themeDimensions"> + <xs:all> + <xs:element name="padding" type="obt:padding" minOccurs="0"/> + <xs:element name="handle" type="xs:integer" minOccurs="0"/> + </xs:all> + </xs:complexType> + + <xs:complexType name="theme"> + <xs:all> + <xs:element name="dimensions" type="obt:themeDimensions" minOccurs="0"/> + <xs:element name="osd" type="obt:allosd" minOccurs="0"/> + <xs:element name="menu" type="obt:allmenus" minOccurs="0"/> + <xs:element name="window" type="obt:allwindows" minOccurs="0"/> + </xs:all> + <xs:attribute name="version" type="xs:integer" use="required" fixed="1"/> + </xs:complexType> +</xs:schema> |
