00001 <!--
00002 * $Id: giml.dtd,v 1.26 2004/08/24 17:23:06 ensonic Exp $
00003 * @file giml.dtd
00004 * @author Stefan Kost <ensonic@users.sf.net>
00005 * @date Thu Jan 17 11:22:38 2002
00006 *
00007 * @brief giml document type definition
00008 * @ingroup gitkcoredtd
00009 *
00010 -->
00011
00012 <!-- @defgroup gitkcoredtd giml dtd
00013 * This DTD definies the document structure for GITK interface descriptions.
00014 * Use the following document type for your documents:<br>
00015 * <code><!DOCTYPE giml SYSTEM "http://gitk.sourceforge.net/giml.dtd"></code>
00016 *
00017 * Have a look at the @ref gitkexamples "gitk examples module", it comes with
00018 * several example dialog definitions.
00019 * @ingroup gitkcore
00020 -->
00021 <!--@{-->
00022 <!-- @brief available interface object types
00023 * @internal
00024 -->
00025 <!ENTITY % widgettype
00026 "action|
00027 characterinput|
00028 characterinput_numeric|
00029 characterinput_alphabetic|
00030 optionchoice|
00031 optionchoice_boolean|
00032 optionchoice_single|
00033 optionchoice_single_compact|
00034 label"
00035 >
00036
00037 <!-- @brief possible initial focus settings
00038 * @internal
00039 -->
00040 <!ENTITY % focustype
00041 "main|
00042 ctrl"
00043 >
00044
00045 <!-- @brief intermediate nodes for i18n
00046 * @internal
00047 -->
00048 <!ELEMENT i18n:text (#PCDATA)>
00049
00050 <!-- @brief custom element for metadata
00051 -->
00052 <!ELEMENT dc:title (#PCDATA|i18n:text)*>
00053
00054 <!-- @brief the root element
00055 -->
00056 <!ELEMENT giml (dialog+)>
00057 <!-- @brief the root element attributes
00058 -->
00059 <!ATTLIST giml
00060 xmlns CDATA #FIXED "http://gitk.sourceforge.net/"
00061 xmlns:dc CDATA #FIXED "http://purl.org/dc/elements/1.1/"
00062 xmlns:i18n CDATA #FIXED "http://apache.org/cocoon/i18n/2.0"
00063 >
00064
00065 <!-- @brief container for the dialog -->
00066 <!ELEMENT dialog (meta?,dialogwidgets?,widgetgroup+)>
00067 <!-- @brief attributes for the container of the dialog -->
00068 <!ATTLIST dialog
00069 id CDATA #IMPLIED
00070 focus (%focustype;) "main"
00071 >
00072
00073 <!-- @brief additional metadata for nodes -->
00074 <!ELEMENT meta (dc:title)>
00075
00076 <!-- @brief widget group for dialog operation -->
00077 <!ELEMENT dialogwidgets (dialogwidget+)>
00078 <!-- @brief widget for dialog operation -->
00079 <!ELEMENT dialogwidget (#PCDATA)>
00080 <!-- @brief attributes for widget for dialog operation -->
00081 <!ATTLIST dialogwidget
00082 id CDATA #IMPLIED
00083 >
00084
00085 <!-- @brief dialog widget group -->
00086 <!ELEMENT widgetgroup (meta?,label?,widget*,widgetgroup*)>
00087 <!-- @brief dialog widget -->
00088 <!ELEMENT widget (meta?,label?,disabled?,value?,(options?))>
00089 <!-- @brief attributes for dialog widget -->
00090 <!ATTLIST widget
00091 id CDATA #IMPLIED
00092 type (%widgettype;) "action"
00093 hasFocus (true|false) "false"
00094 >
00095 <!-- @brief label for dialog widget -->
00096 <!ELEMENT label (#PCDATA|i18n:text)*>
00097 <!-- @brief disabled property for dialog widget -->
00098 <!ELEMENT disabled (#PCDATA)>
00099 <!-- @brief required property for dialog widget -->
00100 <!ELEMENT required (#PCDATA)>
00101 <!-- @brief value property for dialog widget -->
00102 <!ELEMENT value (#PCDATA)>
00103
00104 <!-- @brief options group for dialog widget -->
00105 <!ELEMENT options (option)*>
00106 <!-- @brief option for option group -->
00107 <!ELEMENT option (#PCDATA|i18n:text)*>
00108
00109 <!--@}-->