Article View: comp.text.sgml
Article #126Declarative vs. Procedural Markup
From: "Dr. "Eliot Kimber" Macro"
Date: Mon, 03 Aug 1992 20:10
Date: Mon, 03 Aug 1992 20:10
38 lines
2423 bytes
2423 bytes
Dan Connelly writes: >Descriptive markup (should we call it declarative markup?), in >contrast, implies no particular processing engine. It uses lexical >conventions to associate properties with content. Where a procedural >markup system would say "Set italics mode. Draw these characters. Set >roman mode," a descriptive markup system would say, "these characters >are italic." The more interesting (I think) and useful abstraction is "these characters represent data of type X", totally divorced from any output specification. That characters of type X may be set in italic in some styles is coincident and controlled purely by specifications outside the SGML document source itself, or applied via link process definitions. Why is this more interesting? Because there is for most documents of interesting complexity, a many-to-one mapping between different data types and presentation choices. For example, in the NetView/6000 documentation, we have at least four different things that map to italics in our main style: programming variables, citations, menu items, and specialized terms. By identifying each of these different data types by *what they are* and not how they look, we can do some interesting things, not least of which is change our mind about any one of them without incurring any rework cost (we just modify the style specification that maps the PV element to italics). We can also do some interesting hypertext retrieval things. For example, if all my menu items are tagged as such, it is an almost trivial extension to our processor to generate automatically a list of menu items and where they occur (automatic indexing), or automatically associate mentions of menu items with their definitions. Eliot Kimber Internet: drmacro@ralvm13.vnet.ibm.com Dept E14/B500 IBMMAIL: USIB2DK9@IBMMAIL Network Programs Information Development Phone: 1-919-543-7091 IBM Corporation Research Triangle Park, NC 27709
Technical Details
Message-ID:
<9208032015.AA16601@mammoth.Berkeley.EDU>Path:
arc1-ca.pugleaf.net!sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!RALVM13.VNET.IBM.COM!DRMACROShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!haven.umd.edu!darwin.sura.net!zaphod.mps.ohio-state.edu!cis.ohio-state.edu!ucbvax!RALVM13.VNET.IBM.COM!DRMACRO
From: DRMACRO@RALVM13.VNET.IBM.COM ("Dr. "Eliot Kimber" Macro")
Newsgroups: comp.text.sgml
Subject: Declarative vs. Procedural Markup
Message-ID: <9208032015.AA16601@mammoth.Berkeley.EDU>
Date: 3 Aug 92 20:10:14 GMT
Sender: daemon@ucbvax.BERKELEY.EDU
Lines: 38