Glade 2.0 DTD

The following DTD defines the format used as input for libglade:

<!-- proposed DTD for new glade format -->

<!ELEMENT glade-interface (requires*, widget*) >
<!ATTLIST glade-interface
  xmlns CDATA #FIXED 'http://glade.gnome.org/glade-2.0.dtd' >

<!ELEMENT requires EMPTY >
<!ATTLIST requires
  lib CDATA #REQUIRED >

<!ELEMENT widget (property*, accessibility?, signal*, accelerator*, child*) >
<!ATTLIST widget
  class CDATA #REQUIRED
  id ID #REQUIRED >

<!ELEMENT property (#PCDATA) >
<!-- type is an optional tag, and should be the string name of the
     GType for the property -->
<!-- translatable specifies whether the property should be translated
     before use. -->
<!ATTLIST property
  name CDATA #REQUIRED
  type CDATA #IMPLIED
  translatable (yes|no) 'no' >

<!ELEMENT accessibility (property+) >

<!ELEMENT signal EMPTY >
<!ATTLIST signal
  name CDATA #REQUIRED
  handler CDATA #REQUIRED
  after (yes|no) 'no'
  object IDREF #IMPLIED >

<!ELEMENT accelerator EMPTY >
<!ATTLIST accelerator
  key CDATA #REQUIRED
  modifiers CDATA #REQUIRED
  signal CDATA #REQUIRED >

<!ELEMENT child (widget, packing?) >
<!-- composite children should not have any properties set on them.
     (Composite children are things like the scrollbars in a
     GtkScrolledWindow, or the vbox in a GtkDialog). -->
<!ATTLIST child
  internal-child CDATA #IMPLIED >

<!ELEMENT packing (property+) >