Revision 01
November 9, 1997
Glossary
This glossary is provided by the DSSSL Documentation Project. It
comprises glossary entries contributed by subscribers to the DSSSList.
While every precaution has been taken in preparation of this glossary,
no-one assumes any responsibility for error or omissions, or for damages
resulting from the use of the information contained herein.
association
1.0
19970625
Jacques Deseyne Jacques.Deseyne@sema.be
Within a transformation specification, associations
indicate how a source grove is to be transformed in one or more result
groves.
An association consists of a query expression
and
a transform expression, with optionally a
priority
expression as a third part.
The query expression is evaluated and returns a (possibly empty)
list
of nodes
in the source grove, to which the transform expression can be applied.
If a
given node
is a candidate for transformation by more than one association, only the
one with the
highest priority is actually applied.
atomic flow object
1.0
19970625
Vivek Agrawala vivek@scr.siemens.com
2.0
19971104
Mitch C. Amiano amiamc@aur.alcatel.com
Atomic flow objects are flow objects which do not have ports, because
they do not relate other flow objects together. Atomic flow objects are
flow object which are terminal with respect to a given branch in a flow
object tree. Contrast this to a flow object which is non-atomic.
backend
1.0
19971031
Dave Pawson
dpawson@rnib.org.uk
With respect to Jade, one of a number of post-processing
avaiable to present user output.
characteristic
1.0
*** Definition needed ***
construction rule
1.0
*** Definition needed ***
content expression
1.0
*** Definition needed ***
core expression language
1.0
19970815
Tony Graham tgraham@mulberrytech.com
A subset called the Core Expression Language that must be
supported by all DSSSL implementations. DSSSL implementations may
optionally support the full expression language.
The core expression language is defined in section 8.6 of the
standard. It comprises a set of productions defining the syntax and a
list of standard procedures.
CSS
1.0
19971031
Dave Pawson
dpawson@rnib.org.uk
CSS. Cascading Style Sheet. A Specification
for the presentation of html marked documents.
Cascading style sheets work like a template, allowing
Web developers to define a style for an HTML element and then apply it
to as many Web pages as they'd like. With CSS, when you want to make a
change, you simply change the style, and that element is updated
automatically wherever it appears within the site. Both Navigator 4.0
and Internet Explorer 4.0 support cascading style sheets.
catalog
1.0
19971031
Dave Pawson
dpawson@rnib.org.uk
Catalog. The catalog expected by many SGML applications
is a file containing
the equivalences between the long formal public identifiers used in
document type declarations and the actual filenames of DTDs and entity
files on your hard disk, done as lines like this:
SGMLDECL "/my/dtds/sgml.decl"
PUBLIC "-//Foo, Inc//DTD Report//EN" "/my/dtds/report.dtd"
PUBLIC "-//IETF//DTD HTML 2.0//EN" "/her/dtds/html2.dtd"
All the DTDs and entity files your system is going to reference
must
be included in the catalog, otherwise nothing will work.
A common format for catalogues was codified by the SGML
Open
organization.
derived expression
1.0
19970815
Tony Graham tgraham@mulberrytech.com
An expression, part of the syntax of DSSSL's Expression Language,
that, although defined as part of the Expression Language, can be
defined in terms of the primitive expression types of the Expression
Language.
dsssl-o
1.0
19970620
Tony Graham tgraham@mulberrytech.com
“dsssl-o” stands for “DSSSL Online”, an application profile of DSSSL designed for on-line display. The dsssl-o specification and its later revisions were issued by Jon Bosak. The dsssl-o specification grew out of discussions on the former DSSSL-Lite mailing list during the period from September through November 1995. These discussions culminated in a December 9, 1995 meeting of key SGML and DSSSL implementors in Boston hosted by Jon Bosak, then of Novell, and chaired by the late Yuri Rubinsky of SoftQuad. The application profile resulting from that meeting was published on the Internet on December 12, 1995 as the document 951212.htm and announced at a workshop of the Fourth International World Wide Web Conference the same day. The application profile was subsequently revised and reissued on August 16, 1996 and again on May 22, 1997.
XSL, Extensible Style Language, has superseded dsssl-o.
DSSSL Documentation Project
1.0
19970620
Tony Graham tgraham@mulberrytech.com
The DSSSL documentation project is a collaborative effort by DSSSL
users to write and disseminate documentation on all aspects of
DSSSL.
DSSSList
1.0
19970620
Tony Graham tgraham@mulberrytech.com
The DSSSL user's mailing list. See http://www.mulberrytech
.com/dsssl/dssslist.
DTD
1.0
19970625
Vivek Agrawala vivek@scr.siemens.com
Document Type Definition, provides a rigorous description of a
class
of SGML documents
emphasizing-mark
*** Definition needed ***
expression language
1.0
19970815
Tony Graham tgraham@mulberrytech.com
Based on R4RS Scheme and/or the IEEE
Scheme Programming Language, the expression language is used in SDQL,
the transformation language, and the style language for the creation and
manipulation of objects.
DSSSL uses only a functional, side-effect free subset of the full
Scheme language.
The standard defines a full expression language and a subset
called the Core Expression Language. DSSSL implementations must support
the Core Expression Language, and may optionally support the full
expression language.
element
1.0
*** Definition needed ***
false1.019971031Dave Pawson
dpawson@rnib.org.uk
False. Any expression language value may be used as a
boolean value for the purpose of a conditional test. All values count
as true in a test except for #f. This Standard uses the word “true” to
refer to any value that counts as true, and the word “false” to refer to
#f.
flow object
1.0
19971104
Mitch C. Amiano amiamc@aur.alcatel.com
An object which implicitly (via the class name) or explicitly (through
attributes) contains formatting requirements as well as the document
instance data which are required to achieve the formatting. Non-atomic
flow objects use the Principle Port or named ports to attach to a stream
of contents, while atomic flow objects are self contained.
font posture
1.0
*** Definition needed ***
font weight
1.0
*** Definition needed ***
formatting object
1.0
*** Definition needed ***
glyph
1.0
*** Definition needed ***
grove
1.0
19970625
Jacques Deseyne
Jacques.Deseyne@sema.be
A grove is a standardized representation of the information
contained
within an SGML
document. The acronym is defined in the (corrected) HyTime standard as
Graph Representation
of Property
Values. The objects defined in
the SGML Property Set are
represented as nodes, grouping their property assignments.
The value of some properties can be a node (or a nodelist)
in its own right, thus constituting subnodes for
the
current nodes or
references to a node elsewhere in the grove
(irefnodes)
A grove is a set of trees; it could be seen as a tree of nodes,
although there are a lot of relationships which
are not of a parent-child or sibling nature. A grove contains much more
than a tree of logical elements.
grove plan
1.0
19970625
Jacques Deseyne
Jacques.Deseyne@sema.be
A grove plan indicates which modules of the SGML Property Set have
to
be taken into account
to build the grove from parsing an SGML document.
In this way, the application can
select which information from the SGML document will be taken into
account.
The following modules
are included automatically:
intrinsic data types (INTRDT)
intrinsic base classes and properties
(INTRBASE)
base abstract classes and
properties(BASEABS)
prolog-related
abstract classes and properties (first level:
RLGABS0)
instance-related abstfract classes and properties
(INSTABS)
When a transformation specification is present, the
PRLGABS1 module is also automatically
included.
HyTime
1.0
19970625
Jacques Deseyne
Jacques.Deseyne@sema.be
Hypermedia/Time-based Structuring Language, ISO/IEC 19744. The
standard was first
published in 1992 and has undergone a major correction, which is now
[June
1997] ready for
publication. This Technical Corrigendum includes major parts which are
shared with DSSSL,
such as the Standard Document Query Language and Property Sets.
HyTime provides facilities for representing static and dynamic
information
that is processed and interchanged by hypertext and multimedia
applications. HyTime doesn't intend to
provide a standardised way of coding hypermedia presentations. For
example,
it doesn't prescribe a
particular format for coding moving images; instead, it provides a
language
that can be used to describe
how any set of hypermedia objects is interconnected and how users are
meant
to access them.
The emphasis is on identifying specific types of hypermedia
objects
(such as links and other
events which can be located) and on addressing mechanisms that will
identify any segment of documents
needing to be accessed or presented, independently of the coding of
these
documents.
IEEE Standard for the Scheme Programming Language
IEEE P1178
1.0
19970620
Tony Graham tgraham@mulberrytech.com
IEEE P1178 is IEEE Standard 1178-1990, "IEEE Standard for the
Scheme
Programming Language", published by IEEE in 1991. ISBN 1-55937-125-0.
It is now also an ANSI standard. It may be ordered from IEEE by
calling 1-800-678-IEEE or 908-981-1393 or writing IEEE Service
Center, 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855-1331,
and using order number SH14209 ($28 for IEEE members, $40
others).
Jade
1.0
19970620
Tony Graham tgraham@mulberrytech.com
James' DSSSL Engine. Jade is an implementation of the DSSSL style
language. See http://www.jclark.com/jade.
kendot
1.0
19970620
Tony Graham tgraham@mulberrytech.com
Emphasizing mark used in Japanese typography
kendot scoring
lambda [function]
1.0
19970625
Frank A. Christoph
christo@nextsolution.co.jp
An anonymous function. The significance of the lambda construct is
that
functions can be nested and passed as arguments to other functions in
a
sound fashion that avoids variable capture. The keyword
lambda comes from the "lambda-calculus", a formal
system
of effectively computable functions developed by Alonzo Church in the
1930's.
In a lambda expression, e.g.
(lambda (x y) (+ m x y n)) ,
we say that the x and y are the
formal arguments of the function; furthermore, we
say that
occurrences of x and y in the
body are
bound, and that occurrences of
m and
n in the body are free. Note that free variables
must be
bound in some outer scope.
When a lambda expression is evaluated, it becomes a
closure,
which can be thought of as consisting in two parts. The first part is
a
list of all the free variables appearing in the body paired with their
respective values. The second part is the body of the function
itself.
When the closure is applied to a list of
actual
arguments (or operands), as in
(let ((m 1)
(n 4))
((lambda (x y) (+ m x y n)) 2 3))
(here 2 and 3 are the actuals),
the
actuals are first evaluated in some unspecified order and then bound
to the
formal arguments in the body of the function. Next, the body of the
closure
is evaluated in an environment where the free variables are bound to
the
values specified in the first part of the closure, the result is
returned,
and the environment is restored to its previous state.
The following code snippet illustrates the utility of lambda
expressions.
(define (curry f x)
(lambda (y)
(f x y)))
(define (inc x)
(curry + x))
curry is a function that accepts another function
of two
arguments, f, and a value, x.
It
returns a closure that saves the value of x and
accepts
another argument y. When applied, this closure
applies
f to both x and
y.
In other words, curry converts a function of two
arguments into a function of one argument which returns as result
another
function. If the result function is applied to a the second actual,
we get
the original result. Hence we can write:
((inc 6) 2) = (+ 6 2) = 8 .
LaTeX
1.0
19970625
Frank A. Christoph
christo@nextsolution.co.jp
A macro package for TeX created by Leslie Lamport, aimed at providing
higher-level abstractions (e.g., hierarchies of sections, typefaces,
etc.)
for typesetting complex documents. LaTeX is much more of a markup
language
than TeX is alone, but since nearly all of the low-level facilities of
TeX
are available (and routinely used) from LaTeX, there is no
straightforward
way of enforcing structural markup.
length
1.0
19970620
Tony Graham tgraham@mulberrytech.com
A quantity of dimension 1. See section 8.5.7.1 of the DSSSL
standard.
length-spec
1.0
19970620
Tony Graham tgraham@mulberrytech.com
An object of type length-spec specifies a length as a linear
combination of other lengths, and those other lengths are not
necessarily known. See section 12.5.2 of the DSSSL standard.
named port
1.0
19971104
Mitch C. Amiano amiamc@aur.alcatel.com
A port on a (non-atomic) flow object, other than the principal port,
which points to content and to which a name has been assigned. As with
all ports, the content is a stream of flow objects.
Named ports supplement the principle port by providing a connection
point for alternative, additional, or parallel representations of the
content of a given flow object.
node
1.0
19970625
Jacques Deseyne Jacques.Deseyne@sema.be
The constituent objects in a grove. They are connected through
their
properties.
PI
1.0
port
1.0
19971104
Mitch C. Amiano amiamc@aur.alcatel.com
A port is connection to a stream of flow objects. The stream represents
a list of contents of the flow object which has the port. The role of
the stream thus connected is presumably subservient, subordinate,
prepositional, etc., with respect to the flow object which has the port.
Flow objects in DSSSL order themselves by reference to one another, in a
flow object tree. This collection is abstracted as a list (called a
“stream”), and the flow-object datum that gets you access to this list
is called a Port.
Non-atomic flow objects have a Principal Port, and may also have one or
more Named Ports.
primary flow object
1.0
19970620
Tony Graham tgraham@mulberrytech.com
The flow object associated with a node that is more closely
associated with that node than any other flow object associated with the
node. A flow object is associated with a node if the flow object was
constructed when that node was the current node and the flow object
occurs in the flow object tree. See section 12.4.2 of the DSSSL
standard.
primitive expression
1.0
19970815
Tony Graham tgraham@mulberrytech.com
An expression, part of the syntax of DSSSL's Expression Language,
that cannot be defined in terms of the other primitive expression types
of the Expression Language.
principal port
1.0
19971104
Mitch C. Amiano amiamc@aur.alcatel.com
A port on a (non-atomic) flow object which points to the primary
content. As with all ports, the content is a stream of flow objects.
Many flow objects will need to have a port, because they relate other
formatting objects together in some way. DSSSL provides a default port
called the Principal Port, to which contained flow objects will be
connected unless otherwise specified. (Contrast these flow objects to
atomic flow objects).
process-children
1.0
*** Definition needed ***
processing instruction
1.0
*** Definition needed ***
public identifier
1.0
*** Definition needed ***
quadding
1.0
*** Definition needed ***
query language
1.0
19971031
Dave Pawson dpawson@rnib.org.uk
An abbreviated form of Standard Document Query
Language
R4RS
1.0
19970623
Tony Graham tgraham@mulberrytech.com
"Revised4 Report on the Algorithmic
Language Scheme". This is a defining description of the programming
language Scheme. It is the latest in a series of "Revised Reports"
published by a group of the major implementors of Scheme. The group's
purpose is to develop a better and more widely accepted standard for
Scheme.
R4RS Scheme does, however, differ from
the "IEEE Standard for the Scheme Programming Language", IEEE std
1178-1990.
Scheme
1.0
19970620
Tony Graham tgraham@mulberrytech.com
Scheme is a statically scoped and properly tail-recursive
dialect of the Lisp programming language invented by
Guy Lewis Steele Jr. and Gerald Jay Sussman. It was designed to have an
exceptionally clear and simple semantics and few different ways to form
expressions. A wide variety of programming paradigms, including
imperative, functional, and message passing styles, find convenient
expression in Scheme.
SDQL
SGML
1.0
19970620
Tony Graham tgraham@mulberrytech.com
Standard Generalized Markup Language. See
The SGML Web Page for
more information.
SGML Property Set
1.0
19970625
Jacques Deseyne Jacques.Deseyne@sema.be
The SGML Property Set defines a complete inventory of the
information
possibly
contained within an SGML document, i.e. its content, its structure, its
SGML declaration
and prolog and its encoding.
The SGML Property Set perceives a document as a set of objects
which have certain properties. It defines a number of classes, of which
these objects
are instantiations, with their properties.
The Property Set is composed of a number of
modules,
distinguished in function of what they define:
'abstract' classes and properties (such as
ELEMENT),
SGML document strings, i.e. character strings and other
characteristics
specific to the parsed document (such as SSEP, white
space separator(s),
or SGMLDCL, the SGML declaration sequence such as
<!SGML "ISO
8879:1986 (ENR)"),
base classes and properties,
information from the SGML declaration, the prolog or the document
instance,
information in case support of optional features is included
(DATATAG,
RANK, SHORTREF,
LINK,
SUBDOC or FORMAL).
The distinction is visible in the module
names, composed of elements such as BASE...,
SDCL..., PRLG...,
INST..., ...BAS,
...SDS. For some modules, several levels of support
are
defined. The basic level starts at zero.
simple page sequence
1.0
*** Definition needed ***
sosofo
1.0
19970620
Tony Graham tgraham@mulberrytech.com
A specification of a sequence of flow objects. See section 12.4.3
of the DSSSL standard.
Standard Document Query Language
1.0
19970620
Tony Graham tgraham@mulberrytech.com
A query language used for identifying portions of an SGML
document. See section 10 of the DSSSL standard.
In addition to the full query language, the DSSSL standard defines
a subset called the core query language. See section 10.2.4 of the
DSSSL standard.
style sheet
1.0
*** Definition needed ***
TeX
1.0
19970625
Frank A. Christoph
christo@nextsolution.co.jp
(The 'X' is pronounced as a hard 'H' or 'KH' as in Russian or Greek.)
A
batch-style typesetting system developed by Donald Knuth for creating
beautiful books, especially books containing a lot of mathematics.
TeX is a
full-blown macro language where, in contrast with SGML, formatting
commands
are interspersed textual data.
transformation
1.0
19970625
Jacques Deseyne Jacques.Deseyne@sema.be
A transformation takes an SGML document and transforms it into a
different SGML document.
More than one document can be used as input or produced as
output.
A transformation consists of three processes:
the grove builder takes an SGML document as
input and produces a grove;
the transformer takes the constructed grove,
applies the associations from the transformation specification and
produces
one (or more) result groves;
the SGML generator verifies each result grove
to
see if it is valid; if this is the case, it generates an SGML document
or
subdocument.
true1.0
19971031Dave Pawson
dpawson@rnib.org.uk
One of True or False. Any expression language value may
be used as a boolean value for the purpose of a conditional test. All
values count as true in a test except for #f. DSSSL uses the word
“true” to refer to any value that counts as true, and the word
“false”
to refer to #f.
Unicode
1.0
19971031
Dave Pawson dpawson@rnib.org.uk
Unicode is intended to be a
Universal character set supporting every written script used on Earth
(and some that are not). Unicode attempts to draw a line between a
character, a unit of phonetic or semantic meaning, and a rune or glyph,
a characters visual representation. Thus a single character that has
different appearances has multiple runes. E.g. Arabic characters change
appearance dependent on the position in a word.
XSL
1.0
19970620
Tony Graham tgraham@mulberrytech.com
XSL stands for “Extensible Style Language”, the style
component and third deliverable of the XML (Extensible Markup Language)
effort. See http://www.w3.org/TR/NOTE-XSL.html.
WG8
1.0
19970620
Tony Graham tgraham@mulberrytech.com
Working Group 8 – short form of ISO/IEC JTC1/SC18/WG8. See
http://www.ornl.gov/sgml/
WG8/wg8home.htm.