<?xml version="1.0" ?>
<!--
* $Id: giml.xsd,v 1.3 2004/06/25 09:03:53 ensonic Exp $
* @file giml.xsd
* @author Stefan Kost <[email protected]>
* @date Thu Jun 24 17:28:26 MEST 2004
*
* @brief giml document schema definition
* @ingroup gitkcore
*
-->
<xs:schema targetNamespace="http://gitk.sourceforge.net/"
xmlns="http://gitk.sourceforge.net/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:i18n="http://apache.org/cocoon/i18n/2.0/">
<xs:annotation>
<xs:documentation>
This schema describes giml dialog sources
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://purl.org/dc/elements/1.1/"
schemaLocation="bug145246.xsd.imp"
/>
<!--xs:import namespace="http://apache.org/cocoon/i18n/2.0/"
schemaLocation="file://./i18n.xsd"
/-->
<!-- foreign namespace
<xs:element name="title">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="text">
<xs:complexType mixed="true"></xs:complexType>
</xs:element>
-->
<xs:element name="option">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded"></xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="options">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element ref="option"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="disabled">
<xs:complexType mixed="true"></xs:complexType>
</xs:element>
<xs:element name="required">
<xs:complexType mixed="true"></xs:complexType>
</xs:element>
<xs:element name="value">
<xs:complexType mixed="true"></xs:complexType>
</xs:element>
<xs:element name="label">
<xs:complexType mixed="true">
<xs:choice minOccurs="0" maxOccurs="1"></xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="widget">
<xs:complexType>
<xs:sequence>
<xs:element ref="meta" minOccurs="0"/>
<xs:element ref="label" minOccurs="0"/>
<xs:element ref="disabled" minOccurs="0"/>
<xs:element ref="value" minOccurs="0"/>
<xs:element ref="options" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="type" default="action">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="action"/>
<xs:enumeration value="characterinput"/>
<xs:enumeration value="characterinput_numeric"/>
<xs:enumeration value="characterinput_alphabetic"/>
<xs:enumeration value="optionchoice"/>
<xs:enumeration value="optionchoice_boolean"/>
<xs:enumeration value="optionchoice_single"/>
<xs:enumeration value="optionchoice_single_compact"/>
<xs:enumeration value="label"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="hasFocus" default="false">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="true"/>
<xs:enumeration value="false"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="widgetgroup">
<xs:complexType>
<xs:sequence>
<xs:element ref="meta" minOccurs="0"/>
<xs:element ref="label" minOccurs="0"/>
<xs:element ref="widget" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="widgetgroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dialogwidget">
<xs:complexType mixed="true">
<xs:attribute name="id" type="xs:ID"/>
</xs:complexType>
</xs:element>
<xs:element name="dialogwidgets">
<xs:complexType>
<xs:sequence>
<xs:element ref="dialogwidget" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="meta">
<xs:complexType>
<xs:sequence>
<xs:element ref="dc:title"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="dialog">
<xs:complexType>
<xs:sequence>
<xs:element ref="meta" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dialogwidgets" minOccurs="0" maxOccurs="1"/>
<xs:element ref="widgetgroup" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID"/>
<xs:attribute name="focus" default="main">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="main"/>
<xs:enumeration value="ctrl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="giml">
<xs:complexType>
<xs:sequence>
<xs:element ref="dialog" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
<!--xs:attribute name="xmlns" type="xs:string" fixed="http://gitk.sourceforge.net/"/-->
</xs:complexType>
</xs:element>
</xs:schema>