XML 2002 logo

Maintaining Schemas for Pipelined Stages

Abstract

A pipeline approach to XML processing is becoming more popular for a variety of reasons, but maintaining a set of related schemas for use at different stages of a processing pipeline is a challenge. One could just use one schema throughout, and set everything that doesn't appear in all stages to be optional, or one could keep them all as separate schemas and edit the appropriate ones when necessary. The first option is unacceptable given the common role of a particular schema as a contract between two subprocesses regarding data formats; the second would lead to a maintenance nightmare.

Both W3C Schemas and RELAX NG schemas leave hooks to add elements and attributes from a non-schema namespace. By adding just a few to track the variations between schema stages, we can create a master schema and then generate all necessary pipeline stage schemas from that single schema using a short XSLT stylesheet. This presentation and paper will describe these schema additions and the brief stylesheet necessary to create the pipeline stage schemas.

Keywords