Menu

Schemas Revisited

July 12, 2000

Leigh Dodds

After a recent lull in traffic, XML-DEV is now alive and well once more, and turning its attention again to XML Schemas. Are the XML Schema specifications too complicated? Is this symptomatic of a wider problem in the XML infrastructure? XML Deviant sees if the oracles of XML-DEV have the answers....

Schema Questions

XML Schemas have been debated on XML-DEV for some time, as previous issues of XML-Deviant have documented (see "Second Coming" and "Spotlight on Schemas"). Last week, XML.com ran an article by Liora Alschuler, "Last Word on Last Call," which has helped re-open this discussion.

Jonathan Robie, posting to XML-DEV, admitted that he was still undecided on how to vote on the current Last Call for the Schema Working Drafts:

As a member of the Schema WG, I'm still deciding how to vote on moving Schema to CR. I would be interested in hearing whether the members of this mailing list agree with the conclusions in Liora's article. I am not doing this in any official capacity, I am doing this because I want to know.

In the message, Robie included a questionnaire that he invited XML-DEV members to complete, hoping that it would provide some metric of the level of concern about the specification.

While Robie was collating responses off-line, several list members were moved to public comment. Michael Champion drew parallels with the release of DOM Level 1 two years ago, but believed that in this instance a simpler specification is the answer:

I would tell the Schema WG the same thing I'd tell a development manager who needs a product released on an unreasonable schedule: it's far better to sacrifice features than quality. Strip the feature set down so that it meets everyone's fundamental need for DTD functionality in XML syntax with reasonable data types, get the "Level 1" spec out as soon as that's proven stable, then add all the other neat stuff in Level 2, 3, ...

Champion later separated the core features of schemas from the "nice to haves." Rick Jelliffe observed that the need for a schema language requires a shorter-term evaluation of their usefulness:

One can evaluate XML Schemas on general terms as a universal schema language. But it is more important at this stage, IMHO, to evaluate it in terms of its sufficiency for meeting the pressing needs of the day as the bottom line.

Wondering whether developers have had enough time to digest the more advanced features of Schemas, Michael Brennan commented that many developers have an immediate requirement for a replacement for DTDs:

Too many parties have tried to get version 1.0 of the schema spec to solve too many problems. I think the vast majority of developers just want the DTD functionality in XML syntax with stronger data types now and are willing to wait for the other stuff as they better digest the implications.

Brennan expressed the hope that the Working Group would take a more iterative approach to finalizing the specification. Len Bullard explained his willingness to see XML Schemas undergo a further round of development because of the availability of XDR (a subset of XML-Data supported by the MSXML parser). However, Bullard thought it was vital that this happen for the right reasons:

Because we have working tools like XDR, and because it is still early, I would not be disappointed to see Schema return to the drawing board for another round. On the other hand, that should be done in my opinion, only if there are real flaws. As SGML showed, complexity and obscurity are not sufficient to reject a specification, but it may be a reason to create a simpler version. In this case, we already have a simpler version.

Obviously, XDR is not an immediately useful universal solution; support being largely limited to the Microsoft parser.

It's all too easy to place the blame on the Schema Working Group when perhaps the real cause of the problem is the broad range of requirements that are being considered. It clear that the Working Group is taking great care to address criticisms, even going so far as to publish a list of the Last Call issues under discussion. Rick Jelliffe observed that, judging from experience, a second Last Call is likely:

I think the WG had wanted to go to [Candidate Recommendation] ASAP, but, given the comprehensive review of the Last Call issues, it seems that other Working Groups in the same position put out second Last Call drafts.

If this is the case, then it will only add to the delay. It will be interesting to see the final results of Jonathan Robie's questionnaire and whether this, and the XML-DEV debate, have any effect on the future of Schemas. An air of urgency has settled over the specification, fueled in part by the increasing number of questions from developers on numerous mailing lists relating to the application of Schemas.

Power Users

The second half of this debate picks up on the immediate requirements of the wider developer community. Simon St. Laurent wondered if there is a widening gap between this community and those involved in the further development of the XML infrastructure:

There's always been a disconnect between the 'XML core', with its inheritance of SGML best practices, its close attention to new work at the W3C, and the larger body of developers learning XML and applying it in their own work without any special fondness for XML per se. I wonder, though, if that disconnect will grow as we pile more and more ideas on top of what was already a fairly complicated specification.

St. Laurent thought that it was time to take stock and consider why there isn't a rush to adopt many of the newer XML standards.

Blaming lack of tool support, Matt Sergeant thought that the XML community is only addressing half the problem:

The problem is that we're not providing the tools. We're providing the specs. That's a whole different ball game. If tools existed for actually making really interesting use of RDF and XLink and XInclude then people would use them. If IE and/or Mozilla supported the full gamut of specs, from XSLT 1.0 to XLink and XInclude (OK, so they're not quite REC's, but with time...) then you would find people using them more.

Paulo Gaspar supported this view, adding that a lack of good introductory material as an additional problem. Michael Champion colorfully observed that the mainstream developer may not have an immediate need for these tools:

Maybe the simple users of XML *have* read good introductory articles and have found easy to use tools ... and are happily applying them to real problems, blissfully oblivious to RDF, XLink, XML Schema structures, etc., and don't give a rip whether a namespace name is a true RFC 2396 URI reference or not.

...let's listen to what the mainstream users are asking for: They may simply want sharper knives that don't rust, while we're offering them Veg-a-Matic's ("it slices, it dices ... but wait, there's more!").

Looking at the recent debates on the XML-URI mailing list (see "Namespace Trouble" and "News from the Trenches"), it's hard to disagree. Much of the content of that discussion is a far cry from the problems of a mainstream developer looking for an introduction to schemas, or attempting to use XML in a browser, for example.

In truth this kind of disconnect is going to occur between any community of experts and the users of their products. Paying attention to the details (however excruciating) is what the users are trusting the experts to do. It's a trust relationship, and has to be: Few mainstream developers have the time, let alone the resources to expend on recreating their work. So the experts--those people on the Working Groups, the standards bodies, and those with the time to study and implement the specifications--must pay attention to the right details, the right requirements, at the right time.