ISO/IEC JTC 1/SC34 N0469

ISO/IEC JTC1/SC34/WG2 N132

ISO/IEC JTC 1/SC34

Information Technology --
Document Description and Processing Languages

TITLE: PDAM2 to ISO/IEC 10179, Document Style Semantics and Specification Language (DSSSL)
SOURCE: Project Editor
PROJECT: 34.15.06.01.02
PROJECT EDITOR: Takashige Noguchi
STATUS: PDAM text
ACTION: PDAM Processing
DATE: 2003-12-07
DISTRIBUTION: SC34, SC34/WG2 and Liaisons
REFER TO:
REPLY TO: Dr. James David Mason
(ISO/IEC JTC 1/SC 34 Chairman)
Y-12 National Security Complex
Bldg. 9113, M.S. 8208
Oak Ridge, TN 37831-8208 U.S.A.
Telephone: +1 865 574-6973
Facsimile: +1 865 574-1896
Network: [email protected]
http://www.y12.doe.gov/sgml/sc34/
ftp://ftp.y12.doe.gov/pub/sgml/sc34/

Mr. G. Ken Holman
(ISO/IEC JTC 1/SC 34 Secretariat - Standards Council of Canada)
Crane Softwrights Ltd.
Box 266,
Kars, ON K0A-2E0 CANADA
Telephone: +1 613 489-0999
Facsimile: +1 613 489-0995
Network: [email protected]


PDAM2 to ISO/IEC 10179, Document Style Semantics and Specification Language (DSSSL)

Introduction

Following additional FOC is additional characteristics toward current DSSSL standard. Current DSSSL standard is not corresponded enough for users' and stylesheet writers' needs. Most of additional FOC has already corresponded as external definition file, implemented by DSSSL processing system, and introduced in current working system. Therefore, following additions are extremely strong demand from customer and stylesheet writer.


[1] Additional characteristics toward individual FOC

1.1 FOC line-field

  • inhibit-justify-space

    Designate inhibition of justify space before/after FOC line-field.

Characteristics Value Explanation
inhibit-justify-space (before|after|both|#f) Inhibit the space before/after the justified field. Default value is #f. this characteristics is not inherited.

- exp

(element lf
(make line-field
field-width: 500pt
inhibit-justify-space: 'both
))

1.2 FOC link

  • bookmark? / bookmark-level / bookmark-title

    Add function which generates bookmark for PDF to FOC link

Characteristics Value Explanation
bookmark? (#t|#f) Specify weather this Link-FOC is bookmark or not. This characteristics is not inherited
bookmark-level Number Specify the level of bookmark hierarchy. If the difference of hierarchical value from child item is more than 2, this specification is ignored and treated child item directly below. If bookmark-level which is initially processed is more than 1, it is processed as 0. Default value is 0. This characteristics is inherited. The maximum hierarchical value is 32. If the value is specified more than 33, information of bookmark is ignored.
bookmark-title String Specify bookmark title with character string. If title string is not specified, bookmark is not generated. Default value is "". This characteristics is not inherited.

- exp

(element bookmark
(make link
bookmark?: #t
bookmark-level: (string->number (attribute-string "level"))
bookmark-title: (data (current-node)))

(empty-sosofo)
)

1.3 FOC display-group

  • Function ext-line-number
  • Characteristics ext-line-number-position / ext-line-number-interval / ext-line-number-sep / ext-line-number-side

    For the function to generate line number in FOC display-group's attachment area, add ext-line-number.

    Add ext-line-number-position, ext-line-number-interval, ect-line-number-sep, ext-line-number-side as controling characteristics for function ext-line-number

Characteristics Value Explanation
bookmark? style object Specify the characteristics to control ext-line-number and the characteristics about style of line number.
Characteristics Value Explanation
ext-line-number-start Number Type Number, specify starting line number of output. Default value is specified at declare-characteristic. This characteristics is inherited.
ext-line-number-position String Type string, this characteristics specifies the all position of display area which outputs line number. Default value is specified at declare characteristics. Type string is specified position by the number which is counted from the both sides of paralleled display area according to writing-mode. Thus, when the writing-mode is 'left-to-right with layout of simple-page-sequence, if you wish to display line-number on right side of main paragraph, you must specify "2" as a number. When layout is 3 columns using column-set-sequence, if you wish to display line-number on both sides of 2nd column, you must specify "3 4" as a number. This characteristics is inherited.
ext-line-number-interval Number Value is positive integer to specify interval of outputted line-number, Default value is specified at declare-characteristics. This characteristics is inherited.
ext-line-number-sep length-spec Type length-spec, it specifies the length between line-number and display area. Default value is specified at declare-characteristics. This characteristics is inherited.
ext-line-number-side (start|end|both) The value is symbol. It specifies the position of display area where line-number is displayed. This characteristics has same meaning which ext-line-number-position. Thus, if both characteristics are specified, ext-line-number has priority. Default value is specified at declare-characteristics. This characteristics is inherited.

- exp

(declare-characteristic ext-line-number-start
"UNREGISTERED::Next Solution//Characteristic::ext-line-number-start" 1)
(declare-characteristic ext-line-number-interval
"UNREGISTERED::Next Solution//Characteristic::ext-line-number-interval" 1)
(declare-characteristic ext-line-number-side "UNREGISTERED::Next Solution//Characteristic::ext-line-number-side" 'end)
(declare-characteristic ext-line-number-sep
"UNREGISTERED::Next Solution//Characteristic::ext-line-number-sep" 0pt)(declare-characteristic ext-line-number-position
"UNREGISTERED::Next Solution//Characteristic::ext-line-number-position" "1")
(element body
(make display-group
ext-line-number-position: "2"
ext-line-number-interval: 1
ext-line-number-sep: 20pt
ext-line-number-side: 'end
ext-line-number: (style
font-size: 8pt
font-family-name: "GothicBBB_Medium"
ext-line-number-interval: 1)))

1.4 FOC external-graphic

  • inhibit-expansion / inhibit-reduction

Specify the inhibition of expansion and reduction toward the image which is designated in FOC external-graphic

Characteristics Value Explanation
inhibit-expansion boolean This value is type Boolean. If characteristics scale is specified `max or 'max-uniform, this characteristics is designated to inhibit expansion of image. Default value is #f. This characteristics is not inherited.
inhibit-reduction boolean This value is type Boolean. If characteristics scale is specified `max or 'max-uniform, this characteristics is designated to inhibit reduction of image. Default value is #f. This characteristics is not inherited

1.5 FOC sideline

  • sidedline-shift

Add FOC sideline-shift to shift located point of drawing the line in attachment area of FOC sideline by relative coordinate. FOC sideline-shift is different from sideline-sep. This FOC shifts line which is drawn at both side of area to same direction.

Characteristics Value Explanation
sideline-shift length-spec This value is length spec. Specify shifted length by relative coordinate. Default value is 0 pt. This characteristics is inherited.

- exp

(declare-characteristic sideline-shift
"UNREGISTERED::Next Solution//Characteristic::sideline-shift" 0pt)
(element changelog
(make sideline
sideline-shift: 20pt
))

1.6 FOC superscript

  • superscript-height

Add superscript-height to designate height of superscript.

Characteristics Value Explanation
superscript-height length-spec This value is length-spec. Specify the height of superscript. Default value is half size of font-size. This characteristics is not inherited.

- exp

(element sup
(make superscript
superscript-height: 20pt
))

1.7 FOC subscript

  • subscript-depth

Add subscript-depth to designate depth of subscript.

Characteristics Value Explanation
subscript-depth length-spec This value is type length-spec. Specify the depth of subscript. Default value is half size of font-size. This characteristics is not inherited.

- exp

(element sub
(make subscript
subscript-depth: 20pt
))

1.8 FOC table-cell

  • cell-row-height

Add cell-row-height to FOC table cell for designating the height of table cell.

Characteristics Value Explanation
cell-row-height length-spec This value is type length-spec. Specify the height of table-cell. Default value is #f. #f means that the height of table cell is changed according to contents. This value is not inherited.

- exp

(element td
(make table-cell
cell-row-height: 20pt
))

1.9 FOC table-row

  • keep

Add keep to FOC table-row for the designation of keeping the object into same region.

Characteristics Value Explanation
keep (#t|#f|page|column-set|column) This characteristics is not inherited. Default value is #f.

- exp

(element td
(make table-row
keep: #t
))

1.10 FOC glyph-annotation

  • ruby-process

Add ruby-process to FOC glyph-annotation for the specification of ruby character spacing.

Characteristics Value Explanation
ruby-process boolean This value is boolean. Default value is #f. If the value is true and the length of ruby character's is longer than parent character, all characters does not have space in between even though ruby characters are on non-ruby characters. If #f, space in between characters is applied.

1.11 FOC multi-line-inline-note

  • inline-note-kerning

Add inline-note-kerning to FOC multi-line-inline-note for the specification of kerning method toward inline note..

Characteristics Value Explanation
ruby-process boolean This value is boolean. Default value is #f. If the value is true kerning method toward inline note is executed.

[2] Additional common characteristics toward display FOC

2.1 keep-with-next-table-row-count

When #t is designated to display FOC, it is not keep with next generated FO, designate keep to the next generated row region.

Characteristics Value Explanation
keep-with-next-table-row-count Number The value is 0 and positive integer, To designate number of table-row region which is generated after FOC which is designated keep-with-next-line-count is finished when keep-with-next?:#t is processed, designate to keep between FOC which is specified keep-with-next-table-row-count and the number of designated table-row. Default value is 0. This characteristics is not inherited

- exp

(element paratitle
(make paragraph
keep-with-next?: #t
keep-with-next-table-row-count: 2
))

2.2 keep-with-next-line-count

When #t is designated to display FOC, it is not keep with next generated FOC, designate keep to the next generated line region.

Characteristics Value Explanation
keep-with-next-line-count Number The value is 0 and positive integer, To designate number of line region which is generated after FOC which is designated keep-with-next-line-count is finished when keep-with-next?:#t is processed, designate to keep between FOC which is specified keep-with-next-table-line-count and the number of designated line number. Default value is 0. This characteristics is not inherited.

- exp

(element paratitle
(make paragraph
keep-with-next?: #t
keep-with-next-line-count: 2
))

2.3 keep-line-count

When (#t|'page|'column-set|''column) is designated to display FOC, it is not keep with next generated FO, designate keep to the line region of generated line number.

Characteristics Value Explanation
keep-line-count Number The value is 0 and positive integer, To designate number of line region which is generated after FOC which is designated keep-with-next-line-count is finished when keep-with-next?:#t is processed, designate to keep between FOC which is specified keep-with-next-line-count and the designated line count. Default value is 0. This characteristics is not inherited.

- exp

(element paratitle
(make paragraph
keep-with-next?: #t
keep-line-count: 2
))

2.4 keep-priority

Add characteristics keep-priority to designate priority of keep toward display FOC. To be more precise, by comparing column-set-sequence and balance-priority, it is indicated whether processing keep or not

Characteristics Value Explanation
keep-priority Number The value is integer. When keep, keep-with-next, keep-with-previus are processed, designate priority to the layout specification which is destroyed as the result of processing. This characteristics is not inherited when default value is specified.

2.5 basic-spacing

Add basic-spacing to specify basic line positioning rule.

Characteristics Value Explanation
basic-spacing boolean This value is type boolean. Default value is false. If the value is true, line positioning rule is taken to specified display FOC.

2.6 line-adjustment

Add line-adjustment to specify basic line positioning rule. When this characteristics is specified basic kerning rule of start and end ofline is executed.

Characteristics Value Explanation
line-adjustment boolean This value is type boolean. Default value is false. If the value is true, basic kerning rule of start and end ofline is executed. For instance, certain characters like open parenthesis should not be positioned on end of line.

2.7 numeric-unit-division

Add numeric-unit-division to specify division method toward numeric and unit.

Characteristics Value Explanation
numeric-unit-devision boolean This value is type boolean. Default value is false. If the value is true, un-dividable rule toward certain pair of characters is executed. If pair of characters are numeric and unit, for instance "100mm", should not be devided into two lines.

2.8 treat-single-line-as-last-line

Add treat-single-line-as-last-line to specify treatment toward single line.

Characteristics Value Explanation
treatment-single-line-as-last-line boolean This value is type boolean. Default value is false. If the value is true, single line is treated as last line. This characteristics is mainly used when this display FOC is specified quadding as justigy and stylesheet writer does not expect single line to be justified.

2.9 open-paren-space-length

Add open-paren-space-length to specify space length between start line and open parenthesis.

Characteristics Value Explanation
open-paren-space-length length-spec This value is type length-spec. Default value is 0pt. If the numeric value is designated true, its value is for the length between position of srart line and open parenthesis.

2.10 first-line-open-paren-space-length

Add first-line-open-paren-space-length to specify space length between start position of first line of paragraph and open parenthesis.

Characteristics Value Explanation
first-line-open-paren-space-length length-spec This value is type length-spec. Default value is 0pt. If the numeric value is designated true, its value is for the length between start position of first line of paragraph and open parenthesis.

2.11 continuous-number-base-position

Add continuous-number-base-position to specify basic positioning toward continous number.

Characteristics Value Explanation
continuous-number-base-position boolean This value is boolean. Default value is #f. If the value is true, basic couninuous number spacing method is applied.

2.12 space-addition

Add space-addition to specify space adjustment toward English document.

Characteristics Value Explanation
space-addition boolean This value is boolean. Default value is #f. If the value is true and line of document needs to have space for justification, space is added between each alphabetical word.

2.13 last-line-characters

Add last-line-characters to specify number of characters in last line.

Characteristics Value Explanation
last-line-characteristics Number This value is Number. Default value is #f. If the value is more than 1, designated number of characters should be in last line.

[3] Additional common characteristics toward inline FOC

3.1 character-rotation

Add characteristics character-rotation to inline FOC to specify floating direction on designated inline characters.

Characteristics Value Explanation
character-rotation (0| 90 | 180 | 270 ) This value is symbol and default value is 0. 0 means floating direction is same as the value of writing-mode. 90 means specified characters' floating direction is orthogonal to writing-mode.

3.2 base-line-shift

Add base-line-shift to inline FOC to specify length from base line.

Characteristics Value Explanation
base-line-shift length-spec This value is length spec. Default value is 0. If value is negative, base line shifts up(right). Base line shifts down(left) on positive value.

[4] Additional common characteristics

4.1 page-number-format

Add page-number-format to change format of page number.

Characteristics Value Explanation
page-number-format Number The value is string to specify format of page number. Default value is 1. This characteristics is not inherited.

- exp

(element doc
(make simple-page-sequence
page-number-format: "i"
))

Format of page number

i, ii, iii, iv, v, vi, vii, viii, ix ...

- exp

(element doc
(make simple-page-sequence
page-number-format: "‡@ "
))

Format of page number

‡@ , ‡A , ‡B , ‡C , ‡D

4.2 page-number-restart?

Add page-number-restart? to re-calculate page number.

Characteristics Value Explanation
page-number-restart? Number The value is type Boolean to specify re-calculate page number. Default value is #f. This characteristics is not inherited.

- exp

(element doc
(make simple-page-sequence
page-number-format: "i"
page-number-restart?: #t))

4.3 initial-page-number

Add initial-page-number to specify initial value of page number.

Characteristics Value Explanation
initial-page-number Number The value is 0 and positive integer. Specify initial value of page number. Default value is 1. this characteristics is not inherited.

- exp

(element doc
(make simple-page-sequence
initial-page-number: 100
))

4.4 font-height

Add font-height to change height of font by numerical specification.

Characteristics Value Explanation
font-height LengthSpec The value is type LengthSpec to specify font height. Default value is 0pt. This characteristics is inherited.

- exp

(element heitai
(make sequence
font-size: 50pt
font-height: 25pt
))

4.5 font-width

Add font-width to change width of font by numerical specification.

Characteristics Value Explanation
font-width LengthSpec The value is type LengthSpec to specify font width. Default value is 0pt. This characteristics is inherited.

- exp

(element choutai
(make sequence
font-size: 50pt
font-width: 25pt
))

4.6 font-family-name

Add (extend) font-family-name to specify multiple fonts.

Characteristics Value Explanation
font-family-name list of (Languagefont-family-name) List of Language font-family-name. To be more precise, this is array of symbol and string to specify font-family-name. Default value is #f. This characteristics is inherited.

- exp

(element para
(make paragraph
font-family-name: '((EN "Helvetica") (JA "Gothic BBB") (CZ "MSMing"))
))


[5] Additinal functions

5.1 Function (define-column-set-model)

  • (balance-priority)

This is process of competition when specification of balance (balance? #t) is executed last page in column FOC. Concretely, it is indicated to whether execute of balance process or not by comparing priority of keep.

Characteristics Value Explanation
balance-priority Number The value is integer. When balance process is executed, it is designated the priority to layout specification which is destroyed as the result of processing. Default value is 0.

- exp

(define-column-set-model defcolumn-1
(column-subset
(balance? #t)
(balance-priority 20)
(flow (c-obj body-text))
(column (width column-width) (x-origin 0mm))
(column (width column-width)
(x-origin (+ column-width column-sep)))
))


[6] Japanese Formatting Rule

6.1 Continuous Punctuation

Continuous punctuation process is when a sort od punctuation spacing em (en space behind mask) and parenthesis of em space (en space in front of and behind nark) are continuous, cut en space and line up marks side by side

  • kern-ja / kern-ja-post / kern-ja-pre / kern-ja-mid

6.2 Kerning Process on top and end of line

  • kern-linestart-ja / kern-linestart-ja-post / kern-lineend-ja /
    kern-lineend-ja-pre

6.3 Line Boundary Character (KINSOKU)

Line boundary character check is automatic run-off process for the limited letters and punctuations which shall not be positioned on top or end of line

  • kinsoku-ja / kinsoku-ja-gyotoh / kinsoku-ja-gyomatsu

[7] Input-field

Add flow object class input-field which is needed to correspond conversion toward output format which can be specified data input field.

7.1 input-field flow object (input-field)

Flow object input-field is used to express input filed. This flow object has single principal port. This class of flow object is allowed only #PCDATA. Thus, this flow object cannot be held as descendants. Input-field flow object is inline and it generates line filed as the result of formatting.

Characteristics Value Explanation
Input-field type field-type:

(edit-box|combo-box) default is editbox

The value is symbol to designate type of input field which is generated by this flow object. This characteristics is not inherited.

edit-box Type is input-field
combo-box Type is combo-box.
Input-field width field-width:

length-spec default is auto

The value is object of type length-spec to specify width of this input-field generated by this flow object. This characteristics is inherited

Input-field height field-height:

length-spec default is max font size.

The value is object of type length-spec to specify height of this input-field generated by this flow object. This characteristics is inherited.

Input-field alignment field-align:

(start|end|center|inside|outside) default is start.

The value is symbol to designate alignment of inputted character in input-field. This characteristics is inherited.

Horizontal shift of position point position-point-x:

length-spec default is 0pt

The value is object of type length-spec to give x-coordinate of position point of input- field. This characteristics is not inherited.

Vertical shift of position point position-point-y:

length-spec default is 0pt

The value is object of type length-spec to give y-coordinate of position point of input- field. This characteristics is not inherited.

Specification of input data type data-type:

("string-data"|lower-case-alph|upper-case-alph)

The value is symbol or list of string to designate type of input data. Default value is specified allowance of all characters (#f).

Note. If you wish to specify only number(0-9), specify this data type as ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"). Moreover, if you wish to specify hexadecimal numeral, add ("a" "b" "c" "d" "e" "f") to above data type and in case of octal notation, specify ("0" "1" "2" "3" "4" "5" "6" "7"). This characteristics is inherited.

list igiven dataj By designating this list, users are only able to input list of value. In case of combo box, contents of combo is data of list.
lower-case-alph: ilower case alphabetj By specifying this value, users are only able to input lower case alphabet.
upper-case-alph: ( upper case alphabet) By specifying this value, users are only able to input upper case alphabet.
Others number, integer, real number, decimal, octal, hex, and so on c
Specification of maximum number of input character. max-char-count:

Number default is #f

The value is 0, positive integer, or #f to designate maximum number of character to be inputted in the field. By specifying this characteristics, users must input less than designated number of character. This characteristics is not inherited.

Specification of minimum number of input character. min-char-count:

Number default is #f

The value is 0, positive integer, or #f to designate minimum number of character to be inputted in the field. By specifying this characteristics, users must input more than designated number of character. This characteristics is not inherited.

Specification of line-break character. line-break-treatment:

(preserve | ignore | space) default is preserve

The value is symbol to designate process method of line-break character when inputted data is reflected to xml instance. This characteristics is not inherited.

preserve Inputted line-break character is to be reflected to xml instance
ignore Inputted line-break character is to be ignored when this data is reflected to original xml instance
space Inputted line-break character is converted to space character, then reflect to xml instance.
Writing mode writing-mode:

(left-to-right|right-to-left|top-to-bottom)

Designate writing mode of inputted data

Specification of country country: Public identifier
Specification of language language: Public identifier

[8] Other Features

8.1 Flow object score plotting position

When you draw score on a flow object subscript or superscript, designate whether score position shall ne adjust to leter by up, down, or not.

  • socore-subscript / score-superscript

8.2 Characteristics line-dash

Designate unit of length of line-dash pattern

  • linedash-unit

8.3 Index

On index, if there are two or more same page numbers, designate whether repeated page number

  • uniq-indexpage

8.4 Delimiter Character

Designatethe delimiter character of page numbers to be deleted on case of two or more overlapped page numbers for one item on index, and overlapped page numbers to be deleted.

  • uniq-indexpage-divide / delimiter

8.5 English douments process

Designate to word-wrap English word or not

  • wordrap

8.6 Flow object paragraph

Designate to execute line feed even if there are no contents in flow object paragraph or not

  • emptypara-linebreak / onelinepara-lastlinequadding

8.7 Flow object line-feed

  • emptylinefield-space