James Henstridge wrote:
> 
> On 24 Apr 2001, Owen Taylor wrote:
> 
> > One possibility would be to have libglade support both DTDs. Since
> > libglade has ~8300 lines of source, the amount of total bloat wouldn't
> > be huge.
> >
> > (Of course, if libglade is part of the GNOME-2.0 devel platform, and
> > it definitely should be, then it also need to meet the end-of-July
> > freeze..)
> 
> Sounds good to me.  The SAX parser that actually reads the .glade files is
> even shorter than that:
>     786 ../libglade/glade/glade-sax.c
> 
> I assume that if we are going to change the file format, then it will have
> a similar format, which should make it fairly easy to switch between two
> formats.
> 
> As for a new format, my opinion is that the format should be simple (ie.
> its DTD should not need to encode the attributes of every widget ever
> created).  This is similar to I said during the last DTD debate on this
> list :)
> 
> It might look something like this:
> 
>   <glade-interface xmlns="http://glade.gnome.org/glade-interface-2.0.dtd";>
>     <!-- widget class and name are attributes of the widget element.
>          id is an ID attr, so must be unique in the interface -->
>     <widget class="GtkWindow" id="the-name-of-this-window">
>       <!-- widget properties look like this.  Do we want the type attr? -->
>       <property name="x" type="gint">60</property>
> 
>       <!-- signals look similar to before, but using attributes -->
>       <signal name="delete-event"
>               handler="on_delete_event"
>               object="some-other-object" />
>       <!-- object is IDREF, so it must match a widget name.  I don't
>            know if you can do IDREF and #implied together though, which
>            is what we would want, since object isn't always wanted -->
> 
>       <children>
>         <widget class="..." id="...">
>         </widget>
>         ...
>       </children>
>     </widget>
>   </glade-interface>
> 
> I am not quite sure what format <property> elements should take.  Is it
> worth including type information?  Would the following be better?
>   <property name="x"><int val="42" /></property>

I preferred the first version:

  <property name="x" type="gint">60</property>

And abbreviate it and have default types so you can just do:

  <p name="x">60</p>

Though maybe we should look at things like SOAP to see if there is
anything
of use there.


> I can write a DTD for this format if it would help.  Since we talked about
> switching over to libxml2 for glade, I could also write a SAX parser for
> the format (if we agree on it).  The parser could then be used in both
> glade and libglade.

It may be better to save all this for a completely new version of Glade,
maybe Chema's new version which uses GtkArgs and stuff.

Damon

_______________________________________________
Glade-devel maillist  -  [EMAIL PROTECTED]
http://lists.helixcode.com/mailman/listinfo/glade-devel

Reply via email to