Common Desktop Interface Specification (aka CDIS), initial work

Timo Stuelten t.stuelten at
Sun Jan 23 14:34:59 EET 2005


> I created an XML Schema (xsd file) for the document(s) too, and some
> small XSLT file to display the interface in some "readable" way.
> I am aware of the fact the XSL and XSD probably look horrible, I'm no
> XML guru.
Some minor questions from a XML beginner ;)

Can an argument's type be specified as attribute? This way arguments may 
be specified a little bit more compact:
  <cdis:Argument cdis:id="1" cdis:name="Uri" cdis:Type="String"/>
  <cdis:Argument cdis:id="2" cdis:name="Para2" cdis:Type="String"/>  
  <cdis:Argument cdis:id="3" cdis:name="Para2" cdis:Type="Integer"/>

Is it possible to extend the type enumeration ("Bool", "String", 
"Integer") without a new version of the standard-schema? Why not use (a 
subset of) the XSD type system?

Should the service description be separated from the interface 
description? The xml-file describes the service "CdisMusicPlayer" which 
supports the interface "org.freedesktop.CDIS.MusicPlayer". Will another 
service X supporting the same interface declare that interface again? 

I thought of something like this instead:
For a service:
<DesktopService name="CdisMusicPlayer">
  ... maybe some more ...
and another file for the interface:
<Interface cdis:name="org.freedesktop.CDIS.MusicPlayer" ...>
  ... the remaining interface definition ...

BTW: I think you don't want to allow multiple types for an 
argument, like this:
  <cdis:Argument cdis:id="1" cdis:name="Uri">
    <cdis:Description>The URI of ...</cdis:Description>
Especially with only 3 different types I see no benefit in this ;)
Maybe I'm reading the schema wrong, but I think the sequence inside  
"MethodValue" would allow that. Instead:
<xsd:complexType name="MethodValue">
  <!-- no sequence here -->
  <xsd:element name="Type" type="Type" />
  <xsd:element name="Description" type="xsd:string" />
  <xsd:attribute name="id" ... />
  <xsd:attribute name="name" ... />
(Would "Parameter" be a better name for "MethodValue"?)

And maybe some beautification for the the schema location?
'.../CDISInterface.xsd' instead of '.../CDIS CdisInterface.xsd'?



Timo Stuelten
mailto: t.stuelten at

More information about the xdg mailing list