1<?xml version="1.0" ?> 2<!-- 3 * $Id: giml.xsd,v 1.3 2004/06/25 09:03:53 ensonic Exp $ 4 * @file giml.xsd 5 * @author Stefan Kost <ensonic@users.sf.net> 6 * @date Thu Jun 24 17:28:26 MEST 2004 7 * 8 * @brief giml document schema definition 9 * @ingroup gitkcore 10 * 11--> 12<xs:schema targetNamespace="http://gitk.sourceforge.net/" 13 xmlns="http://gitk.sourceforge.net/" 14 xmlns:xs="http://www.w3.org/2001/XMLSchema" 15 xmlns:dc="http://purl.org/dc/elements/1.1/" 16 xmlns:i18n="http://apache.org/cocoon/i18n/2.0/"> 17 <xs:annotation> 18 <xs:documentation> 19 This schema describes giml dialog sources 20 </xs:documentation> 21 </xs:annotation> 22 23 <xs:import namespace="http://purl.org/dc/elements/1.1/" 24 schemaLocation="bug145246.xsd.imp" 25 /> 26 <!--xs:import namespace="http://apache.org/cocoon/i18n/2.0/" 27 schemaLocation="file://./i18n.xsd" 28 /--> 29 30 <!-- foreign namespace 31 <xs:element name="title"> 32 <xs:complexType mixed="true"> 33 <xs:choice minOccurs="0" maxOccurs="unbounded"> 34 </xs:choice> 35 </xs:complexType> 36 </xs:element> 37 38 <xs:element name="text"> 39 <xs:complexType mixed="true"></xs:complexType> 40 </xs:element> 41 --> 42 43 <xs:element name="option"> 44 <xs:complexType mixed="true"> 45 <xs:choice minOccurs="0" maxOccurs="unbounded"></xs:choice> 46 </xs:complexType> 47 </xs:element> 48 49 <xs:element name="options"> 50 <xs:complexType> 51 <xs:sequence minOccurs="0" maxOccurs="unbounded"> 52 <xs:element ref="option"/> 53 </xs:sequence> 54 </xs:complexType> 55 </xs:element> 56 57 <xs:element name="disabled"> 58 <xs:complexType mixed="true"></xs:complexType> 59 </xs:element> 60 61 <xs:element name="required"> 62 <xs:complexType mixed="true"></xs:complexType> 63 </xs:element> 64 65 <xs:element name="value"> 66 <xs:complexType mixed="true"></xs:complexType> 67 </xs:element> 68 69 <xs:element name="label"> 70 <xs:complexType mixed="true"> 71 <xs:choice minOccurs="0" maxOccurs="1"></xs:choice> 72 </xs:complexType> 73 </xs:element> 74 75 <xs:element name="widget"> 76 <xs:complexType> 77 <xs:sequence> 78 <xs:element ref="meta" minOccurs="0"/> 79 <xs:element ref="label" minOccurs="0"/> 80 <xs:element ref="disabled" minOccurs="0"/> 81 <xs:element ref="value" minOccurs="0"/> 82 <xs:element ref="options" minOccurs="0"/> 83 </xs:sequence> 84 <xs:attribute name="id" type="xs:ID"/> 85 <xs:attribute name="type" default="action"> 86 <xs:simpleType> 87 <xs:restriction base="xs:string"> 88 <xs:enumeration value="action"/> 89 <xs:enumeration value="characterinput"/> 90 <xs:enumeration value="characterinput_numeric"/> 91 <xs:enumeration value="characterinput_alphabetic"/> 92 <xs:enumeration value="optionchoice"/> 93 <xs:enumeration value="optionchoice_boolean"/> 94 <xs:enumeration value="optionchoice_single"/> 95 <xs:enumeration value="optionchoice_single_compact"/> 96 <xs:enumeration value="label"/> 97 </xs:restriction> 98 </xs:simpleType> 99 </xs:attribute> 100 <xs:attribute name="hasFocus" default="false"> 101 <xs:simpleType> 102 <xs:restriction base="xs:string"> 103 <xs:enumeration value="true"/> 104 <xs:enumeration value="false"/> 105 </xs:restriction> 106 </xs:simpleType> 107 </xs:attribute> 108 </xs:complexType> 109 </xs:element> 110 111 <xs:element name="widgetgroup"> 112 <xs:complexType> 113 <xs:sequence> 114 <xs:element ref="meta" minOccurs="0"/> 115 <xs:element ref="label" minOccurs="0"/> 116 <xs:element ref="widget" minOccurs="0" maxOccurs="unbounded"/> 117 <xs:element ref="widgetgroup" minOccurs="0" maxOccurs="unbounded"/> 118 </xs:sequence> 119 </xs:complexType> 120 </xs:element> 121 122 <xs:element name="dialogwidget"> 123 <xs:complexType mixed="true"> 124 <xs:attribute name="id" type="xs:ID"/> 125 </xs:complexType> 126 </xs:element> 127 128 <xs:element name="dialogwidgets"> 129 <xs:complexType> 130 <xs:sequence> 131 <xs:element ref="dialogwidget" maxOccurs="unbounded"/> 132 </xs:sequence> 133 </xs:complexType> 134 </xs:element> 135 136 <xs:element name="meta"> 137 <xs:complexType> 138 <xs:sequence> 139 <xs:element ref="dc:title"/> 140 </xs:sequence> 141 </xs:complexType> 142 </xs:element> 143 144 <xs:element name="dialog"> 145 <xs:complexType> 146 <xs:sequence> 147 <xs:element ref="meta" minOccurs="0" maxOccurs="1"/> 148 <xs:element ref="dialogwidgets" minOccurs="0" maxOccurs="1"/> 149 <xs:element ref="widgetgroup" minOccurs="1" maxOccurs="unbounded"/> 150 </xs:sequence> 151 <xs:attribute name="id" type="xs:ID"/> 152 <xs:attribute name="focus" default="main"> 153 <xs:simpleType> 154 <xs:restriction base="xs:string"> 155 <xs:enumeration value="main"/> 156 <xs:enumeration value="ctrl"/> 157 </xs:restriction> 158 </xs:simpleType> 159 </xs:attribute> 160 </xs:complexType> 161 </xs:element> 162 163 <xs:element name="giml"> 164 <xs:complexType> 165 <xs:sequence> 166 <xs:element ref="dialog" minOccurs="1" maxOccurs="1"/> 167 </xs:sequence> 168 <!--xs:attribute name="xmlns" type="xs:string" fixed="http://gitk.sourceforge.net/"/--> 169 </xs:complexType> 170 </xs:element> 171 172</xs:schema> 173 174