N1861

ISO/IEC JTC1/SC18/WG8

Document Processing and Relating Communication—

Document Description and Processing Languages

TITLE:Report of the SGML RG: Discussion Notes
SOURCE: WG8/SGML RG
PROJECT: JTC1.18.15.1
PROJECT EDITOR: Charles F. Goldfarb
STATUS:WG8 approved report
ACTION:For information
DATE: 24 May 1996
DISTRIBUTION: WG8 and Liaisons
REFER TO:WG8 N1854
REPLY TO:Dr. James D. Mason
(ISO/IEC JTC1/SC18/WG8 Convenor)
Oak Ridge National Laboratory
Information Management Services
Bldg. 2506, M.S. 6302, P.O. Box 2008
Oak Ridge, TN 37831-6302 U.S.A.
Telephone: +1 423 574-6973
Facsimile: +1 423 574-6983
Network: masonjd@ornl.gov
http://www.ornl.gov/sgml/wg8/wg8home.htm
ftp://ftp.ornl.gov/pub/sgml/wg8/

Report of the SGML RG: Discussion Notes

At its meeting May 20-24, WG8 discussed the following areas:

  1. ISO 8879:1986 states that "an attempt to redefine an entity is ignored, but is not an error." However, multiple declarations of element types, attribute names, notation names, and short reference map names all are errors. WG8 has recommended that ISO 8879 be revised to permit an individual associated element type to appear in multiple attribute definition list declarations, and an individual attribute name to be specified multiple times within the attribute definition lists associated with an individual element type.

    Although time did not permit full design or establishing consensus among the experts present, more consistent treatment of redeclaration was discussed at this meeting. A proposed recommendation is that all attempts to redeclare an entity, element type, attribute type, short reference map, short reference use, or notation name within a document type declaration would be ignored and not considered errors. Link type declarations would be treated analogously.

    Ignoring attempts at redeclaration allows an individual document to override declarations in an external document type declaration subset. While there are situations in which users may wish to modify the effect of an external document type declaration subset in this way, there are also situations in which the designer of an external document type declaration subset wants to prevent users from doing so. Therefore, WG8 discussed an enhancement that would allow indicating that redeclaration of a particular item was indeed an error. Possibilities included both optional new parameters of individual declarations and the ability to mark a block of adjacent declarations as being unmodifiable.

  2. While agreed that despite wide-spread use of SGML, a situation in which the differing opinions would produce different results has not yet arisen, experts disagree on the interpretation of names and parameter literals that appear within the concrete syntax parameter of the SGML declaration (in particular within naming rules, reserved name use, the delimiter set ). Do character representations that appear explicitly within such names and literals represent characters in the syntax reference character set or characters in the document character set? Do numeric character references within literals refer to character codes in the document or the syntax reference character set?
  3. At end of incomplete discussion, WG8 had come close to arriving at consensus on recommending the following additions to SGML:

    WG8 also discussed the issue of semantic distinction between documents and subdocuments and whether or not this is a distinction that should be codified in SGML.

  4. An inheritance mechanism between element types simplifies declaration of related types. This mechanism would allow a derived element type to inherit the following properties of base element types: If this proposal is accepted, it should be possible to state which of the three a given derived element type inherits. In a tentative syntax, base and derived element types might be declared as follows:
          <!ELEMENT common-attr O O DUMMY
              -- "DUMMY" is new declared content to show the element never
                  occur in an instance. --
          >
          <!ATTLIST common-attr
                      id         ID         #IMPLIED
                      notation NAME      #IMPLIED
                      ...
          >
          <!ELEMENT list ...
              -- base element type --
          >
          <!ELEMENT orderd-list [list common-attr] ...
              -- derived element type. inherits "list" and "common-attr" --
          >
          <!ELEMENT para1 (list _ #PCDATA)
          >
          <!ELEMENT para2 (orderd-list _ #PCDATA)
          >
    
    Corresponding element instances might then be marked up as shown below:
          <para1><list>...</list></para1>                     --- OK.
          <para1><orderd-list>...</orderd-list></para1>    --- OK.
    
          <para2><list>...</list></para2>                     --- ERROR.
          <para2><orderd-list>...</orderd-list></para2>    --- OK.
    
          <orderd-list id="xxx">...</orderd-list>
              --- attributes of "common-attr" could be used.
    
    This proposal will be discussed in future meetings in conjunction with related issues, such as attribute definition list enhancements and architectural forms.
  5. WG8 discussed a proposal for extending the syntax for marked section declarations to allow an "If ... then ... else" mechanism such as is used in programming languages. It was concluded that there is no need for this extension since the requirements that motivate it have already been met with standardized mechanisms within HyTime, DSSSL, and General Facilities and the accepted proposal described in N1605 to allow boolean expressions within marked section declarations.