ISO/IEC JTC 1/SC 18/WG8 N1918


Document Processing and Related Communication --

Document Description and Processing Languages

TITLE: Error Report for ISO/IEC 10179:1996(DSSSL)
STATUS: Error report for consideration
ACTION: For information
DATE: 6 May 1997
DISTRIBUTION: WG8 and Liaisons
REPLY TO: Dr. James David Mason
(ISO/IEC JTC1/SC18/WG8 Convenor)
Lockheed Martin Energy Systems
Information Management Services
1060 Commerce Park, M.S. 6480
Oak Ridge, TN 37831-6480 U.S.A.
Telephone: +1 423 574-6973
Facsimile: +1 423 574-0004

Error Report for ISO/IEC 10179:1996(DSSSL)

[1] Root Flow Object(12.4.1 and 12.6.4)

There are some text referring to the root flow object class. But it does not exist anymore.

In 12.4.1 (page 173), it says:

"A flow object tree is constructed from a source grove by processing the root node of the source grove in the initial processing mode; the flow objects specified by the resulting sosofo are added as children of the root of the flow object tree. The flow objects specified by this sosofo shall all be unlabeled, and shall either be all of class scroll, or shall be all of class page-sequence or simple-page-sequence."

This implies that the root flow object is other class than scroll, page-sequence, or simple-page-sequence.

In 12.6.4 (page 201), it says:

"force-first-page: is either #f or one of the symbols front or back specifying the required type of the first page of the page-sequence. If the value is not #f, then the parent flow object shall be of type root; if there is a preceding flow."

This implies that there is a flow object type named "root".

One of the following change should be done:

[2] The region of variable declared in let*

The description on the region of the variables is wrong.

The text says;

"A let* expression is similar to a let expression, but the bindings are performed sequentially from left to right, and the region of a binding indicated by a binding spec is that part of the let* expression to the right of the binding spec. Thus the second binding is done in an environment in which the first binding is visible, and so on."

The phrase "right of the binding-spec" should be replaced by " the end of the body". Or the word "binding-spec" should be replaced by "binding-expression".

[3] The production rules on the number (

The production rules on the number is confusing.

The text says that;

"The number data type is considered to be a subtype of quantity that represents dimensionless quantities"

But the production rule begins with; "[78] number = num-2|num-8|num-10|num16"

And the quantity is defined in the sub-syntax of the decimal number.

Rewrite the production rule to avoid the confusion. but the rewriting should be done so as not to need to change the current implementation.

[4] number->quantity (

The number->quantity procedure should be supplied for consistency as follows:

"(number->quality n1 string)

Returns the quantity that number part is the same as the n1 and unit is supplied by the string."

[5] Conversion Procedure Quantity and String

The string->quantity procedure and the quantity->string procedure should be supplied. This conversion may be important to print or display the default setting.

"(String->quantity string)

Returns a quantity of the maximally precise representation expressed by the given string. The number part of the string is always interpreted as the radix of 10. If string is not a syntactically valid notation for a number, then string->quantity returns #f."

"(quantity-> string quantity)

The procedure number->string takes a quantity, and returns a string as an external representation of the given quantity in the radix of 10."

[6] The Formal Name of the Flow Object ( and 12.6)

The formal name of the flow object classes should be clarified. In the text, there are both capitalized name and uncapitalized name. Because DSSSL is case-sensitive.

[7] Procedure Prototype (5.2)

The string type is not listed in this prototype convention.

[8] The List of Flow Object

The list of flow object class in the should list the all classes that are categorized as table, math, and online.

[9] The list of symbols

The standard should supply the list of symbols that are already bound to the standardized semantics.

[10] 4.3.5

The terminology "subtree" is defined recursively by using subtree. It should be defined by other wordings.

[11], last paragraph

The description "with the number name raised" should be "with the unit name raised".


The description "Returns the value" should be "Return the value".

[13] p.187,, line 26

The description "area that has" should be "area that have".

[14] p.188, line 6

The description "area that is" should be "area that are".