🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.text.sgml
Article #126

Declarative vs. Procedural Markup

#126
From: "Dr. "Eliot Kimber" Macro"
Date: Mon, 03 Aug 1992 20:10
38 lines
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!DRMACRO

Show 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