but would be more generalized. This language, called HyTime, started out with noble goalsto build a cohesive mechanism for linking both across a network and over timebut for the most part failed to produce more than a specification for describing music in SGML terms (an effort that has been recast in XML, by the way). However, in the process, it spawned a couple of interesting child technolo- gies. Specifically, a superb programmer named James Clark (who also appears later in the section) created a scripting language called Document Style Seman- tics and Specification Language (DSSSL) that you can use to perform more complex transformations on SGML-like documents. In that same year, the W3C recognized that if HTML were to truly evolve, it would need to become far more flexible; essentially, it would need to become a meta-language itself, like SGML. The unfortunate downside of SGML, though, came from the twenty-plus years of legacy adaptations that had made writing an SGML application still an exercise requiring complex parsers (the programs that interpret the SGML to create the document structures in memory). SGML was simply too big and flexible to fit nicely on the Web. So, the W3C stripped out all but the most basic parts of SGML to create a new language: XML. XML was originally envisioned as being a way of creating various document structures, and consequently the first XML experts were the SGML gurus who had worked so heavily with the older language. By December 1997, the W3C had published a formal XML specification, and the language emerged to . . . well, yawns. Sold originally as a way of replacing HTML (a goal that it is in fact finally beginning to do), XML was simply too abstract and document-oriented for most people to really care. However, one of the characteristics of XML (which had been foreseen by DARPA several years earlier) was that a consistent, simple-to-use markup lan- guage could actually encode a large number of things beyond documents. For example, it could describe data structures such as those used in object-oriented programming, and it could readily describe stack structures. Programmers (myself included, at the time) saw an XML parser as a superb way of being able to describe binary trees and hierarchical data. By late 1998, the revolution had been hijacked, and XML became synonymous with data. By late 1998, the W3C started putting together the pieces of the Web as they should have been built. If HTML was a page-description language with links, it would be much better to have a whole language that existed to style XML docu- ments into a specific media representation. This effort led to the creation of the XML Stylesheet Language (XSL), which in turn consisted of one part that described the specific layout, PostScript-like, called XSL and one part for styling the XSL from the XML based on DSSSL but using XML as its description lan- guage. This language was in turn called the XML Stylesheet Language for Transformations (XSLT) and was shaped in great part by the aforementioned James Clark. 8 Chapter 1