Nearby: Call for participation · Workshop Program · Minutes Day 1 · Minutes Day 2
The W3C held a Workshop to gather and access experiences of using the XML Schema 1.0 Recommendation on 21-22 June at the Oracle Conference Center in Redwood Shores, CA, USA. More than 30 participants attended to represent diverse communities including end users and vertical standards organizations through to vendors and the W3C XML Schema Working Group. The participants shared implementation stories and expertise and considered ways to move forward in addressing XML Schema 1.0 interoperability, errata, and clarifications.
This document provides a summary of the major themes and results of the workshop. More details about the scope of the workshop, the detailed program, and the discussion may be found in the workshop call for participation, the program, and the workshop minutes for day 1 and day 2.
The first day was devoted mostly to a series of user experience reports from participants. From these we gathered a lengthy list of issues and possible discussion topics related to use of the XML Schema 1.0 Recommendation.
Many participants highlighted the utility of XML Schema 1.0 as a very widely implemented and agreed upon standard. For many participants, changing the language in an incompatible way would pose an unacceptable risk to the high levels of investment currently placed in the use of XML Schema 1.0 for defining XML vocabularies and in processing XML. At the same time, users encounter a number of difficulties in using schema-aware tools, owing partly to incompatible interpretations of difficult parts of the specification; partly to the impedance mismatch between XML Schema 1.0 and the object-oriented languages some users use, which complicates marshaling and unmarshaling of data and creates problems which different vendors solve in very different ways; and partly, it appears, to some conformance problems found in some software.
At the end of the first day, workshop participants selected six topics for further discussion during the second day:
At the beginning of the second day, during a dedicated panel session, the XML Schema Working Group presented their current activities, in particular:
We then turned to the six topics selected by the participants. Participants were encouraged when discussing these topics to consider:
Of the six topics chosen, the discussion of versioning and profiles dominated proceedings.
With regards to the schema specification itself, there was consensus that newer versions of XML Schema should endeavour to remain backwards compatible with XML Schema 1.0.
Much of the discussion around versioning addressed the evolution of documents described by XML Schema, with several participants suggesting that better support for ‘versioning’ would be the main if not only feature of interest from XML Schema 1.1.
Using the Post Validation Infoset (PSVI) to ignore unknown content was discussed, in particular proposals for resolving the Web Services Description Working Group Last Call comment LC124. Here there was consensus that such an approach for providing open content when using XML Schema could be legitimately taken, although some participants were concerned that use-cases which require strict validation and rejection of additional content should continue to be supported. Several members of the XML Schema Working Group saw value in WSDL promoting the use of the PSVI and exploiting the fact that the result of XML Schema validation isn't a single boolean value, but a richer set of annotations on the XML document, which can be used to guide subsequent processing.
Many participants in the workshop reported problems caused by uneven support for schema features in different tools, in particular the uneven record of schema editors in producing valid schemas, and even more prominently problems in data binding tools. Some tools for schema design fail to check all of the constraints on schema components or the restrictions on the XML representation of schemas, so the schema documents they produce are sometimes invalid. Since some groups definining standard schemas for particular applications use those tools, some public schemas which tools wish to support are defined by schema documents which are not, strictly speaking, valid against the XML Schema 1.0 Recommendation.
Similarly, many data binding tools have somewhat uneven support for XML Schema. In some cases, this takes the form of having a very pronounced ‘sweet spot’ consisting of XML Schema constructs with well understood natural equivalents in the target programming languages. If the schema hits that sweet spot, the data binding tool will produce class definitions that feel colloquial, idiomatic, and useful to a typical programmer, but constructs outside the sweet spot produce results which programmers regard as sub-optimal, or worse. In the extreme case, some tools return generic DOM objects rather than objects specialized for the input schema. There were reports that some tools fail to produce any result when they encounter constructs outside the sweet spot, or worse that some tools silently ignore any XML Schema constructs that fall outside their sweet spot, not even providing a DOM.
Constructs mentioned as falling outside the sweet spot for some or many data binding tools included mixed content, choice, substitution groups, and even simple-type restriction.
There was significant support for the idea of a written ‘profile’ of XML Schema which would document the sweet spot for purposes of data binding, or for other specific domains. The word profile is problematic; what was meant was not a language subset, but only a definition of the sweet spot in existing processors, which would allow schema authors to get better results and better user experience when data binding tools are used, and which would tell implementors in the relevant domain which parts of schema users are most likely to expect them to support well.
There was strong sentiment against publishing any profiles which would restrict or reduce the XML Schema 1.0 specification, impacting existing implementations or vocabularies.
There appeared to be no obvious way to split the XML Schema specification into layers or sub-languages, as with OWL Lite, DL and Full or SVG Tiny, Basic and Full. Accordingly, there was no support for trying to define profiles of XML Schema as part of the schema language itself. However, many people saw value in application or domain specific 'profiles', in particular identifying a set of schema patterns to provide a 'good user experience' when using XML Schema 1.0 to bind XML to code or data models.
A series of straw polls taken at the very end of the Workshop revealed:
The W3C will take these recommendations into account when considering future work in this area.
Paul Downey and C. M. Sperberg-McQueen, Workshop chairs
$Date: 2005/07/12 19:31:35 $