home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / text / sgml / 999 < prev    next >
Encoding:
Internet Message Format  |  1992-08-12  |  8.5 KB

  1. Path: sparky!uunet!pipex!unipalm!uknet!mcsun!sunic!ugle.unit.no!nuug!ifi.uio.no!SGML
  2. From: SGML@ifi.uio.no (Erik Naggum)
  3. Newsgroups: comp.text.sgml
  4. Subject: Re: Overenthusiasm
  5. Message-ID: <23302M@erik.naggum.no>
  6. Date: 12 Aug 92 23:43:58 GMT
  7. References: <5591@ebt-inc.UUCP>
  8. Organization: Department of Informatics, University of Oslo, Norway
  9. Lines: 151
  10.  
  11. Steve DeRose <sjd@uhura.uucp> writes:
  12. |
  13. |   Erik wrote:
  14. |
  15. |   >...Well, I certainly won't speak for Darrell, but there is no issue of
  16. |   >a portability problem for SGML documents.
  17.  
  18. The next sentence, which totally changes the impact of the above quoted
  19. statement went like this:
  20.  
  21. ||  There [is] _perhaps_ an issue of proper specifications for
  22. ||  semantic[s] in the SGML application so that application programs can
  23. ||  be written from them, and thus, portability or (perhaps more
  24. ||  properly) implementability _of_ SGML applications is the key.
  25.  
  26. In other words, there's no portability problem for SGML _documents_, but
  27. there might be an implementability issue for SGML _applications_.
  28.  
  29. The reason is, of course, that SGML doesn't deal with documents, it
  30. deals with document _types_, as defined in and by SGML applications.
  31. Any application program will necessarily have to be written with respect
  32. to the document types, or at least half the point with using SGML is all
  33. but lost.
  34.  
  35. |   Erik, if I mail you a document to do *any* processing on (other than
  36. |   confirming its validity, which is merely solipsistic), it is still
  37. |   hard.  Please list for me any two SGML application programs meant to
  38. |   do comparable processing on SGML documents, which can take an SGML
  39. |   document and produce comparable results without a lot of painful
  40. |   manual set-up first.  They must work for any DTD.
  41.  
  42. This is a straw man you erect for the sole purpose of cutting it down as
  43. if it were my argument, which it isn't.  Also, you must have ignored
  44. everything I have said about SGML applications in order to say this.
  45.  
  46. To repeat, an SGML document is an SGML document relative to an SGML
  47. application, part of which is specified in the prolog of the SGML
  48. document, and part of which is specified in the rest of the DTD (=
  49. Document Type Definition, not just "Declaration").  There can be no such
  50. thing as what you request, because you forget that processing semantics
  51. is not specified in the SGML document itself.  Thus "comparable
  52. processing on SGML documents" begs the question of what "processing"
  53. means, and how to establish "comparable".  If I don't have the rest of
  54. the DTD, "they must work for any DTD" is also an irrational requirement.
  55. Implementing the semantics of an SGML application takes work, and
  56. whether you regard it as "a lot of painful manual set-up" or as
  57. implementing the semantics of an SGML application in order to conform to
  58. it, probably makes a hell of a difference in the quality of the work,
  59. too.
  60.  
  61. |   Most of the benefits of SGML, ironically, derive not from SGML per
  62. |   se but from a set of conventions that SGML users encourage.
  63.  
  64. As seen from the viewpoint that you'd like to suffer as little "painful
  65. manual set-up" as possible, yes.  As seen from the viewpoint of
  66. capturing essential characteristics which super-classes of document
  67. types have in common, it becomes not just "conventions", but the
  68. informal version of what architectural forms does formally.  It's
  69. obvious that you can't have only one "architecture" (or set of
  70. "conventions"), if you wish to do real information processing, but
  71. that's what it seems that you imply.  If so, you have limited SGML to a
  72. set of semantics which makes SGML no more than a markup language for the
  73. presentation of documents in various forms.
  74.  
  75. I think, and I know that I saw this when I first started to study SGML,
  76. that SGML is much more abstract than this.  SGML is, in fact, so
  77. abstract that many people have enormous problems relating to more than
  78. one concrete side of its application.  (See the description of the blind
  79. men and the elephant in Goldfarb's SGML Handbook for an example of this
  80. problem.)  James Mason pointed this out in his article, too, where he
  81. notes that people have been with SGML since the beginning, and gradually
  82. become aware of its applicability far from their original problem
  83. domain.
  84.  
  85. |   On another point, to suggest that SGML is not for representing
  86. |   semantics, and yet "is intended to be a information representation
  87. |   vehicle", is oxymoronic.
  88.  
  89. Syntax and semantics are often found in layers, where the syntax of one
  90. layer is the semantics of a lower layer.  This is what you get from data
  91. abstraction, and languages such as ASN.1.  I have been forced to move up
  92. and down in such layers more than I appreciated while it was going on
  93. when I worked on communication protocols, but I have also seen that such
  94. layering where conscious omission of vast amounts of detail is the rule
  95. of the day, can be tremendously difficult to cope with.  The reference
  96. model for open systems interconnection (OSI), for instance, provides you
  97. with fully seven double-function interfaces of "service data" and
  98. "protocol data" which really are the same thing seen from above and
  99. below, but it's crucial to keep the viewpoint in focus, and moving
  100. around in the OSI model requires effort even to trained experts.
  101.  
  102. I doubt that they would be very pleased to hear that their work is
  103. "oxymoronic" because some listener doesn't realize that they're looking
  104. at the same thing from at least 13 different viewpoints at the same
  105. time.  SGML is relatively simple by comparison, with only between three
  106. and five different viewpoints on the same data "active" at the same time
  107. (depending on how seriously you take character sets and the abstractness
  108. of the abstract syntax).  (HyTime adds five more, and I got completely
  109. lost at first, until I could view SGML as only one viewpoint on a HyTime
  110. document, and could rid myself of the sequential nature of the SGML
  111. document instance.)
  112.  
  113. "There has to be _some_ semantics, but it could be _any_ semantics,"
  114. should be thought of as a rule of thumb with SGML documents.  SGML
  115. defines the syntax and representation of element types and, ultimately,
  116. document types, and provides representational semantics, which at a
  117. sufficiently high level of abstraction can be regarded as syntax for the
  118. higher-level language.  Carsten Bormann has related that he thinks the
  119. semantics of an SGML document parsing instance is the element structure
  120. information set (ESIS).  That's certainly one very important viewpoint,
  121. because it's what an SGML parser "does" with respect to the application
  122. program.  Still, the ESIS is mere syntax to the application program,
  123. which has to import its own semantics on the data.
  124.  
  125. I'm trying to limit SGML to what it can "do", but I'm also trying not to
  126. limit what it can be used _for_.  I see this as essential in viewing
  127. SGML and related standards as _enabling_ (to use James Mason's article
  128. as a reference).  If you need more than SGML "does", you need to define
  129. an SGML application.
  130.  
  131. A legitimate concern has been raised that validation should occur as
  132. close to the data as possible.  Yes, I agree.  That's why SGML provides
  133. NOTATION, for instance.  The non-trivial (but still toy-size) SGML
  134. applications I have played with required three layers in the application
  135. program, which could be invoked independently so as to validate more and
  136. more of the structure before using it.  Not only was it relatively
  137. simple to implement, it produced very pleasing results.
  138.  
  139. The key here is layering, and understanding that SGML spans a number of
  140. layers, and realizing that you should talk to SGML at the highest layer,
  141. and not try to grope about in the lower representational layers which
  142. SGML can handle just fine all by itself.
  143.  
  144.  
  145.  
  146. Again, sorry about the length of this.  I really don't have the time to
  147. do proper editing and removal of redundancy.  Normally, I don't post the
  148. first couple drafts, but I can't afford that luxury now.  I think this
  149. needs saying because it's been true for about three weeks, now, and some
  150. people tend to react as if I had published this stuff in a refereed
  151. scientific journal.  I find it more important to get this out, than wait
  152. until the thread is all but forgotten.  If you think otherwise, please
  153. let me know.  (And thanks to those you have. :-)
  154.  
  155. Best regards,
  156. </Erik>
  157.  
  158. PS: Steve, could you fix your Reply-To or From line so they point back
  159. to a place you can be reached.  My archive receipt generator has sent me
  160. many a complaint that "uhura" doesn't exist in the known e-mail universe.
  161.  
  162. --
  163. Erik Naggum             |  ISO  8879 SGML     |      +47 295 0313
  164.                         |  ISO 10744 HyTime   |
  165. <erik@naggum.no>        |  ISO 10646 UCS      |      Memento, terrigena.
  166. <enag@ifi.uio.no>       |  ISO  9899 C        |      Memento, vita brevis.
  167.