Introduction
1

Design patterns attempt to formalize the discussion of recurring problems and their solutions (Gamma, Helm, Johnson & Vlissides, 1995). Since common problems with (hopefully!) common solutions occur in many domains, patterns are used in almost every part of development. Design patterns are an effective way to share design decisions that actually work.

Several XML design patterns, drawn mostly from (Lainevool, n.d.), are introduced and their usefulness in the development of XML music representations is demonstrated. Because XML Schemas do not support specialized entities and parametric references, limiting the user's ability to extend the schema in an ad hoc fashion, and because they are more verbose and more complex (Valentine, Dykes & Tittel, 2002), this paper concentrates on the design of a (mostly) data-centric, i.e., designed to be processed by a machine rather than read by a human, Document Type Declaration (DTD). Of course, there are additional design patterns that are not covered. It is, however, the author's hope that enough patterns have been covered to generate additional discussion of the design of DTDs for music representation.

The Music Encoding Initiative (MEI) DTD, from which the examples are drawn, is both philosophically and technically related to the Text Encoding Initiative DTD (TEI, 2002). The complete DTD, the examples, and other materials related to MEI are available at http://www.people.virginia.edu/~pdr4h/. Readers unfamiliar with XML may wish to refer to a general introduction, such as The XML Companion (Bradley, 2000).

 
First
<<
Prev
<
MEI
Home
Next
>
Last
>>