OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   RE: [xml-dev] Data binding as type definition

[ Lists Home | Date Index | Thread Index ]


A propos these ideas here have you looked at mdl from Charteris.com
http://www.charteris.com/mdl/
although different I think it contains some approaches that might be of
interest.

-----Original Message-----
From: Eric Bohlman [mailto:ebohlman@earthlink.net] 
Sent: Tuesday, June 11, 2002 8:35 PM
To: xml-dev@lists.xml.org
Subject: Re: [xml-dev] Data binding as type definition

6/11/02 7:46:56 AM, Amelia A Lewis <amyzing@talsever.com> wrote:


>So, is it better to define a type in XML as something that can be
>validated, or as something that maps to type A in language Z, type B in
>language Y, type A again in language X, and type L in language O?
>
>I submit that attempting to define XML types by mapping to a set of
>native types in privileged languages is neither robust nor extensible. 
>It seems to me that, on the model of validation of structured types, it
>is possible to define unstructured (simple) types by how they are
>validated, and that that definition is interoperable.

Pretty much agreed.  I think that validation (specifying constraints on
what an instance can 
contain) and data binding (determining how to represent the
textually-represented data in an 
instance as bits within an application) are two separate tasks, and it
doesn't make sense to try to 
use the same language to do both.  It especially doesn't make sense for
the spec for the schema 
language to contain a set of hard-wired "internal bits" types.

I'd rather see a separate "bind mapping" language that would allow one
to give hints (or even 
orders) for how to map various pieces of character-level data into
internal structures in various 
languages.  I'm thinking in terms of a list of XPath expressions, each
associated with a list of 
language/application => type name pairs, something like:

<bindings>
  <data match="//product/ID/@SKU">
    <language name="Perl" binding="scalar"/>
    <language name="C" binding="unsigned long"/>
  </data>
</bindings>

A data binding application would use the bind mapping language to
determine storage formats, and 
the schema language to determine structural nesting and actual
validation constraints on simple 
types (that is, constraints imposed by the real-world problem domain,
not by the number of bits 
allocated for storage).  Applications that don't involve data binding
wouldn't need to use a bind 
mapping processor.
 









 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS