Re: XML Schema patterns for databinding

Hi Paul,

I agree it is useful to publish XML Schema Patterns that work well.

First, they should be XML Schema patterns that work well for  
capturing and validating the content of business information. Second,  
they should be patterns that are well supported by XML databinding  
tools. Where 'well supported' means they are practical for  
applications to process.

Vectors, maps, and other programatic data constructs are what  
databinding tools must use to represent these patterns to programs;  
however, they are not the patterns. They are a particular programming  
technology's bindings to the patterns.

The patterns are XML Schema patterns that apply XML Schema natively  
to a business schema design. These patterns will likely include  
various forms of lists, choices, groups, etc. Some may be similar to  
programmatic data structures; some may require more complex  
databindings. Their value comes from their business utility.

It is excellent to get convergence on what databindings for these  
patterns should look like; however, when I read the original note it  
seemed as though it was jumping past the job of identifying XML  
Schema patterns and dropping down to solving a completely different  
problem - transport of program data structures through XML Schema. If  
this were the problem then web services could have stuck with Soap  
Encoding.

-- Mark

On Jul 29, 2005, at 1:20 AM, paul.downey@bt.com wrote:

> Mark
>
> I think your rant does express a strong view that the publisher of a
> Schema should be minded on the data and form of the documents
> to be exchanged. I agree wholeheartedly.
>
> The difficulty is how to approach this task without alienating the  
> large
> number of customers who expect to be able to use WSDL2code generators
> and XML databinding tools such as JAXB. We tried to highlight this  
> issue
> in BT's paper for the recent W3C Workshop on XML Schema 1.0 User
> Experiences:
> http://www.w3.org/2005/05/25-schema/BT.html
>
> We see great value in publishing patterns of XML Schema which are
> known to work well with databinding tools. There is nothing to stop
> the author of a business document from using aspects of Schema
> outside of these patterns, but at least they, and a consumer of
> their schemas would be aware that they were unlikely to work well
> with code gen and databinding toolkits.
>
> I also see little harm in publishing patterns which express how
> to represent vectors, maps and other data constructs in general, so
> long as they are not programming language and the resulting patterns
> are vanilla XML Schema and XML documents.
>
> As you say, XML decouples implementation from the data being
> exchanged. So what does it matter if i send a repeated list of  
> elements
> and describe it in a way that becomes a vector in a databinding tool
> but remains open to being manipulated in XSLT, DOM, etc?
>
> Paul
>
>
> -----Original Message-----
> From:    www-ws-request@w3.org on behalf of Mark Hapner
> Sent:    Tue 7/26/2005 3:10 AM
> To:    www-ws@w3.org
> Cc:
> Subject:    RE: XML Schema patterns for databinding
>
>
> A small rant ...
>
> While some uses of XML will be to marshal program data structures
> between applications, in the business world this is not the issue.
> The issue is to capture the structure and semantics of business data
> such that these can be communicated unambiguously. This is the
> objective of UBL, HL7, etc.
>
> Possibly I'm missing something but I don't see what this has to do
> with transmitting a collection from one program to another. I thought
> the objective of web services was to decouple program data structure
> implementation from service document schema.
>
> It might be more useful for this WG to study how XML Schema could
> more simply and directly capture the business document design being
> done by the various vertical market orgs that are trying to apply it.
> I hope these org's are not thinking in terms of 'collections,
> vectors,  maps and graphs' as their design primitives.
>
> -- Mark
>

Received on Monday, 1 August 2005 23:43:36 UTC