>Don’t Customize Industry Standard Grammars

>Tim Bray has a blog entry title, “On OOXML“, which he goes over the pros and cons of OOXML. There is one quote I have to agree with from a xml grammar design, whether that be DTD, XML Schema, SchemaTron, or RelaxNG:

“There’s another big quality problem: OOXML allows the use of “custom schemas”; i.e. you can enrich your documents with your own elements and attributes, and still work on them with Office. The problem is, history teaches that this is a terrible idea. As far back as the Eighties, people were doing this with SGML, and of course XML tried to continue the practice. It should be instructive that there were several companies founded to build and sell the technology around this, and none of them ever made any money to speak of; they’re gone.

Custom schema work turns out to be horribly complex in practice, in setting up the editing and versioning and display and formatting technologies; a recipe for huge, years-long, consulting engagements, and really lousy results. Don’t go there.” — Tim Bray, “On OOXML”, 03/05/2008.

While people argue for the need for extensions (business needs, proprietary data requirements, etc.), and it may seem harmless to extend a schema to meet your own business rules, it has long term affects on the people or applications that need to read that data. Extensions promote one off implementations, which causes more work for those trying to consume a standard schema from multiple parties. If each person in a trading partner network extends a industry standard schema to include their particular “special needs” then it destroys what the goal of the original standard was intended to do, to make implementation and data exchange easier and more reliable. It doesn’t help to reduce costs. Particularly development and maintenance costs.

The better option is to work with who ever maintains the schema to get the requirements added into the specification. This will require the maintainers of the specification to respond quicker than they typically have to these requests for modifications, but that is a topic for another blog.

Bottom line is don’t extend, but work with the organization creating the schema to get your needs included into the schema.

Advertisements
This entry was posted in standards, xml. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s