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