XML vocabularies: freedom and control

I'll be at the Enterprise Architect Summit in Palm Springs next week, on a couple of panels. One's entitled Schemas in the wild: XML takes on the vertical industries, and the panelists are Jon Bosak and Jean Paoli. The single most important question I'd like to ask these guys is: how do we strike the proper balance between freedom and control? By freedom I mean incremental and iterative evolution of data structures in response to patterns of real-world use. By control I mean the predictable regularity enforced by a DTD or XSD.

I had a great conversation about this with Dave Hollander the other day. Dave's the CTO of Contivo and co-chairs the XML Schema Working Group. Contivo's data integration product combines line-of-business-specific XML vocabularies with a mapper that (partly) automates translation to and from these vocabularies. My pushback was: OK, fine, but we don't really know what those vocabularies need to be until people start using software that speaks them. We agreed that extensible schemas are a good and necessary thing. But that's like arguing for mom and apple pie. More concretely, how does it work? Sure, we have xsd:any, just as we've always had email X-Headers and a thousand other escape hatches. What lessons from the past will help us create a sustainable and evolvable ecosystem based on XML vocabularies? And what new perspectives (if any) does XML bring to this old problem?

I'm sure I'll think of other things to ask my esteemed panelists, but this issue is top-of-mind for me. If there's something you'd like me to ask, fire away.

Former URL: http://weblog.infoworld.com/udell/2003/10/07.html#a821