A draft for a standard for desktop configuration

Philip Van Hoof spam at pvanhoof.be
Sat Sep 24 15:18:11 EEST 2005


On Wed, 2005-09-21 at 00:55 +0200, Philip Van Hoof wrote: 
> On Tue, 2005-09-20 at 21:24 +0200, Philip Van Hoof wrote:
> 
> > Some people commented (in private) that LaTex is a document format they
> > don't know about (and that it's holding back their contributing). So to
> > stimulate contributions, I decided to convert the document to XHTML.
> 
> About the schema. What I'm going to alter and want to add before proposal:
> 
> - I want to make it possible to have a clean way of enumerating types
> - I want to make types and enumerations reusable
> - Cascade the translations (rather than embed them)

I noticed that I made a mistake. The typing information for the children
of list-typed types are to be specified in the <default/> element. This
shouldn't be.

I'm planning to rethink the entire <type/> element for this.

I'm open for suggestions.

- The type element should be reusable (cascading/externalRef?) between
schemes

- Should be definable :
  - enumeration
  - integer
  - Boolean
  - double
  - string
  - homogeneous list of above types (unlimited in length)
  - non-homogeneous list with above types

- Should be possible to define an alias for the type

- Should hold the D-BUS signature format


I've made some examples of what I have in mind:

------------------------------------------------------------------------

<type wire="s" alias="my_a_or_b" real="enum" format="string">
  <enum>
    <choice>a</choice>
    <choice>b</choice>
  </enum>
</type>

------------------------------------------------------------------------

<type wire="i" alias="my_1_or_2" real="enum" format="integer">
  <enum>
    <choice>1</choice>
    <choice>2</choice>
  </enum>
</type>

------------------------------------------------------------------------

int *my_integer_list;

<type wire="ai" alias="my_integer_list" real="list" format="integer"/>

------------------------------------------------------------------------

typedef struct {

  int my_num;
  char *my_str;
  double my_double;
  int *my_bools;

} my_special_one;

This one would become a non-homogeneous list that embeds a integer, a
string a double and a list with doubles. Like this:

<type wire="ai" alias="my_special_one" real="list"
format="non-homogeneous">
  <list>
<type wire="i" alias="my_num" real="simple" format="integer"/>
<type wire="s" alias="my_str" real="simple" format="string"/>
<type wire="d" alias="my_double" real="simple" format="double"/>
<type wire="ab" alias="" real="list" format="boolean"/>
  </list>
</type>

------------------------------------------------------------------------


-- 
Philip Van Hoof, software developer at x-tend
home: me at pvanhoof dot be
gnome: pvanhoof at gnome dot org
work: vanhoof at x-tend dot be
http://www.pvanhoof.be - http://www.x-tend.be




More information about the xdg mailing list