CP RSS Channel
About Our Sponsors
Articles & Papers
Technology and Society
|W3C Workshop to Address Improved Interoperability of Schema-Aware Software.|
Update 2005-07-14: Paul Downey and C. M. Sperberg-McQueen have prepared a "Chairs' Summary Report on W3C XML Schema 1.0 User Experiences Workshop." Philippe Le Hégaret (W3C Architecture Domain Leader) posted a note on "XML Schema Patterns for Databinding" which summarizes a draft W3C Working Group Charter proposal "for new work on XML Schema patterns for databinding. This Working Group would develop a set of patterns for common data structures of XML Schema for the purpose of simplifying the mapping of XML Schemas into programming language structures." See Updated References.
[May 24, 2005] W3C has issued a Call for Participation in connection with the June 21-22, 2005 "Workshop on XML Schema 1.0 User Experiences," to be held at the Oracle Conference Center in Redwood Shores, California. The deadline for submission of a user experience report has been extended through May 27, 2005.
The purpose of this W3C Workshop is to "gather concrete reports of user experience with XML Schema 1.0, and examine the full range of usability, implementation, and interoperability problems around the specification and its test suite. Topics of discussion include, but are not limited to, the use of XML Schema in vocabulary design, Web Services description and toolkits, XHTML, XML Query, and XML Schema editors."
The W3C XML Schema specification was released in a Second Edition Recommendation on October 28, 2004. This Second Edition incorporated the changes dictated by the corrections to errors found in the first edition, published as a W3C Recommendation on May 2, 2001.
Since its approval as a W3C Recommendation, XML Schema 1.0 "has been widely adopted by vendors and as a foundation for other specifications in the Web Services area, in XML query systems, and elsewhere."
The W3C Workshop on XML Schema 1.0 User Experiences will provide an opportunity for users to identify usability problems, to document the most serious interoperability problems users have experienced with schema-aware software, to design improvements to the XML Schema test suite, and to discuss future work to improve interoperability of schema-aware software.
As with other W3C Workshops, this "Workshop on XML Schema 1.0 User Experiences" is open to the public, but will be limited to 60 attendees. Participants are required to submit a user experience report (by May 27, 2005); these papers will be included in the published proceedings of the Workshop. An experience report, corresponding to a position paper often required for participation in W3C workshops, is a brief written document of 1-5 pages describing some relevant experience with XML Schema. Experience reports may document: particular XML Schema 1.0 features which do or do not meet user needs; interoperability problems encountered in the use of XML Schema 1.0 (software tools); identification of XML Schema 1.0 features causing puzzlement and/or frustration; features most missed in XML Schema 1.0, perhaps to be added in XML Schema 1.1; etc.
Expected participants include "schema authors, authors or users of public or standard schemas, developers and vendors of schema-aware code generators, schema-aware middleware, schema validators, or other schema-related software, and the W3C XML Schema Working Group."
The Workshop Organizing Committee is Chaired by Paul Downey (BT) and C. M. Sperberg-McQueen (W3C). Its members invite submission of user experience reports even from those unable to attend the workshop.
Goals of the XML Schema 1.0 Workshop
The goals of this workshop are:
- To provide a forum for the exchange of user experiences with XML Schema 1.0
- To encourage dialog in the user / developer / vendor community
- To allow vendors and developers to demonstrate the interoperability of their XML Schema implementations and contribute to planning how to address interoperability issues
- To identify usability problems and other opportunities for improvement of XML Schema
- To discuss what future work should be done to improve interoperability of schema-aware software
- To improve the XML Schema test suite and its potential for helping users avoid interoperability pitfalls
Desired outcomes of the workshop include:
- A plan of action for addressing existing interoperability issues connected with XML Schema 1.0
- A plan of action for addressing existing problems with XML Schema 1.0 through errata and clarifications
In support of these, we hope to gather the following specific information at the workshop:
- A list of users' top interoperability glitches: the most frequent or most serious interoperability problems users have experienced with schema-aware software
- A list of users' top questions about why particular features of XML Schema 1.0 are the way they are
- A list of the things users miss most in XML Schema 1.0 (preferably with some clarification of why the features belong in XML Schema and not at some other level, e.g., that of business rules)
- Concrete input on the XML Schema Working Group's plans compatibility for XML Schema 1.1, including the rules for forward and backward compatibility with XML Schema 1.0 ('no new syntax'), and schedule ('how long will you wait for the next version?')
- A collection of real schemas and test cases which illustrate existing usage and/or constructs associated in practice with interoperability problems
Attendees are encouraged to bring:
- Use cases and proposed guidelines to address them using XML Schema
- Tests (or real schemas) with interoperability issues, whether the issues are due to a lack of clarity of the XML Schema specification or to discrepancies in the implementations
The Call for Participation tells you everything you need to know about this W3C Workshop. Hopefully, many of you will take this opportunity to send in something to the Workshop organizers, even if you have no plans to attend the meeting. The CFP indicates that an experience report can "be a simple email message." No excuses. If you want to have your comment recorded for the public record, copy your email message to the public mailing list at firstname.lastname@example.org.
Everything that follows here is random: if I have second thoughts about what appears here, I'll delete it later...
On XML-DEV 2005-05-24, Michael Champion wrote:
I would like to encourage xml-dev participants to consider attending
this workshop or at least submitting an experience report paper if you
can't attend in person. People complain about XSD on xml-dev all the
time. Here's your chance to tell W3C and its member companies what
you think, why you think it, and how you think the issues can be
Wearing my Day Job hat, it's really hard to assess whether the
majority of end users are struggling with XSD or not. We all know
that it has lots of ugly beasties hiding in the corners, but do they
bite the average citizen? We all know that there are interoperability
issues, but are those real XSD interop issues, implementation issues,
or XSD -> Java -> SQL -> .NET interop issues? We know that there are
alternatives to XSD, but do they have any success stories outside of
XML geekdom? Most importantly, what can be done to move the XML world
forward — fix it, toss it, grit our teeth and implement it, or what?
Paul Downey, Workshop Co-Chair, responded to Michael Champion's post on XML-DEV (speaking for himself): "I'm quietly optimistic for the Workshop, not least because good people like yourself, and others from Microsoft, are going to contribute to the debate. I think it's fair to say this is different from the usual W3C Workshop in that it's examining the use of and expectations from a well established Recommendation. In many ways this is a post implementation review of Schema 1.0 which comes ahead of the XML Schema WG publishing the next round of Schema 1.1 documents. Looking at the registrations and reports we've received so far, we're going to have many of the right people in the room. If you do have a tale to tell part in then this is undoubtedly the forum to air it. The PC are willing to accept Experience Reports even if you are unable to attend, which are highly likely to be read and discussed. And if you have played a key part in the XML Schema story and don't turn up, then expect your ears to be burning 21-22nd June :-) [...] I'm in the process of putting together a tale of woe using implementations in particular those from Web services land. Like many, we've a significant investment in XML Schema, services, processes and tools which depend upon it. Much of the value of XML Schema is that so many people do depend upon it and are in the same 'boat', so making it work is in the best interests of many. On the other hand, there is always a lot to learn examining the alternatives, and I'm personally open to hearing people compare and contrast experiences of using XML Schema with Relax, RDF, Schematron, CAM, UBL, et al. Better understanding what is useful, what is missing and what is superfluous in an XML description language will get us all to a better place... [this was clarified: "... when I wrote this, I was thinking of someone neutral like a bank relaying their experiences. One scenario I keep hearing more and more of is how the mapping between Relax and XML Schema is being used effectively as a profile. I'd also like to hear from people who have gained value combining rules languages such as Schematron with XML Schema."]
The Workshop Call for Participation uses the word interoperability or a cognate form at least twelve (12) times; in the summary of Important Dates, somebody goofed (maybe, thanks to Freud; or maybe not), referring to the event as the "Workshop on XML Schema 1.0 User Experiences and Interoperability." I hear about interoperability problems (issues, concerns, frustrations, irritations) regularly. I have heard (but not confirmed) that two OASIS specifications approved by the membership were discovered (later) to have "invalid" XML schemas — creating interop problems for a lot of people, and no small amount of embarassment, as well as irritation at the root cause for this problem. I hear about software companies that have no intention of implementing what the vast majority of W3C and outside experts agrees is the intent of the specification. Is this a fault of real ambiguity in the spec? An indication that the test suite needs to be beefed up, formally approved, and used to sanction software (companies) that refuse to conform? Now would be a good time for you to make your user experience known if you have concerns about interoperability. Who wouldn't? It's very costly.
XML-DEV preserves a long thread on "Getting specs/standards right — UPA and schema handling". Ian Graham wrote: "I've been fiddling around with very simple schemas that violate the UPA constraint — and have found that some schema tools flag UPA errors (e.g., oXygen), while others (e.g., XML spy) do not. This inconsistency is, at best, confusing — but at worst would seem to lead to interoperability problems, since a designer could build a schema with one toolset and find it is not acceptable to another. So am I missing something here? Is UPA really an inviolable constraint [my interpretation], or is it just a guideline, in the manner of Appendix E 'Deterministic Content Models (Non-Normative)' in the XML 1.0 specification? And if it's just a guideline, would this not lead to interoperability problems as I've just outlined?" to which Bob Foster replied "Unique particle attribution is normative and not optional, but not all processors check it correctly and some processors check it optionally. Of course that leads to interoperability errors, and not just around UPA, but that's the state of the art..." And Henry S. Thompson said, apparently not amused at the quoted XML Spy vintage-2004 FAQ ('In our opinion the detection of a non-deterministic model as an error in a DTD or Schema would be wrong, and we will not implement this'): "It is important to understand that this is a clear statement on the part of the manufacturer that they don't care about interop. The [W3C XML Schema] REC is the only thing that stands as a stable point for achieving interop..."
Deliverables from the WS-I XML Schema Work Plan Working Group: "The WS-I XML Schema Work Plan Working Group is focusing on collecting and understanding interoperability issues related to the use of XML Schema as the means by which application data is defined with the intent of determining the most suitable course of action for WS-I in addressing those concerns. This Working Group is chartered to determine the set of Web services interoperability requirements, if any, that may be required to support a new profile for XML Schema." See the XML Schema Work Plan Working Group Charter, published June 28, 2004. Does that raise any eyebrows?
"The XML in your objects is closer than it appears." Blog by Tim Ewald in SOAphisticated: XML and Web Services in the real world (September 03, 2004). "... Thinking about posts from the last couple of weeks, I couldn't help noticing the odd path they've taken... I said I want RelaxNG. Some agreed with me. Aaron (and others) said, too bad, there's industry concensus on XSD and that's what we're using. Dare said that XSD was easier for object mapping than RNG. Then Dave responded to my original post about not profiling indicating that in fact people can't get XSD-based object mappers to work right and WS-I should act. So what exactly is the concensus on XSD; that we have to use it, but it doesn't work so we shouldn't use it really, we should derive a new language from it instead?... So, frankly, the heart of my concern about WS-I subsetting XSD is that the subset will be restricted to the things that map obviously to modern OO languages. For someone like me, who is willing to (and even likes to) deal with XML and happens to work in a document-centric problem space, that's troubling. I don't want to lose options for describing certain XML structures just because someone else wants to pretend that Web services are about methods and objects..." See later, "Dare argues that code-first is better for interop" - [claiming] that code-first WS contract development is better for interoperability. His argument is that not all tools support all of XSD, so if you design Web services contracts directly using XSD/WSDL, your chance of interoperability is actually lower than if you do code-first and let your tools map your classes to XSD/WSDL..."
"XML Schema Best Practices." By David Stephenson (HP). From the HP Dev Resource Central (December 2004). "The XML Schema language is a complex maze of constructs that overlap each other. Creating an XML schema is hard to get right; creating several interlocking schemas which can be extended and versioned is even harder. This document provides you with a map that allows you to navigate the maze with confidence. This document consists of the following: (1) An overview of the common requirements that are important for all schemas (2) A list of best practices for designing, writing, and coding to XML Schema There is also an appendix that discusses the rationale behind these best practices..." [cache PDF]
"W3C XML Schema Design Patterns: Avoiding Complexity." By Dare Obasanjo. From XML.com (November 20, 2002). "Over the course of the past year, during which I've worked closely with W3C XML Schema (WXS), I've observed many schema authors struggle with various aspects of the language. Given the size and relative complexity of the WXS recommendation (parts one and two ), it seems that many schema authors would be best served by understanding and utilizing an effective subset instead of attempting to comprehend all of its esoterica. There have been a few public attempts to define an effective subset of W3C XML Schema for general usage, most notable have been W3C XML Schema Made Simple by Kohsuke Kawaguchi and the X12 Reference Model for XML Design by the Accredited Standards Committee (ASC) X12. However, both documents are extremely conservative and advise against useful features of WXS without adequately describing the cost of doing so. This article is primarily a counterpoint to Kohsuke's and considers each of his original guidelines; the goal is to provide a set of solid guidelines about what you should do and shouldn't do when working with WXS..." See also "XML Schemas: Best Practices," by Roger L. Costello (February 17, 2003). Note to self: I detect a pattern; people create hairy, complex specs and then create profiles and subsets, or knockoffs (from DSSSL, HyTime)... is this inevitable? I can't recall seeing these kinds of articles written about RELAX NG...
"The Trouble With Schemas." By Rick Jelliffe. Posted on O'Reilly Developer Weblogs (May 08, 2005) " I received a good amount of feedback, some off-line, on a thread I started on the XML-DEV mail list incompatible use of XML Schemas which carried through on a thread called Schema Compatability. The executive summary: many tools that use XML Schemas for purposes other than validation only implement subsets, by necessity or design; which means that schemas are not always portable. This has a major impact on deployment: am I over-reacting to think this completely stuffs up the presupposition of Web Services, which is that all the data provider is responsible for is publishing their data, schema and protocol; the recipient will be able use that information with different vendor's applications... clearly a problem because it means that the current state of the art is not that, within an organization, suppliers of data can do so without regard to the applications that the receivers are using. The W3C people on to this issue too: they obviously need to get it addressed not only to prevent Web Services from flopping but also so that the XQuery hypists are not left floundering on an non-interoperable substrate. No-one enjoys floundering on a substrate, believe me. Henry Thompson wrote in to publicize the W3C Workshop on XML Schema 1.0 User Experiences which seems a really practical thing to get used to. Unfortunately, from some of the private email it seems that people are very loath to say the Emperor has no clothes, some for fear of looking an idiot if they are wrong, some because the clearly Emperor has some clothes, and at least in one case because the incompatability is in their employer's product that they obviously cannot write bad things about in public..."
On XML-DEV, 18-May-2005, Michael Kay answered a question about XSD validation, Q: Can somebody please tell me how to validate an XML document with a given XSD? Is the XSD validator part of an XML library [like Xerces, libxml2 etc] itself or there exist some separate library to validate an XML document using XSD? A: "There are a number of tools including Xerces, MSXML, XSV. The way you do validation depends on the tool that you are using. If you install the schema-aware version of Saxon, you can use the command line: [say:] 'java com.saxonica.Validate source.xml schema.xsd'. I find that the easiest way to do ad-hoc validation (i.e., not integrated into an application) is to use a tool such as Stylus Studio. One of the nice things is that Stylus allows you to validate using a range of different processors — if your document is invalid, it can be helpful to get the error messages from more than one processor. By contrast, XML Spy uses its own schema processor, which is not always 100% conformant with the spec..."
Jonathan Robie wrote to XML-DEV on May 26, 2005 [WRT Michael Champion, "From what I've learned writing the MS position paper: I can't really forsee anyone making a convincing argument that XSD is hopelessly broken and should be scrapped, but I can very easily imagine that people are finding ways to use XSD in a complementary way with Schematron, RELAX NG, XSLT, etc. to address its limitations."]: Robie: "It's not broken. It's awkward, it's verbose, it's entrenched. I would be very surprised to wake up 10 years from now and find that people have stopped using W3C XML Schema. A simpler schema language would certainly have helped XQuery, but it's too late for that... Compatibility is the biggest issue for me. I wish I could test a schema with one processor and assume it would work in the same way on most other serious processors..."
|Receive daily news updates from Managing Editor, Robin Cover.|