NACS Schema experience

Submitted by David Ezell, National Association of Convenience Stores (NACS)

Overview

NACS has had committees working on XML vocabularies since 1998. 2002 saw the first XML Schema representations of the vocabularies. Through its continued support of the XML Schema WG, NACS has demonstrated its interest in improving XML Schema. The XML Schemas developed by NACS (and by the follow-on organization Petroleum/Convenience Alliance for Technology Standards (PCATS)) are widely viewed to be successful. However, various members of the committees continue to point out features that would make life easier, summarized here.

Technical specifics

Interoperability

Interoperability between various schema processors has not been a big issue. However, erroneous implementations by some tools has occasionally contributed to the publication of bad schemas, causing confusion and lost time.

Extensions and Versioning

Being able to extend schemas without pre-planning (i.e. having extension points) is a very critical issue for NACS. Equally important is for extensions not to break backward compatability and not to preclude processing with older schemas (e.g. xsi:type requires that a new schema be available).

Coconstraints

Though most need for coconstraints can be argued away as "bad design," the fact is that many people prefer to design data interchange using them. Of special importance to NACS is the recasting of various EDI vocabularies into XML; EDI makes use of coconstraints.

Recipe schemas or ingredient sets

Retail groups such as NACS have often tried to create schemas to allow a given implementation to choose from a set of pre-defined items, or to provide schemas that give a framework to the exchange without giving all of the details. XML Schemas don't really support these kinds of vocabulary design very well, exceptions being wild-cards and "all" groups. Lack of strength in this particular area has led to the development of a controversial "use case" tool that provides some of the needed functionality, but (unfortunately) enforces rules not described in the schemas.

Link

Public versions of some of the PCATS schemas can be downloaded from http://www.pcats.org/website/article.asp?id=15.