Copyright © 1996 Harvey Bingham
The DSSSL procedure prototypes appear following the sub-clause where their semantics are provided. Only sub-clauses in the lineage of those containing prototype(s) are shown.
Prototypes in a sub-clause appear in original order, indented, as monospaced parenthesized strings. Each procedure prototype begins with its name. That name is either an initial symbol or symbols, a reserved name or a hyphen-separated compound name that identifies it. Following the name are possibly some other reserved words that end with a colon and identify argument options, other characters, and variable-names.
Some procedure prototypes are identified as forming the core expression language in 8.6.2. These are noted in the sub-clause where specified with a {core} suffix.
An alphabetic list of variable-names used in the procedure prototypes concludes this file.
(foo a b)(foo a b #!key key1: key2:)(not obj) {core}(boolean? obj) {core}(equal? obj1 obj2) {core}(pair? obj)(cons obj1 obj2)(car pair)(cdr pair)(caar pair)(cadr pair)(cdar pair)(cddr pair)(caaar pair)(caadr pair)(cadar pair)(caddr pair)(cdaar pair)(cdadr pair)(cddar pair)(cdddr pair)(caaaar pair)(caaadr pair)(caadar pair)(caaddr pair)(cadaar pair)(cadadr pair)(caddar pair)(cadddr pair)(cdaaar pair)(cdaadr pair)(cdadar pair)(cdaddr pair)(cddaar pair)(cddadr pair)(cdddar pair)(cddddr pair)(null? obj) {core}(list? obj) {core}(list obj ...) {core}(length list) {core}(append list ...) {core}(reverse list) {core}(list-tail list k) {core}(list-ref list k) {core}(member obj list) {core}(assoc obj alist)(symbol? obj) {core}(symbol->string symbol)(string->symbol string)(keyword? obj) {core}(keyword->string keyword)(string->keyword string)(quantity? obj) {core}(number? obj) {core}(real? obj) {core}(integer? obj) {core}(exact? q)(inexact? q)(= q1 q2 q3
...) {core}(< q1 q2 q3
...) {core}(> q1 q2 q3
...) {core}(<= q1 q2 q3
...) {core}(>= q1 q2 q3
...) {core}(zero? q)(positive? q)(negative? q)(odd? n)(even? n)(max q1 q2 ...) {core}(min q1 q2 ...) {core}(+ q1 ...) {core}(* q1 ...) {core}(- q1 q2) {core}(- q) {core}(- q1 q2 ...)(/ q1 q2) {core}(/ q) {core}(/ q1 q2 ...)(abs q) {core}(quotient n1 n2) {core}(remainder n1 n2) {core}(modulo n1 n2) {core}(floor x) {core}(ceiling x) {core}(truncate x) {core}(round x) {core}(exp x)(log x)(sin x)(cos x)(tan x)(asin x)(acos x)(atan x)(atan q1 q2)(sqrt q) {core}(expt x1 x2)(exact->inexact q)(inexact->exact q)(quantity->number q)(number->string number) {core}(number->string number radix) {core}(format-number n string)(format-number-list list obj1 obj2)(string->number string) {core}(string->number string radix) {core}(language? obj)(current-language)(with-language language proc)(char? obj) {core}(char=? char1 char2)
{core}(char char1 char2)(char>? char1 char2)(char<=? char1 char2)(char>=? char1 char2)(char-ci=? char1 char2)(char-ci char1 char2)(char-ci>? char1 char2)(char-ci<=? char1 char2)(char-ci>=? char1 char2)(char-upcase char)(char-downcase char)(char-property symbol char) {core}(char-property symbol char obj)
{core}(string? obj) {core}(string char ...) {core}(string-length string) {core}(string-ref string k) {core}(string=? string1 string2)
{core}(string-ci=? string1 string2)(string-equiv? string1 string2
k)(string string1 string2)(string>? <string1 string2)(string<=? string1 string2)(string>=? string1 string2)(string-ci string1 string2)(string-ci>? string1 string2)(string-ci<=? string1 string2)(string-ci>=? string1 string2)(substring string start end) {core}(string-append string ...) {core}(string->list string)(list->string chars)(procedure? obj) {core}(apply proc args) {core}(apply proc arg1 ... args)(map proc list1 list2
...)(external-procedure string) {core}(time) {core}(time->string k) {core}(time->string k boolean) {core}(time string1 string2)(time>? string1 string2)(time<=? string1 string2)(time>=? string1 string2)(error string) {core}(not obj)(boolean? obj)(equal? obj1 obj2)(null? obj)(list? obj)(list obj ...)(length list)(append list ...)(reverse list)(list-tail list k)(list-ref list k)(member obj list)(symbol? obj)(keyword? obj)(quantity? obj)(number? obj)(real? obj)(integer? obj)(= q1 q2 q3
...)(< q1 q2 q3
...)(> q1 q2 q3
...)(<= q1 q2 q3
...)(>= q1 q2 q3
...)(max q1 q2 ...)(min q1 q2 ...)(+ q1 ...)(* q1 ...)(- q1 q2)(- q)(/ q1 q2)(/ q)(abs q)(quotient n1 n2)(remainder n1 n2)(modulo n1 n2)(floor x)(ceiling x)(truncate x)(round x)(sqrt q)(number->string number)(number->string number radix)(string->number string)(string->number string radix)(char? obj)(char=? char1 char2)(char-property symbol char)(char-property symbol char obj)(string? obj)(string char ...)(string-length string)(string-ref string k)(string=? string1 string2)(substring string start end)(string-append string ...)(procedure? obj)(apply proc args)(external-procedure string)(time)(time->string k)(time->string k boolean)(error string)(current-node)(current-root)(node-list? obj)(node-list-empty? nl)(node-list-first nl)(node-list-rest nl)(node-list nl1 nl2 ...)(node-list=? nl1 nl2)(node-list-no-order nl)(named-node-list? obj)(named-node string nnl)(named-node-list-normalize string nnl symbol)(named-node-list-names nnl)(node-list-error string nl)(node-property propname snl #!key default: null:
rcs?:)(sgml-parse string #!key active: parent:)(value-proploc propname snl #!key apropsrc?:
default:)(list-proploc propname nl #!key apropsrc?:
ignore-missing?:)(node-list-proploc propname nl #!key apropsrc?:
ignore-missing?:)(listloc dimlist nl #!key overrun:)(listloc dimlist list #!key overrun:)(listloc dimlist string #!key overrun:)(nameloc nmlist nnl #!key ignore-missing?:)(groveloc list nl #!key overrun:)(treeloc marklist nl #!key overrun: treecom?:)(pathloc dimlist nl #!key overrun: treecom?:)(relloc-anc dimlist nl #!key overrun:)(relloc-esib dimlist nl #!key overrun:)(relloc-ysib dimlist nl #!key overrun:)(relloc-des dimlist nl #!key overrun:)(datatok nl #!key filter: concat: catsrcsp: catressp:
tokensep: ascp: stop: min: max: nlword: stem?:)(make-grove string nl)(literal-match string nl #!key level: boundary:
min-hits: max-hits:)(hylex-match string nl #!key norm?: level:
boundary: min-hits: max-hits:)(compare proc list)(ordered-may-overlap? nl)(ordered-no-overlap? nl)(span nl symbol)(empty-node-list)(node-list-reduce nl proc obj)(node-list-contains? nl snl)(node-list-remove-duplicates nl)(node-list-union #!rest args)(node-list-intersection #!rest args)(node-list-difference #!rest args)(node-list-symmetric-difference #!rest args)(node-list-map proc nl)(node-list-union-map proc nl)(node-list-some? proc nl)(node-list-every? proc nl)(node-list-filter proc nl)(node-list->list nl)(node-list-length nl)(node-list-reverse nl)(node-list-ref nl k)(node-list-tail nl k)(node-list-head nl k)(node-list-sublist nl k1 k2)(node-list-count nl)(node-list-last nl)(node-list-property propname nl)(origin nl)(origin-to-subnode-rel snl)(tree-root nl)(grove-root nl)(children nl)(data nl)(parent nl)(source nl)(subtree nl)(subgrove nl)(descendants nl)(ancestors nl)(grove-root-path nl)(rsiblings nl)(ipreced nl)(ifollow nl)(preced nl)(follow nl)(grove-before? snl1 snl2)(sort-in-tree-order nl)(tree-before? snl1 snl2)(tree-before nl)(property-lookup propname snl if-present
if-not-present)(select-by-class nl sym)(select-by-property nl sym proc)(select-by-null-property nl sym)(select-by-missing-property nl sym)(ancestor string osnl)(gi osnl)(first-child-gi osnl)(id osnl)(child-number snl)(ancestor-child-number string snl)(hierarchical-number list snl)(hierarchical-number-recursive string snl)(element-number snl)(element-number-list list snl)(attribute-string string osnl)(inherited-attribute-string string osnl)(inherited-element-attribute-string string1
string2 osnl )(first-sibling? snl)(absolute-first-sibling? snl)(last-sibling? snl)(absolute-last-sibling? snl)(have-ancestor? obj snl)(entity-public-id string snl)(entity-system-id string snl)(entity-generated-system-id string snl)(entity-text string snl)(entity-notation string snl)(entity-attribute-string string1 string2
snl)(entity-type string snl)(notation-public-id string snl)(notation-system-id string snl)(notation-generated-system-id string snl)(general-name-normalize string snl)(entity-name-normalize string snl)(attributes nl)(attribute string nl)(element-with-id string snl)(referent nl)(match-element? pattern snl)(select-elements nl pattern)(q-element pattern nl)(q-element pattern)(q-class symbol nl)(q-class symbol)(q-sdata string nl)(q-sdata string)(word-parse nl string)(word-parse nl)(select-tokens nl string)(regexp? obj)(regexp-node proc)(regexp-seq regexp1 regexp2
... regexpn)(regexp-or regexp1 regexp2
... regexpn)(regexp-and regexp1 regexp2
... regexpn)(regexp-rep regexp)(regexp-plus regexp)(regexp-opt regexp)(regexp-range regexp k1 k2)(string->regexp string)(regexp-search nl regexp)(regexp-search-disjoint nl regexp)(subgrove-spec #!key node: subgrove: class: add: null: remove: children:
sub: label: sort-children:)(create-spec? obj)(create-root obj sg)(create-sub snl sg #!key property: label:
result-path: optional: unique:)(create-preced snl sg #!key label: result-path:
optional: unique:)(create-follow snl sg #!key label: result-path:
optional: unique:)(node-list-union rnl ...)(node-list-intersection rnl ...)(children rnl)(attributes rnl)(preced rnl)(follow rnl)(parent rnl)(ancestors rnl)(descendants rnl)(origin rnl)(select-by-class rnl sym)(select-by-property rnl sym proc)(select-by-null-property rnl sym)(select-by-missing-property rnl sym)(select-by-relation rnl i proc)(select-by-attribute-token rnl string1
string2)(transform-grove-spec? obj)(transform-grove snl obj ...)(select-grove nl obj)(sgml-parse-prolog string)(transliteration-map? obj)(sosofo? obj)(empty-sosofo)(literal string ...)(process-children)(process-children-trim)(process-matching-children pattern ...)(process-first-descendant pattern ...)(process-element-with-id string)(process-node-list ndlist)(map-constructor procedure node-list)(sosofo-append sosofo ...)(sosofo-label sosofo symbol)(sosofo-discard-labeled sosofo symbol)(next-match)(next-match style)(style? obj)(merge-style style ...)(inherited-c)(actual-c)(char-script-case string1 obj1
... stringn-1 objn-1 objn)(sync sosofo1 sosofo2
#!key type: min: max:)(side-sync list)(generated-object? obj)(general-indirect-sosofo procedure generated-object
...)(asis-indirect-sosofo generated-object)(number-indirect-sosofo generated-object #!key format: add:
multiple:)(page-number #!key first-area-of-node: last-area-of-node:)(category-page-number #!key first-area-of-node: last-area-of-node:)(page-number-in-node nd)(total-node-page-numbers nd)(column-number #!key first-area-of-node: last-area-of-node:)(footnote-number symbol #!key first-area-of-node:
last-area-of-node:)(line-number symbol #!key first-area-of-node:
last-area-of-node:)(first-area-reference-value symbol #!key default: inherit:)(last-area-reference-value symbol #!key default: inherit:)(last-preceding-area-reference-value symbol #!key default:)(all-area-reference-values symbol #!key unique: inherit:)(+ length-spec ...)(- length-spec ...)(* length-spec x)(* x length-spec)(/ length-spec x)(/ x length-spec)(display-size)(decoration-area sosofo #!key placement-point-x:
placement-point-y: placement-direction:)(decorated-area-width) (decorated-area-height)(display-space? obj)(display-space length-spec #!key min: max: conditional?:
priority:)(inline-space? obj)(inline-space length-spec #!key min: max:)(glyph-id? obj)(glyph-id string)(glyph-subst-table? obj)(glyph-subst-table list)(glyph-subst glyph-subst-table glyph-id)(font-property string list #!key size: name:
family-name: weight: posture: structure: proportionate-width: writing-mode:)(address? obj)(address-local? address)(address-visited? address)(hytime-linkend)(idref-address string)(current-node-address)(entity-address string)(sgml-document-address string1 string2)(node-list-address node-list)(color-space string arg ...)(color-space? obj)(color color-space arg ...)(color? obj)(page-number-sosofo)(current-node-page-number-sosofo)(page-model? obj)(column-set-model? obj)(table-unit k)Variable naming has some consistency, and some meaning may be inferred from some of the names. Following each name that represents a variable is the count of occurrences in prototypes.
Links to sort groups: A B C D E G H I K L M N O P Q R S X
a 2
address 2
alist 1
arg 2
arg1 1
args 3
b 2
boolean 2
c 2
char 8
char1 11
char2 11
chars 1
color-space 1
dimlist 8
end 2
generated-object 3
glyph-id 1
glyph-subst-table 1
i 1
if-not-present 1
if-present 1
k 15
k1 2
k2 2
keyword 1
language 1
length-spec 8
list 21
list1 1
list2 1
marklist 1
n 3
n1 6
n2 6
nd 2
ndlist 1
nl 76
nl1 2
nl2 2
nmlist 1
nnl 4
node-list 2
number 4
obj 58
obj1 5
obj2 4
objn-1 1
objn 1
osnl 7
pair 30
pattern 6
proc 15
procedure 2
propname 6
q 16
q1 25
q2 21
q3 10
radix 4
regexp 6
regexp1 3
regexp2 3
regexpn 3
rnl 16
sg 4
snl 34
snl1 2
snl2 2
sosofo 4
sosofo1 1
sosofo2 1
start 2
string 59
string1 21
string2 20
stringn-1 1
style 2
sym 8
symbol 17
x 20
x1 1
x2 1
See DSSSL Prototype Procedure Index for the above prototype procedures sorted, with subclause references.
DSSSL Syntax Summary Index begins the syntax summary.
Version 1.6 25 Jun 1996 original
Version 1.6.1 15 Jul 1996 clarified meaning of {core}.
Version 2.1 2002-10-24 Changed ISP from rcn to hbingham.com.
Harvey Bingham's home pageCopyright restrictions:
This material may be used
freely for the purposes of studying DSSSL and promoting its application. This
copyright notice shall be included in any subsequent copies. The author reserves
the right to update this material and to determine the primary server on which
it is available.