XML Marks the Spot

The importance of the World Wide Web for musicians should be obvious by now. MP3 sites abound, and anyone with a computer can distribute music to Net-nauts

The importance of the World Wide Web for musicians should be obvious by now. MP3 sites abound, and anyone with a computer can distribute music to Net-nauts around the world without a major record label.

The Web is based on a computer language called HTML (HyperText Markup Language). This language uses special codes that indicate how text and graphics should look when they are accessed by a Web browser. It also supports the use of hyperlinks, those underlined words and phrases within a Web page that let you jump to other pages when you click on them.

Unfortunately, HTML suffers from one major drawback: it describes how information should look, but it offers no way to represent what that information means. As a result, a lot of bandwidth is wasted on appearances. For example, if a customer changes an online order, the remote server must resend all the text and graphics to update a few numbers while your computer sits idly waiting because it knows nothing about prices or shipping.

One solution to this problem is to use a more advanced markup language that represents what the information means, rather than how it looks. To create such a language, Internet designers use a metalanguage-that is, a language that is used to define other languages. For instance, HTML was created using the SGML (Standard Generalized Markup Language) metalanguage. However, SGML is quite complex, so a simpler metalanguage called XML (Extensible Markup Language) was developed from it. XML is said to offer 80 percent of the benefit of SGML with 20 percent of the effort.

Using XML, any industry can create its own markup language by establishing a document type definition (DTD) that represents the industry's information in a meaningful way. In addition, XML incorporates the concept of stylesheets, which allow the information to be presented in any number of ways on a wide variety of devices while retaining its basic meaning. For example, you could display a piece of musical data as notation on a standard computer screen or personal digital assistant (PDA), or it could be played on a Web-savvy audio system, such as a digital telephone. In addition, the remote server need not concern itself with appearances, which should speed up the World Wide Wait significantly.

In the music world, one promising development is MML (Music Markup Language) from the University of Pretoria in South Africa (http://is.up.ac.za/mml). MML uses tags to represent musical content (see Fig. 1), which can be presented as text, a piano-roll graphic (as in many sequencers), standard music notation, or MIDI files, depending on the receiving device and its associated stylesheet.

A number of other music markup languages also exist. One of the oldest of these is SMDL (Standard Music Description Language), a specific application of HyTime (Hypermedia/Time-based Structuring Language). HyTime was developed using SGML. Another example is MNML (Music Notation Markup Language), which is designed for Internet delivery of Western music notation.

The bottom line is that a music markup language can greatly facilitate the visual and audible distribution of music on the Internet. As these languages become more commonplace, we should see an explosion of Web-based music sites that make today's offerings look positively quaint.

Thanks to Steve Mounce, Sami Nybacka, Tim Bray, Steve Newcomb, and Jacques Steyn for their help with this article.