On Sat, 2005-09-24 at 13:50 +0100, Jamie McCracken wrote: > Philip Van Hoof wrote: > > > > I'm open for suggestions. > > > > - The type element should be reusable (cascading/externalRef?) between > > schemes > > I would be very careful here - any type cock up would seriously > compromise the config system. Consider two schemae that redefine a type > "my_type_format" to two different formats, which one do you use?
My idea about the alias was/is: The alias isn't to be used by a service. It's only to be used by the application or (but not and for one type) library developer. The only uniqueness when creating a shareable key is the URI of the "href" attribute. It serves as the "unique key" to a type. > Generally it would be safer to define some static aliases (like the list > of types Waldo gave you) and not allow user definable types to be > aliased at all. (of course if you can find a way to make user definable > aliases unique and safe then that would be cool) > > <type wire="ai" alias="my_special_one" real="list" > > format="non-homogeneous"> > > This looks wrong - they dbus type cannot be "ai" here - it should be > "(isdab)" Right, of course :) > > <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"/> > > we should not allow arrays to be embedded into structs! If you do you > wont know how to de/serialize it from/to a comma seperated string stored > in a DB or inifile (this is true if the array of booleans was in the > middle of the struct). I see no problem. I fear you haven't read the full specification of the CSV format, Jamie :-)! The CSV format allows the usage of double-quotes. A record cell that is encapsulated by double quotes ends at the last double quote. Using this online convertion tool: http://www.creativyst.com/cgi-bin/Prod/15/eg/csv2xml.pl "1", "abcdefg", "0.1", "0.1, 0.2, 0.3" becomes <document> <row> <Col0>1</Col0> <Col1>abcdefg</Col1> <Col2>0.1</Col2> <Col3>0.1, 0.2, 0.3</Col3> </row> </document> and "1, 2", "abcdefg", "0.1, 0.2", "0.1", "'0.1, 0.2', '0.1, 0.3'" becomes <document> <row> <Col0>1, 2</Col0> <Col1>abcdefg</Col1> <Col2>0.1, 0.2</Col2> <Col3>0.1</Col3> <Col4>'0.1, 0.2', '0.1, 0.3'</Col4> </row> </document> Or you can even do fancy stuff like this: "1, 2", "abcdefg", "0.1, 0.2", "0.1", "0.1, 0.2; 0.1, 0.3" <document> <row> <Col0>1, 2</Col0> <Col1>abcdefg</Col1> <Col2>0.1, 0.2</Col2> <Col3>0.1</Col3> <Col4>0.1, 0.2; 0.1, 0.3</Col4> </row> </document> > If we have an alias in the type declaration why do we need the other > fields (wire, real, format)? Yes, it was only a first idea of course :-). > Doesn't that defeat the purpose of it as the alias should define all > that info elsewhere in the schema. No, (in my idea) the alias is only a label that can freely be used by the application or library developer. -- 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 _______________________________________________ xdg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xdg
