








What You Need to Know About the New HyTime. By Steven R. Newcomb, President, TechnoTeacher, Rochester, New York, USA, Tel: +1 716 271 0796, Fax: +1 716 271 0129. Email: srn@techno.com; WWW: http://www.techno.com.
If none of the following statements applies to you, it is just possible that you do not need to know anything about the new HyTime, and you should stop reading this article immediately (don't bet on it, though). This list is by no means complete; it's meant to pique your interest. Should you want to:
If any of the above statements do apply to you, then you should read the appropriate section of Annex A ('SGML Extended Facilities') of the HyTime Second Edition: A.2 for lexical modeling of element content and attribute values; A.3 for information about inheriting the semantic and syntactic characteristics of other DTDs in your own DTD. Personally, I think A.3 is the single most revolutionary and far-reaching aspect of the new HyTime standard, and I would urge most SGML veterans to start there. The HyTime standard is now primarily two things: the HyTime architecture itself (which is essentially a very abstract DTD for hyperdocument structuring described in clauses 1-11), and the SGML Extended Facilities (Annex A). In the original edition of HyTime, there was only the HyTime DTD, whose element types were called 'architectural forms'. Each of the element types were designed to be inherited by actual element types in actual DTDs (that's why the HyTime DTD was called a 'meta-DTD'). Now, though, the HyTime DTD is regarded as one aspect of the definition of the 'HyTime Architecture', and A.3 describes how to inherit not only the HyTime architecture, but any combination of architectures (i.e., any combination of DTDs) you like. A.3 is called the 'Architectural Form Definition Requirements' or, simply, 'AFDR'.
Annex A.4 contains information about the 'property set' and 'grove' paradigms. Many would say that this is the single most revolutionary and far-reaching aspect of the second edition of HyTime, and it would be hard to argue with them. A 'property set' is the formal description of all the kinds of things that a parser ('notation processor') might find in an information resource expressed in some particular notation, and the relationships between those things. An SGML parser is expected to recognize certain kinds of things in an SGML document; those things are described in the 'SGML Property Set' that can be found in Annex A.7. (It is not light reading.) Another property set, the property set for the HyTime architecture, is found in Annex B. (It is not light reading, either. Fortunately, only system implementers and advanced SDQL query authors need to read property sets.)
A.5 contains information about the 'General Architecture'. This brief inheritable DTD provides special 'common' attributes and other features that are useful in many SGML contexts. The common attributes provide for such things as element self-description, and expressing the requirement that element content be checked for validity in the surrounding context.
A.6 contains information about 'Formal System Identifiers'. These allow system identifiers to contain metadata that allows them to be recognized as pertaining to specific filesystems, networks, containerizations (such as MIME), etc.
All of the above 'SGML Extended Facilities' are due to be incorporated, one way or another, in the next edition of SGML itself, so one might as well learn about them now, if one wishes to keep abreast of forthcoming developments in the SGML arena.
Because of the overwhelming importance of the SGML Extended Facilities, one might ask why the HyTime standard is still called, simply, 'HyTime'. I do not know; it is just inertia, I guess. I suppose it might be less confusing to call it 'ISO/IEC 10744:1997', but that is not a very inspiring name, and it does not roll off the tongue. (Come to think of it, 'SGML Extended Facilities' is not exactly a football chant, either.) Anyway, strictly speaking, the name 'HyTime' only applies to the HyTime architecture described in Clauses 1-11, although we often use the word 'HyTime' to mean the whole ISO 10744 standard, including the all-important Annex A.
HyTime still makes the outrageous (but still entirely true) claim of providing a way to address anything, anywhere, anytime.
The good old HyTime meta-DTD itself, now known as 'the HyTime architecture', is much the same in its broad outlines. It is still primarily about addressing, and about doing new things with old information by addressing it from hyperlinks and schedules. HyTime still makes the outrageous (but still entirely true) claim of providing a way to address anything, anywhere, anytime. Because of the new grove paradigm, and because of the new HyTime property set, however, it is now extremely clear exactly how these marvelous addressing facilities should be implemented. Everything, expressed in every notation, or contained in any database conforming to any schema, becomes addressable by first turning it into a grove conforming to a model expressed by a property set written to reflect the semantic structure of that notation or schema. Therefore, everything becomes addressable nodes in groves, and everything is addressable in terms of the semantics of its notation of origin, by means of arbitrarily complex queries, using the names of properties defined in the property set. The bottom line is that the early period of hand-waving about how HyTime really works is over, everyone who wishes to do so is invited to implement HyTime, and queries expressed in SDQL are portable across conforming implementations.
Many changes in the HyTime architecture were made in order to make it even more powerful and general. At the same time, however, great care was taken to avoid obsoleting any existing HyTime documents or HyTime-derived DTDs. The hyperlinking facilities are expanded; good old ilink is still there, but the preferred core notation for hyperlinks is now the 'hylink' architectural form (element type). Hylink uses one attribute per linkend, instead of using a single attribute for a list of IDREFS. Similarly, the scheduling and rendition modules have been expanded and generalized.
In general, the Second Edition of HyTime is much easier to understand than the first. The normative text was greatly expanded and extensively checked by long-suffering volunteers for comprehensibility. In addition, there are 538 explanatory notes, many of which are quite lengthy. Even so, like most big technical documents, the HyTime standard must be read more than once in order to be thoroughly understood. It's safe to say that there are inevitably some parts that can't be understood properly unless many other parts are already understood. We did the best we could, and are pleased with the result. We all hope you will find it extremely useful.
The four editors of the second editon of HyTime included the original two, Charles F. Goldfarb and Steven R. Newcomb, and two from the next generation of SGML designers, gurus, and implementers, W. Eliot Kimber and Peter J. Newcomb. Many other people contributed valuable insights, design suggestions, and very considerable editorial assistance. At the risk of inadvertently offending some by failing to mention their highly valued contributions, I'd like to recognize especially the contributions of Martin Bryan, James Clark, Sam Hunting, and Victoria T. Newcomb to the years of effort that the Second Edition represents. The fact that the sheer length of the document increased from just over 100 pages to nearly 500 would lead one to believe that the Second Edition was a major effort by many people, but in fact the size differential, large as it is, hardly begins to account for the overwhelming amount of work.
A new (but memberless) SIG of the International SGML Users' Group, the HyTime Users' Group, already offers a variety of materials about both the first and second editions of HyTime, together with pointers to other useful information, at its new web site, http://www.hytime.org/.
The GCA's Fourth International HyTime Conference was held in Montreal in August, where we learned that industrial adoption of the Second Edition's new concepts and formalisms is already underway in several major initiatives:
(Many of the presentation materials used at the conference are available at http://www.hytime.org/.)
With the publication of the HyTime Second Edition on August 1, 1997, the ISO put HyTime once again at the leading edge of information management. It is powerful, and it will likely come on slow and strong, just as the leading edge of SGML always has.
NOTE: Another version of this paper is available online from the TechnoTeacher web site: http://www.techno.com/need2know/index.html.
Contact Robin Cover with corrections and updates, or to submit contributions to the ISUG online document database.
