1<!-- proposed DTD for new glade format -->
2
3<!ELEMENT glade-interface (requires*, widget*) >
4<!ATTLIST glade-interface
5  xmlns CDATA #FIXED 'http://glade.gnome.org/glade-2.0.dtd' >
6
7<!ELEMENT requires EMPTY >
8<!ATTLIST requires
9  lib CDATA #REQUIRED >
10
11<!ELEMENT widget (property*, accessibility?, signal*, accelerator*, child*) >
12<!ATTLIST widget
13  class CDATA #REQUIRED
14  id ID #REQUIRED >
15
16<!ELEMENT property (#PCDATA) >
17<!-- type is an optional tag, and should be the string name of the
18     GType for the property -->
19<!-- translatable specifies whether the property should be translated
20     before use. -->
21<!-- context indicates that the value has a |-separated
22     context which must be stripped before use, look up g_strip_context()
23     in the GLib API documentation for details.-->
24<!ATTLIST property
25  name CDATA #REQUIRED
26  type CDATA #IMPLIED
27  translatable (yes|no) 'no'
28  context (yes|no) 'no'
29  comments CDATA #IMPLIED
30  agent CDATA #IMPLIED >
31
32<!ELEMENT atkproperty (#PCDATA | accessibility)* >
33<!ATTLIST atkproperty
34  name CDATA #REQUIRED
35  type CDATA #IMPLIED
36  translatable (yes|no) 'no'
37  context (yes|no) 'no'
38  comments CDATA #IMPLIED >
39
40<!ELEMENT atkrelation EMPTY >
41<!ATTLIST atkrelation
42  target CDATA #REQUIRED
43  type CDATA #REQUIRED >
44
45<!-- description is assumed to be a translatable string -->
46<!ELEMENT atkaction EMPTY >
47<!ATTLIST atkaction
48  action_name CDATA #REQUIRED
49  description CDATA #IMPLIED >
50
51<!ELEMENT accessibility (atkrelation | atkaction | atkproperty)* >
52
53<!ELEMENT signal (property*) >
54<!ATTLIST signal
55  name CDATA #REQUIRED
56  handler CDATA #REQUIRED
57  after (yes|no) 'no'
58  object IDREF #IMPLIED
59  last_modification_time CDATA #IMPLIED >
60
61<!ELEMENT accelerator EMPTY >
62<!ATTLIST accelerator
63  key CDATA #REQUIRED
64  modifiers CDATA #REQUIRED
65  signal CDATA #REQUIRED >
66
67<!ELEMENT child ((widget|placeholder), packing?) >
68<!-- internal children should not have any properties set on them.
69     (Internal children are things like the scrollbars in a
70     GtkScrolledWindow, or the vbox in a GtkDialog). -->
71<!ATTLIST child
72  internal-child CDATA #IMPLIED >
73
74<!ELEMENT packing (property+) >
75
76<!ELEMENT placeholder EMPTY >
77