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)

  • 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)

  • keyword : keyword-type
    ex.) (font-weight: 'bold)

  • 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))

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)

  • 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)

3. Transformation Language

  • subgrove-spec : sub-grove specification type
    ex.) (subgrove-spec node | subgrove | class add null remove children | sublabel sort-children)

  • 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)

  • result-node-list :
    ex.) (select-by-relation rnl i proc)

  • transform-grove-spec :
    ex.) (transform-grove snl obj ...) (select-grove nl obj)

  • transliteration-map :
    ex.) (define-transliteration-map variable transliteration-entry)

4. Style Language

  • sosofo :
    ex.) (element p (make paragraph))

  • style :
    ex.) (make paragraph style: emphasizing-style)

  • generated-object :
    ex.) (asis-indirect-sosofo (column-number))

  • length :
    ex.) rapage-height: 15in

  • decoration-area :
    ex.)
    (make external-graphic entity-system-id: "sample.gif"
    (decoration-area "graphics sample"
    placement-point-x: 50
    placement-point-y: 250))

  • display-space :
    ex.) space-before: (display-space 15pt max: 45pt priority: 1)

  • inline-space :
    ex.) escapement-space-before: (inline-space 15pt max:45pt)

  • glyph-id : glyph identifier type
    ex.) (glyph-subst gst-eng glyph-aacute)

  • glyph-subst-table :
    ex.) (make character glyph-id: eacute glyph-subst-table: gst-eng)

  • address :
    ex.) (make link destination: chapter-2)

  • 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?]])