[Mirrored from: http://www.hightext.com/IHC96/srn23.htm]

<- Steven R. Newcomb -> It's All About Architectures

Steven R. Newcomb

Graphic Communications Association
Third International HyTime Conference
August 20, 1996
Seattle, Washington

<- Architecture -> SGML has always been about information architecture.

Architecture means planning structures.

A structural plan is a model.

SGML requires modeling; one can't express a document instance in the absence of a model for it.

<- Document Type Definition -> In SGML, a model is called a "Document Type Definition (DTD)"

A DTD is an information architecture.

(This is not news.)

HyTime was designed to extend SGML into the realm of hypermedia.

There are certain things about hypermedia that are commonly found in hypermedia documents.

HyTime provides a standard syntactic and semantic model for these common features of hypermedia documents.

There were several problems encountered in expressing the design of HyTime in strictly SGML terms.

But HyTime had to be an application of SGML, and not violate SGML in any way.

The main problem:

HyTime could not optimally be expressed as a DTD.

What to do?

In other words,


What to do?

Two distinct kinds of architectures were needed!

(...and SGML already provided for one of them.)

(1) "Encompassing" architectures -- DTDs --

Two distinct kinds of architectures were needed!

(...and SGML already provided for only one of them.)

Meta-DTD (2) "Enabling" architectures -- "meta-DTDs" --

A DTD is the formal, parsable expression of an encompassing architecture.

A meta-DTD is the formal, parsable expression of an enabling architecture.

Meta-DTDs look and feel just like DTDs. (There are two minor enhancements to the meta-DTD syntax which Dr. Goldfarb will explain shortly.)

Question: So, what is the difference between a meta-DTD and a DTD?

Answer: There is NO significant inherent difference.

In fact, a DTD can be used as a meta-DTD without being changed. Every DTD is already potentially a meta-DTD. All you have to do is use it that way; you don't have to change a single character.

The only significant difference is in how they are used.

What makes a meta-DTD different is:

but, at the same time,

The rest of this talk makes some bold claims for this new enhanced way of using SGML: enabling architectures.

These claims are like a problem statement for the Technical Corrigendum of HyTime.

The solution is the Technical Corrigendum.

<- HyTime Technical Corrigendum -> HyTime (ISO/IEC 10744) pioneered the idea of enabling architectures, just by being one.

Now, ISO 10744's Technical Corrigendum extends to everyone the ability to create and use enabling architectures.


Obviously, we now have a way to express and enforce syntactic and semantic similarities between documents.

Any two element types in any two different documents can explicitly share syntactic and semantic features,

Now we can declare that syntactic similarity between constructs in different instances are not a coincidence.

<- Extended Facilities -> <- SGML Extended Facilities -> With ISO 10744's "SGML Extended Facilities," SGML is now, even more than ever, object oriented. This is not a coincidence.

Because of the rigor and accountability afforded by using the SGML enabling architecture formalism:


The productivity of information architects will be:

SGML architects will be expected to declare the sources of their semantic notions, and to express them as base architectures, rather than just leaving them implicit.

People who use SGML documents will increasingly rely on formal architecture definition documents, and decreasingly on comments in DTDs.

<- Object -> Object-oriented software technology and SGML technology will be regarded as essential to one another.