|
![]() |
|
Article from September, 1998. SGML Revisions and XMLBy Bob DuCharme, XML Correspondent Bob DuCharme, a software engineer at Moody's Investors Service, is also the author of The Operating Systems Handbook , a crash course in mini and mainframe operating systems, published by McGraw-Hill Professional Books. Abstract
This is the second part of a two-part series on the revisions being undertaken by the ISO SGML committee in support of the W3C XML committee work. The goal is to bring SGML inline with the streamlined standard that has become XML. In the July issue we took a look at SGML's new annexes K and L, which are the first significant changes to the ISO 8879 SGML standard since 1988. (These new annexes are official now, but some minor corrections are in the works.) Among other changes these revisions, known as the "Web SGML Adaptations Annex," include provisions to make SGML a proper superset of XML so that XML documents can be treated as SGML documents with less fiddling. Annex K is the "normative" one, specifying rules to follow to conform to the Web SGML Adaptations; it defines new terms such as fully-tagged, integrally-stored, and reference-free, which make it possible to define an application profile for documents that are easier to deliver over the Web or internal networks. It also loosens certain SGML requirements (for example, making capacity and quantity limits optional and allowing multiple attribute list declarations for the same element type) and adds some new features (such as the ability to predeclare entities for delimiter characters and the ability to represent empty-element tags like <this/> ) that make it possible for all conforming XML documents to also conform to ISO 8879. The complete text of these two annexes (along with Annex J, " TC" for "Extended Naming Rules", a short one that tweaks certain character-set related definitions of ISO 8879 to ease the use of non-Latin alphabets in SGML) is available at http://www.sgmlsource.com/8879rev/n1955.htm Annex LAnnex K, which we examined last month, discusses all of the Web SGML syntax details, but makes no mention of XML. Annex L, "Additional Requirements for XML," provides an example of using Web SGML. It summarizes some key points of XML and shows the SGML declaration that is considered to be implicit for XML documents when they are treated as SGML documents. This SGML declaration, as shown by its minimum literal (" ISO 8879:1986 ( WWW)") takes advantage of many of the new SGML features described in Annex K. Software Support of Web SGML AdaptationsWhen will the currently popular SGML software support the Web SGML adaptations? Toronto's SoftQuad plans to include Web SGML support in the fourth-quarter release of the "next generation" of its Author/Editor document editor and in the next release of their Panorama SGML viewer currently planned for September. The most important new feature of version 1.3 of James Clark's SP C++ class library was "better support for XML based on the Web SGMLTC," according to SP's "What's New?" page at http://www.sil.org/sgml/sgmlnew98.html . (See http://www.jclark.com/sp/xml.htm for details on exactly how much of Annex K is supported.) This may not seem important to you if you're not a C++ programmer, but it is anyway, because so much commercial and non-commercial SGML software uses Clark's class library. For example, AIS Software's Balise SGML document processor uses SP, and will incorporate SP 1.3 into Balise release 4.1 later this year. Most other popular SGML software companies (for example, OmniMark, Adobe, and ArborText) are still waiting--waiting for the final corrections to the Web SGML Annex to become official, waiting to see how much customer demand there is, and waiting to see just how important these revisions to the SGML standard become before they announce a definite strategy about support for them. Assuming that the majority of SGML software vendors support it, Web SGML has much to offer for SGML and XML systems. According to the Web SGML Project Editor (and SGML editor) Charles F. Goldfarb, "The Web SGML Adaptations add enormously to SGML's capabilities and customizability. While it is possible to pick and choose among these facilities to support XML, SGML users should find other combinations to be valuable as well. For example, documents can be made more restrictive by prohibiting external entity references or all entity references, or by requiring DTDs to contain some types of markup declaration rather than allowing all of them to be omitted. Documents can be made less restrictive by allowing some forms of markup minimization while still omitting DTDs, and so on. The success of XML has proven that restricting choices is necessary for success in a mass-market environment such as the Web. But large-scale SGML users who create their own environments should welcome these new capabilities of Web SGML, along with the ability to manage XML documents within their customized SGML environments." Some people ask "why bother with Web SGML when you can use XML?" but they miss the point: when SGML software conforms to the revised ISO 8879 spec, we'll no longer have to choose between SGML and XML for our systems--we'll be able to create documents that conform to both, giving us the best of both worlds. And for those who need it, there will be the possibility of feature "mix-and-match"; for example, having a document that conforms to all the declarations that are present, but with additional elements that aren't declared in the DTD. By offering an upgrade path to XML systems and an XML application profile to SGML systems, Web SGML has much to offer everyone in the creation of a complex, flexible document systems. <end/> © 1998 Bob DuCharme. |


