Proposed Draft of Amendment 1 to ISO/IEC 10179
- Extensions to DSSSL -
Annex B. Types and Symbols
1. Expression Language
- boolean : logic-type
This type specify true or false. The value is either #t or #f. This type is used in conditional expressions. #f mean false, #t mean true, other objects except #t and #f mean true. (See 8.2.2 True and False. See also 8.5.1 Booleans)
- ex.)
(if eqaul wordflag #t) x y) - ex.)
- symbol : symbol-type
Symbol is identified strings for optional semantics. The value is used for specification of DSSSL script as parameters. In expression, Symbol needs to type single quotation (') ahead identified string of Symbol. (See 8.5.4 Symbols)
- ex.)
(font-weight: 'bold) - ex.)
- keyword : keyword-type
- ex.)
(font-weight: 'bold) - ex.)
- char : character-type
- ex.)
- #\A : character 'A'
- #\space : spacing 'empty charcter'
- #\( : open circle paretheses '('
- pair : pair-type
- ex.)
(glyph-subset-table (list (cons glyph1 glyph2))) - quantity : qauntity-type
- number : number-type
- real : real-number-type
- integer : integer-number-type
- ex.)
(even? tapesize) - string : string-type
- ex.)
(string=? headstr "Contents") - procedure : procedure-type
- ex.)
(apply (format-number stringsizes)) - language : laguage-type
- ex.)
(with-language french (spellchaeck-french)) - ex.)
2. SDQL
- node-list : node-list-type
Node-list is the most basic type of SDQL to specify node lists of Grove. A single node should be specified by node-list as a single node list. In DSSSL transformation, this data type with flag is to specify and discriminate the result node-list. (See 10 Standard Document Query Language. See also 10.1.2 Node Lists.)
- ex.)
(node-list-first firstpage) - ex.)
- named-node-list : node-list with name type
Named-node-list is to specify node lists with name of Grove tree. (See 10 Standard Document Query Language. See also 10.1.3 Named Node Lists.)
- ex.)
(named-node column1 page-top) - ex.)
3. Transformation Language
- subgrove-spec : sub-grove specification type
- ex.)
(subgrove-spec node | subgrove | class add null remove children | sublabel sort-children) - ex.)
- create-spec :
- ex.)
- (create-root obj sg)
- (create-sub snl sg property label unique)
- (create-proc snl sg label result-path optional unique)
- (create-follow snl sg label result-path optional unique)
- ex.)
- result-node-list :
- ex.)
(select-by-relation rnl i proc) - ex.)
- transform-grove-spec :
- ex.)
(transform-grove snl obj ...) (select-grove nl obj) - ex.)
- transliteration-map :
- ex.)
(define-transliteration-map variable transliteration-entry) - ex.)
4. Style Language
- sosofo :
- ex.)
(element p (make paragraph)) - ex.)
- style :
- ex.)
(make paragraph style: emphasizing-style) - ex.)
- generated-object :
- ex.)
(asis-indirect-sosofo (column-number)) - ex.)
- length :
- ex.)
rapage-height: 15in - ex.)
- decoration-area :
- ex.)
(make external-graphic entity-system-id: "sample.gif"
(decoration-area "graphics sample"
placement-point-x: 50
placement-point-y: 250))
- ex.)
- display-space :
- ex.)
space-before: (display-space 15pt max: 45pt priority: 1) - ex.)
- inline-space :
- ex.)
escapement-space-before: (inline-space 15pt max:45pt) - ex.)
- glyph-id : glyph identifier type
- ex.)
(glyph-subst gst-eng glyph-aacute) - ex.)
- glyph-subst-table :
- ex.)
(make character glyph-id: eacute glyph-subst-table: gst-eng) - ex.)
- address :
- ex.)
(make link destination: chapter-2) - ex.)
- color-space :
- (color-space string arg ...)
- ex.)
(color-space "ISO/IEC 10179:1996//Color-Space Family::Device RGB") - color :
- (color color-space arg ...)
- ex.)
(define *rgb-color-space*
(color-space
"ISO/IEC 10179:1996//Color-Space Family::Device RGB"))
(define *midnight-blue* (color *rgb-color-space* 0.0 0.0 0.5))
...
(make paragraph color: *midnight-blue*) - page-model :
- (define-page-model page-model-name [[region+ | width | height | filling | decoration]])
- ex.)
(region [[x | y | width | height | decoration* | filling | header | footer | flow-map?]]) - culmn-set-model :
- (define-column-set-model variable [[column-subset* | fill-out? | tied-column-subset* | filling-direction? | width? | height? | decoration*]]) (column-subset [[column+ | flow-map | top-float-space-below? | bottom-float-space-above? | balance? |justify? | justify-limit? | justify-last-limit? | length-deviation? | length-decrease-order? | align-lines?]]) (column [[width? | height? | x-origin? | y-origin? | footnote-separator? | header? | footer?]])