udpate comment to match new basedir shit
[mikachu/openbox.git] / data / menu.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3      xml Schema for the openbox windowmanager menu file
4
5      Changes:
6      Don Aug 14 21:10:27 CEST 2003 - pch(a)myzel.net
7          split from rc3.xsd
8      Mon Sep  8 12:33:57 CEST 2003 - pch(a)myzel.net
9          up to beta1
10      Die Sep 16 21:22:59 CEST 2003 - pch(a)myzel.net
11          use a namespace
12      Fri Sep 19 14:36:33 EDT 2003 - xor(a)orodu.net
13          use openbox.org for namespace
14      Mon Sep 22 02:42:10 EDT 2003 - xor(a)orodu.net
15          fix some capitalization
16 -->
17 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
18     targetNamespace="http://openbox.org/"
19     xmlns:ob="http://openbox.org/"
20     elementFormDefault="qualified">
21     <!--
22          root node
23       -->
24     <xs:element name="openbox_menu">
25         <xs:complexType mixed="false">
26             <xs:sequence maxOccurs="unbounded" minOccurs="1">
27                 <xs:element name="menu" type="ob:menu"/>
28             </xs:sequence>
29         </xs:complexType>
30     </xs:element>
31     <!--
32          complex types
33       -->
34     <xs:complexType name="menu">
35         <xs:choice maxOccurs="unbounded" minOccurs="0">
36             <xs:element maxOccurs="unbounded" minOccurs="0" name="menu" type="ob:menu"/>
37             <xs:element maxOccurs="unbounded" minOccurs="0" name="item" type="ob:item"/>
38             <xs:element maxOccurs="unbounded" minOccurs="0" name="separator" type="ob:empty"/>
39         </xs:choice>
40         <xs:attribute name="label" type="xs:string" use="optional"/>
41         <xs:attribute name="id" type="xs:string" use="required"/>
42     </xs:complexType>
43     <xs:complexType name="empty">
44         <xs:complexContent>
45             <xs:restriction base="xs:anyType"/>
46         </xs:complexContent>
47     </xs:complexType>
48     <xs:complexType name="item">
49         <xs:sequence>
50             <xs:element minOccurs="0" name="action">
51                 <xs:complexType>
52                     <xs:sequence>
53                         <xs:element minOccurs="0" name="Execute" type="xs:string"/>
54                     </xs:sequence>
55                     <xs:attribute name="name" type="ob:actionname" use="required"/>
56                 </xs:complexType>
57             </xs:element>
58         </xs:sequence>
59         <xs:attribute name="label" type="xs:string" use="required"/>
60     </xs:complexType>
61     <!--
62          simple types / restrictions
63       -->
64     <xs:simpleType name="actionname">
65         <xs:restriction base="xs:string">
66             <xs:enumeration value="Execute"/>
67             <xs:enumeration value="Restart"/>
68             <xs:enumeration value="Reconfigure"/>
69             <xs:enumeration value="Exit"/>
70         </xs:restriction>
71     </xs:simpleType>
72 </xs:schema>