W3C home > Mailing lists > Public > public-xsd-databinding@w3.org > December 2005

RE: on databinding and programming languages

From: <paul.downey@bt.com>
Date: Mon, 19 Dec 2005 18:39:17 -0000
Message-ID: <2A7793353757DB4392DF4DFBBC9522550276F150@I2KM11-UKBR.domain1.systemhost.net>
To: <ylafon@w3.org>, <public-xsd-databinding@w3.org>

<speaking as a participant>

> I would like to avoid trying to be too close to programming languages, 
> even if it provides optimized processing, and ensure that the structures 
> on both sides are as close as possible, but the main danger there is to 
> create patterns that are useful only for some languages, while the goal is 
> to help defining patterns that will work well at a more abstract level.

Implementers of databinding toolkits must be prepared to have to convert
to and from Schema types to internal types, even for the simplest of cases.

As an example, I recall working with one well known toolkit which used the 
java.lang.Boolean.valueOf method to read a xs:Boolean value with the result 
that '1' in an XML document was converted to a value of 'false'.

> Also, choosing to remove constraints because it doesn't fit well with the 
> type definition in some commonly used languages may impact people that 
> want to use strong typed languages like ADA.

Whilst describing all your XML elements as type xs:string is likely to 
interoperate best across the board, it might not lead to the best 
'experience' when using an ADA databinding tool which can express: 

  <xs:simpleType name="myInteger">
    <xs:restriction base="xsd:integer">
      <xs:minInclusive value="10000"/>
      <xs:maxInclusive value="99999"/>
    </xs:restriction>
  </xs:simpleType>

directly as 

  type myInteger is range 10000 .. 99999; 

I'll raise this as an issue as I believe we 
should offer advice in this area.

Paul

[1] http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Boolean.html#valueOf(java.lang.String)
Received on Monday, 19 December 2005 18:39:31 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 18 December 2010 18:20:36 GMT