Semantic(Delivery)

Semantic(Delivery)

NAME
dtsdldtd - Semantic Delivery Language (SDL) format and semantics

DESCRIPTION
Semantic Delivery Language (SDL) is defined by a Standard Generalized Markup Language (SGML) document type description (DTD). The language uses generalized presentation-oriented markup and excludes typical SGML features that may prevent performance-oriented, on-line delivery systems from using the language.

  Dependencies
None.

  Issues
None.

TOP LEVEL ELEMENTS

SDLDOC

  Purpose
The top of the document hierarchy.

SYNOPSIS
<!ELEMENT sdldoc | - - (vstruct, head*, snb?, virpage+) >
<!ATTLIST
 | pub-id | CDATA |  | #REQUIRED
 | doc-id | CDATA |  | #REQUIRED
 | timestmp | CDATA |  | #REQUIRED
 | first-page | IDREF |  | #IMPLIED
 | product | CDATA |  | #IMPLIED
 | prodpn | CDATA |  | #IMPLIED
 | prodver | CDATA |  | #IMPLIED
 | license | CDATA |  | #IMPLIED
 | language | CDATA |  | #IMPLIED
 | charset | CDATA |  | #IMPLIED
 | author | CDATA |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | sdldtd | CDATA |  | #REQUIRED
 | srcdtd | CDATA |  | #IMPLIED >

DESCRIPTION
The document element, sdldoc, is the top of the document hierarchy. There are several attributes used in identifying the applicability of this document. Version and language attributes list options available for qualifying selected sections of the document.

The attributes of sdldoc are:
pub-id | CDATA | Required | The public identifier is used to represent a document. It is analogous to a part number.
doc-id | CDATA | Required | The document identifier is specific to this version (instance) of a document. It is analogous to a manufacturing part number.
timestmp | CDATA | Required | The time stamp distinguishes documents that have not changed enough to warrant a new doc-id, but might need some bookmark/annotation cleanup or repair.
first-page | IDREF | Optional | If specified, the first-page attribute identifies the virtual page to display upon first entering the document.
product | CDATA | Optional | A description of the product this document describes.
prodpn | CDATA | Optional | The part number of the product this document describes.
prodver | CDATA | Optional | The version level of the product this document describes.
license | CDATA | Optional | Product license information. By default, no license restrictions are applied.
language | CDATA | Optional | The default language of the document. This attribute may be overridden in later elements. The language attribute and the charset attribute of elements are used to select the proper font for display.
charset | CDATA | Optional | The default character set of the document. This attribute may be overridden in later elements. The charset attribute and the language attribute are used to select the proper font for display.
author | CDATA | Optional | The source author or publisher of the document.
version | CDATA | Optional | The default version of this document. This attribute may be overridden in later elements.
sdldtd | CDATA | Required | The version level of the SDL DTD to which this document conforms. This attribute is specified as <major>.<minor> version. For example, 1.0. A change in the minor version number implies a change that is backward compatible, albeit with potentially reduced functionality in an older viewer. A change in the major version implies an incompatible change to the DTD.
srcdtd | CDATA | Optional | The name of the DTD to which the source document conformed.

VSTRUCT

  Purpose
The container for all generated elements.

SYNOPSIS
<!ELEMENT vstruct | - - (loids, toss?, lophrases?, index?, rel-docs?, rel-file?, notes?) >
<!ATTLIST vstruct | version | CDATA | #IMPLIED
 | doc-id | CDATA | #REQUIRED>

DESCRIPTION
The vstruct element is a container for all generated elements. Generated elements are items such as a list of identifiers in the document, a table of semantics and styles, and an index. The contents of this element are the normalized navigation information elements generated by the conversion process. No actual document content should be encoded within these elements.

The attributes of vstruct are:
version | CDATA | Optional | The version of this element. By default, the version of the vstruct is the same as the version of the document (sdldoc).
doc-id | CDATA | Required | The document identifier of the document to which this element belongs.

VIRPAGE

  Purpose
The smallest directly addressable unit in a document.

SYNOPSIS
<!ELEMENT virpage | - - (head*, snb?, (block | form)*) >
<!ATTLIST virpage | id | ID | #REQUIRED
 | level | NUMBER | #REQUIRED
 | version | CDATA | #IMPLIED
 | language | CDATA | #IMPLIED
 | charset | CDATA | #IMPLIED
 | doc-id | CDATA | #REQUIRED
 | ssi | CDATA | #IMPLIED >

DESCRIPTION
The virtual page (virpage) element is the smallest, directly addressable unit in a document. It corresponds to a topic. Ideally, documents presented on-line (and perhaps even on paper) should be organized into small topics that are complete unto themselves. This allows readers to find and access the desired information.

A virtual page contains all information necessary to establish a formatting context. Virtual pages may be displayed and understood when removed from the context of the document as long as the table of semantics and styles (toss) element is available for formatting information.

A virtual page may have zero or more head elements that provide title information and may also be used in display decoration, such as a title bar. The first head of a virtual page is intended to be displayed in a table of contents for the document.

Following the head elements is an optional system notation block (snb). The system notation block, which provides access to objects external to the document, is covered later in this document.

Finally, a virtual page may contain any combination of block or form elements, including none.

The attributes of virpage are:
id | ID | Required | The identifier of the virtual page. The id attribute must be a valid SGML identifier and must be unique within the document. To display a virtual page, hyperlink to this id.
level | NUMBER | Required | The hierarchical level of the information contained in the element. The level attribute makes explicit information that is implicit in typical SGML conforming documents. An SDL conforming document may be considered to have been flattened to allow direct access of inferior topics. For example, if the source DTD specified divisions such as chapter, d1, d2, these would all appear in the SDL version of the document as virtual pages but with levels of 1, 2 and 3, respectively.
version | CDATA | Optional | The version of this element. By default, the version of the virpage is the same as the version of the document (sdldoc).
language | CDATA | Optional | The language in which this element is written. This attribute may be overridden individually within the form and block elements contained in the virtual page.
charset | CDATA | Optional | The default character set of the document. This attribute may be overridden individually within the form and block elements contained in the virtual page.
doc-id | CDATA | Required | The document identifier of the document to which this element belongs.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD or other source to SDL translator. It may either reflect the meaning of the markup in the original document or may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL conforming document by preserving the original intent of the markup. When the original markup was conforming to a domain specific DTD, the ssi may be used to enable structured searches of the SDL conforming document by preserving the original generic identifiers.

The level and ssi attributes of the virtual page are used to look up formatting and semantic information in the table of semantics and styles (toss) element covered later in this document.

SNB

  Purpose
The container for all references to objects external to the document.

SYNOPSIS

    <!ELEMENT	snb	- - (head?,	(graphic | text | audio | video |animate | crossdoc |
    			man-page | textfile | sys-cmd | callback | script |
    			switch)+) >

<!ATTLIST snb | version | CDATA | #IMPLIED >

DESCRIPTION
The system notation block (snb) provides a container for elements that access data that are not in SGML notation. The one exception to this rule is the text element. The text element is in the system notation block because it is intended for use as a rich text alternative to other elements in the snb when elements are tried in turn during the instantiation of a system notation reference (snref) looking for an alternative that can be formatted on the current system.

Data in the system notation block are not intended to be presented to the reader in the order that they appear in the document. The structural position of each snb element is established by a system notation reference.

Collecting all elements that require system resources at the top of the virtual page allows an application to marshal these resources before they are referenced. This gives the application the ability to alter the presentation of both the element and its reference based on the availability and performance of the required system resources.

The optional head element may be used by an application when presenting a list of required resources for a document.

The attribute of snb is:
version | CDATA | Optional | The version of this element. By default, the version of the snb is the same as the version of the document (sdldoc).

BLOCK

  Purpose
The basic unit of display style.

SYNOPSIS
<!ELEMENT block | - - (head*, (p | cp)*) >
<!ATTLIST block | id | ID |  | #IMPLIED
 | level | NUMBER |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | class | (table | |
 |  | cell | |
 |  | list | |
 |  | item | |
 |  | text | |
 |  | udeffrmt | ) | #IMPLIED
 | language | CDATA |  | #IMPLIED
 | charset | CDATA |  | #IMPLIED
 | length | NUMBER |  | #IMPLIED
 | app | (all | |
 |  | help | |
 |  | tutorial | |
 |  | ref | |
 |  | sys | ) | #IMPLIED
 | timing | (sync | |
 |  | async | ) | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
Blocks are the basic unit of display style. All data within a block are rendered in the style of the block that contains them. Blocks may contain zero or more head elements followed by zero or more paragraphs (p) or character paragraphs (cp).

Structurally, blocks contain a set of logically related paragraphs. A block identifies a display chunk, not document hierarchy elements. Blocks have an inherently flat structure; blocks do not nest. The presentational effect of nested blocks can be achieved by using the level attribute.

The structure of a document includes blocks that are part of the principal view and, optionally, blocks that form an alternate view. The principle view makes the assumption that primary blocks are presented in order as the sequential content of the document. That is, when taken in order the primary blocks compose the principle view of the document. For the purpose of this language, the principle view is the same as the traditional, printed view.

An alternate block is asynchronous to the primary document order. Alternate blocks may represent traditional, asynchronous elements such as a footnote or a spread, or some additional documentation (a teacher's section of a combined teacher/student manual, for example.) Alternate content blocks should only be included in the primary content by reference.

The level, class and ssi attributes of a block can be used to look up formatting and semantic information in the table of semantics and styles (toss) element (covered later in this document).

The attributes of block are:
id | ID | Optional | The identifier of the block. The id attribute must be a valid SGML identifier and must be unique within the document.
level | NUMBER | Optional | The hierarchical level of the information contained in the element. The level attribute makes explicit information that is implicit in typical SGML-conforming documents. An SDL-conforming document may be considered to have been flattened with implicit block nesting information stored in the level attribute.
version | CDATA | Optional | The version of this element. By default, the version of the block is the same as the version of the document (sdldoc) unless that version has been overridden by a version attribute in the virtual page (virpage) or form (covered later in this document) containing the block.
class | table | Optional | The class of a block describes the general
 | cell |  | purpose the block is filling. The class attribute is
 | list |  | used in conjunction with the level and ssi
 | item |  | attributes to perform a lookup in the table of
 | text |  | semantics and styles (toss) element. The result of
 | udeffrmt |  | that lookup is formatting and semantic information pertaining to the block.
language | CDATA | Optional | The language in which this block was written.
charset | CDATA | Optional | The character set of this block. The language and charset attributes plus information retrieved from the table of semantics and styles (toss) element are used to select the font for the block.
length | NUMBER | Optional | By default, the length of a block is determined dynamically as a function of its content and rendering style. If a length value is present, it describes the length of the block in terms of current style lines.
app | all | Optional | The app attribute is used to for selective presentation
 | help |  | of a block. This attribute defaults
 | tutorial |  | to all.
 | ref |  |
 | sys |  |
timing | sync | Optional | The timing attribute defaults to sync.
 | async |  | A block with a timing attribute of async is only displayed when referenced via an IDREF (or IDREFS). For example, an async block may be referenced by the cells attribute of frowvec to repeat the block without reentering its data content.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

FORM

  Purpose
A two dimensional array of block and/or form elements.

SYNOPSIS
<!ELEMENT form | - - (head*, (fstyle, fdata) | (fdata, fstyle)) >
<!ATTLIST form | id | ID |  | #IMPLIED
 | level | NUMBER |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | class | (table | |
 |  | cell | |
 |  | list | |
 |  | item | |
 |  | text | |
 |  | udeffrmt | ) | #IMPLIED
 | language | CDATA |  | #IMPLIED
 | charset | CDATA |  | #IMPLIED
 | length | NUMBER |  | #IMPLIED
 | app | (all | |
 |  | help | |
 |  | tutorial | |
 |  | ref | |
 |  | sys | ) | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
The form element is a generalized representation of a data element that is partially preformatted. The form element is designed to be rendered in real time and automatically derived from typical SGML table markup. Uses include tables, lists and labeled lists. Generally, a form may be used to represent any information that is layout sensitive or contains data to be presented in a two dimensional matrix.

A form is made up of zero or more head elements followed either by a form style (fstyle) and the form data (fdata) or the form data followed by the form style.

The attributes of form are:
id | ID | Optional | The identifier of the form. The id attribute must be a valid SGML identifier and must be unique within the document.
level | NUMBER | Optional | The hierarchical level of the information contained in the element. The level attribute makes explicit information that is implicit in typical SGML-conforming documents. An SDL-conforming document may be considered to have been flattened with implicit form nesting information stored in the level attribute.
version | CDATA | Optional | The version of this element. By default, the version of the form is the same as the version of the document (sdldoc) unless that version has been overridden by a version attribute in the virtual page (virpage) containing the form.
class | table | Optional | The class of a form describes the general
 | cell |  | purpose the form is filling. The class attribute is
 | list |  | used in conjunction with the level and ssi
 | item |  | attributes to perform a lookup in the table of
 | text |  | semantics and styles (toss) element. The result of
 | udeffrmt |  | that lookup is formatting and semantic information pertaining to the form.
language | CDATA | Optional | The language in which this form was written.
charset | CDATA | Optional | The character set of this form. The language and charset attributes plus information retrieved from the table of semantics and styles (toss) element are used to select the font for the form.
length | NUMBER | Optional | By default, the length of a form is determined dynamically as a function of its content and rendering style. If a length value is present, it describes the length of the form in terms of current style lines.
app | all | Optional | The app attribute is used for selective
 | help |  | presentation of a form. This attribute defaults
 | tutorial |  | to all.
 | ref |  |
 | sys |  |
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document.

FSTYLE

  Purpose
Specify the style of a form.

SYNOPSIS
<!ELEMENT fstyle | - - (frowvec+) >

DESCRIPTION
The form style (fstyle) element specifies the style of the form. It is composed of one or more row reference vectors (frowvec). The list of cell id references in the reference row vectors establishes the relationship between the position and data block for a cell.

The form style element and formstyle element in the table of semantics and styles (toss) element (covered later in this document) contain information regarding the presentational style of the form. Cell-specific style and style attributes beyond those provided in the reference vectors must be specified in the data blocks that contain the cell data.

The attribute of fstyle is:
ncols | NUMBER | Optional | The number of columns in the form. This attribute should be a number greater than zero. Unless overridden by a column width (colw) specification in the toss, the available space is divided evenly among the columns. Unless overridden by a column justification (colj) specification in the toss, the block and/or form elements in the form are left justified in their cells.

FROWVEC

  Purpose
Describes the style of a row and contains ID references to the contents of the row.

SYNOPSIS
<!ELEMENT frowvec | - O EMPTY >
<!ATTLIST frowvec | hdr | (YES|NO) | #IMPLIED
 | cells | IDREFS | #REQUIRED >

DESCRIPTION
The reference row vector (frowvec) describes the style of a row in a form and contains pointers (id references) to the contents of the row. There must be a row vector per row in the form.

The hdr attribute designates the entire row as a head row. Heads are significant because a display program might need to manage the display of heads differently than it does the data matrix. This is particularly true if the form must scroll, covers multiple screens or is displayed as a graph.

The attributes of frowvec are:
hdr | yes | Optional | Indicates whether or not the associated row is a
 | no |  | head row.
cells | IDREFS | Required | A list of id references to the block or form elements in the fdata element that make up the cell contents of this form.

Within a form element, spanning of rows or columns is done by repeating the appropriate id reference in the cells attribute of the frowvec. If the data is to be repeated in multiple unspanned cells, the block must be repeated and assigned unique identifiers.

The length of a row is the length of the cells in that row; the width is the cumulative width of each cell in that row. Row length may be determined at or before runtime. Typically, the length of a row is the length of the longest block or form in the row. There are two exceptions to this rule: the blocks or forms in the row can have an assigned length, or the id reference could be to an element that is not in the data container. These exceptional cells are referred to as virtual cells; virtual cells do not affect the length of the row.

Virtual cells may contain more data than can be displayed in the area assigned. Examples include blocks with the length set that contain long paragraphs, forms or figures. The actual display area of a virtual cell can be thought of as a viewport onto the data of a cell. Alternatively, virtual cells can use an information hiding technique such as an icon leading to a separate window.

The id references in a reference row may specify elements that are not in the data container of its form, even if the elements are not physically close. To protect the performance of the form element, references to data outside the current form may also be handled as virtual cells. The display program may take the liberty to replace any information referenced in a row vector that does not belong to the current form's data element with a link or icon.

FDATA

  Purpose
A container for information belonging solely to a form element.

SYNOPSIS
<!ELEMENT fdata | - - ((block | form)*) >

DESCRIPTION
The form data element (fdata) is a container for information that belongs to a form. By default, without spanning and external references, form data is typically maintained in row major matrix form. Assumptions about the order of the block or form elements in the data area must not be used for anything except performance because the blocks are allowed to be represented in any order.

The fdata element has no attributes.

CONTAINER ELEMENTS

P

  Purpose
A paragraph.

SYNOPSIS

    <!ELEMENT p - - (head*, (key | sphrase | rev | if | spc | snref | anchor |
    			link | #PCDATA)+) >

<!ATTLIST p | id | ID |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | type | (literal | |
 |  | lined | |
 |  | dynamic | ) | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
Paragraphs identify a formatting unit. Paragraphs collect information that needs to be rendered contiguously within a region. Paragraphs inherit style from their containing block although adjustments can be made by using the class and level attributes of the enclosing block plus the ssi attribute of the p to effect a lookup in the table of semantics and styles (toss) element (covered later in this document).

Paragraphs may contain text, references and key phrases. The key element (discussed later in this document) may modify the style of a portion of a paragraph but the modification is always restricted to the current paragraph.

The attributes of p are:
id | ID | Optional | The identifier of the p. The id attribute must be a valid SGML identifier and must be unique within the document.
version | CDATA | Optional | The version of this element. By default, the version of the p is the same as the version of the document (sdldoc) unless that version has been overridden by a version attribute in the virtual page (virpage), form or block containing the p.
type | literal | Optional | Paragraph text may be either unformatted or preformatted.
 | lined |  | By default, paragraph text is assumed dynamic (unformatted) to be
 | dynamic |  | and all white space (space, tab, newline, etc.) may be replaced with a single space. The type attribute is used when the author needs to represent information that is at least partially layout-sensitive. Newline characters are significant in lined paragraphs and all whitespace is significant in literal paragraphs.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup was conforming to a domain specific DTD, the ssi may be used to enable structured searches of the SDL conforming document by preserving the original generic identifiers.

CP

  Purpose
A character paragraph.

SYNOPSIS
<!ELEMENT cp | - - (CDATA) >
<!ATTLIST cp | id | ID |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | type | (literal | |
 |  | lined | |
 |  | dynamic | ) | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
Character paragraphs are similar to paragraphs. The only difference is that markup contained in the text of a character paragraph is ignored. The only markup not ignored is the ``</'' character pair. If that pair is to be included in the text, it must be preceded with an ampersand (&).

The attributes of cp are:
id | ID | Optional | The identifier of the p. The id attribute must be a valid SGML identifier and must be unique within the document.
version | CDATA | Optional | The version of this element. By default, the version of the p is the same as the version of the document (sdldoc) unless that version has been overridden by a version attribute in the virtual page (virpage), form or block containing the p.
type | literal | Optional | Paragraph text may be either unformatted or preformatted.
 | lined |  | By default, paragraph text is assumed to be dynamic (unformatted)
 | dynamic |  | and all white space (space, tab, newline, etc.) may be replaced with a single space. The type attribute is used when the author needs to represent information that is at least partially layout-sensitive. Newline characters are significant in lined paragraphs and all whitespace is significant in literal paragraphs.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup was conforming to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

HEAD

  Purpose
Heading, label or caption.

SYNOPSIS

    <!ELEMENT	head	- - ((key | sphrase | rev | if | spc | snref | anchor | link | #PCDATA)*,
    			subhead*) >

<!ATTLIST head | id | ID |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | class | (label | |
 |  | head | |
 |  | caption | |
 |  | annotation | |
 |  | phead | |
 |  | udefhead | ) | #IMPLIED
 | language | CDATA |  | #IMPLIED
 | charset | CDATA |  | #IMPLIED
 | type | (literal | |
 |  | lined | |
 |  | dynamic | ) |  | #IMPLIED
 | abbrev | CDATA |  | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
Heads are phrase-like elements that are associated with the entire section that contains it. Heads may contain zero or more subhead elements followed by zero or more paragraphs.

The head element may also be used as the caption of a graphic (covered later in this document).

The user-defined head (udefhead) value is for use by the developer of a higher level DTD to SDL translator when an unexpected use for a head is found.

The attributes of head are:
id | ID | Optional | The identifier of the head. The id attribute must be a valid SGML identifier and must be unique within the document.
version | CDATA | Optional | The version of this element. By default, the version of the head is the same as the version of the document (sdldoc) unless that version has been overridden by a version attribute in the virtual page (virpage), form or block containing the head.
class | label | Optional | The class of a head describes the general purpose
 | head |  | the head is filling. The class attribute is used
 | caption |  | in conjunction with the level of the object
 | annotation |  | containing the head and ssi attributes
 | phead |  | to perform a lookup in the table of semantics
 | udefhead |  | and styles (toss) element. The result of that lookup is formatting and semantic information pertaining to the head.
language | CDATA | Optional | The language in which this head was written.
charset | CDATA | Optional | The character set of this head. The language and charset attributes plus information retrieved from the table of semantics and styles (toss) element are used to select the font for the head.
type | literal | Optional | Head text may be either unformatted or preformatted.
 | lined |  | By default, paragraph text is assumed to be dynamic (unformatted)
 | dynamic |  | and all white space (space, tab, newline, etc.) may be replaced with a single space. The type attribute is used when the author needs to represent information that is at least partially layout-sensitive. Newline characters are significant in lined heads and all whitespace is significant in literal heads.
abbrev | CDATA | Optional | An abbreviation allows simple and/or short text to be associated with a head element. This text may be used in situations where rich text is inappropriate or where the head is too long to use.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

SUBHEAD

  Purpose
Alternate or additional headings, labels or captions.

SYNOPSIS

    <!ELEMENT subhead	- - ((key | sphrase | rev | if | spc | snref | anchor | link | #PCDATA)*) >

<!ATTLIST subhead | id | ID |  | #IMPLIED
 | version | CDATA |  | #IMPLIED
 | class | (label | |
 |  | head | |
 |  | caption | |
 |  | annotation | |
 |  | phead | |
 |  | udefhead | ) | #IMPLIED
 | language | CDATA |  | #IMPLIED
 | charset | CDATA |  | #IMPLIED
 | type | (literal | |
 |  | lined | |
 |  | dynamic | ) | #IMPLIED
 | abbrev | CDATA |  | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
Subheads are simply one or more phrase-like elements that further refine the main head.

The attributes of subhead are:
id | ID | Optional | The identifier of the subhead. The id attribute must be a valid SGML identifier and must be unique within the document.
version | CDATA | Optional | The version of this element. By default, the version of the subhead is the same as the version of the document (sdldoc) unless that version has been overridden by a version attribute in the virtual page (virpage), form, block or head containing the subhead.
class | label | Optional | The class of a subhead describes the general
 | head |  | purpose the subhead is filling. The class attribute
 | caption |  | is used in conjunction with the level of the object
 | annotation |  | containing the head to which the subhead belongs and ssi
 | phead |  | attributes to perform a lookup in the table of semantics
 | udefhead |  | and styles (toss) element. The result of that lookup is formatting and semantic information pertaining to the subhead.
language | CDATA | Optional | The language in which this subhead was written.
charset | CDATA | Optional | The character set of this subhead. The language and charset attributes plus information retrieved from the table of semantics and styles (toss) element are used to select the subhead font.
type | literal | Optional | Subhead text may be either unformatted or preformatted.
 | lined |  | By default, subhead text is assumed to be dynamic (unformatted)
 | dynamic |  | and all white space (space, tab, newline, etc.) may be replaced with a single space. The type attribute is used when the author needs to represent information that is at least partially layout-sensitive. Newline characters are significant in lined subheads and all whitespace is significant in literal subheads.
abbrev | CDATA | Optional | An abbreviation allows simple and/or short text to be associated with a subhead element. This text may be used in situations where rich text is inappropriate or where the subhead is too long to use.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

ATOMIC LINK ELEMENTS

ANCHOR

  Purpose
To give an ID to a point in the document.

SYNOPSIS
<!ELEMENT anchor | - O EMPTY >
<!ATTLIST anchor | id | ID | #REQUIRED >

DESCRIPTION
The anchor element provides a mechanism for assigning an ID to an arbitrary spot in the document. An anchor may occur anywhere that running text is allowed. This includes as content of paragraphs (p) and heads (head and subhead).

The attribute of anchor is:
id | ID | Required | The identifier of the anchor. The id attribute must be a valid SGML identifier and must be unique within the document.

LINK

  Purpose
A hyperlink within or outside the current document.

SYNOPSIS

    <!ELEMENT link - - ((key | sphrase | rev | if | spc | snref | anchor | link | #PCDATA)+) >

<!ATTLIST link | rid | IDREF |  | #REQUIRED
 | button | IDREF |  | #IMPLIED
 | linkinfo | CDATA |  | #IMPLIED
 | descript | CDATA |  | #IMPLIED
 | window | (current | |
 |  | new | |
 |  | popup | ) | #IMPLIED
 | traversal | (return | |
 |  | noreturn | ) | #IMPLIED >

DESCRIPTION
A link element is the start point of a hyperlink to another spot in the document or, via the system notation block (snb), to another document or active hyperlink. The active hyperlinks are sys-cmd and callback. These hyperlinks (covered later in this document) are used to execute an operating system command or to initiate a callback to the application respectively.

A link may surround any text in the document, including text found in paragraphs or heads, with the only exception being that link elements may not contain other link elements.

The attributes of link are:
rid | IDREF | Required | The ID of the target of the hyperlink. The ID specified must exist in the current document but may be to elements in the system notation block (snb) of the current virtual page (virpage) to allow reference to external objects or actions.
button | IDREF | Optional | A graphic that may be displayed as a trigger for the hyperlink in lieu of or in addition to highlighting the hyperlink text itself. The ID referenced by the button attribute must be the identifier of a graphic (covered later in this document) in the system notation block (snb) of the current virtual page (virpage). The graphic referenced must have a class attribute of button.
linkinfo | CDATA | Optional | Information about the target of the link. This information may be displayed as part of a dialog with the reader before traversing the link if such traversal is in some way expensive in time.
descript | CDATA | Optional | A general description of the action that takes place when the hyperlink is activated.
window | current | Optional | By default, hyperlinking to another location in
 | new |  | this document or (via indirection) externally,
 | popup |  | is done by changing the view in the current window or display area. Specifying new for the window attribute causes a new window or display area to be created for displaying hyperlink target. Specifying popup for this attribute causes the new window or display area to be lighter weight, if possible. Often, popup windows are modal and temporary.
traversal | return | Optional | By default, the current document and location
 | noreturn |  | in the document are stored on a push down stack to allow backtracking of hyperlinks. If this attribute is specified as noreturn, the current location is forgotten on execution of the link.

SNREF

  Purpose
Reference to an element or alternates in the system notation block (snb).

SYNOPSIS
<!ELEMENT snref | - - (refitem+, alttext?) >
<!ATTLIST snref | id | ID | #IMPLIED >

DESCRIPTION
A system notation reference (snref) is a reference to an external object. The result of resolving that object is that it is interpolated into the document at the point of the snref. The snref element references graphic and script elements, both of which are covered later in this document.

An snref element consists of one or more refitem elements followed by optional alternate text. Each refitem is tried in turn in the order specified until one can be successfully formatted and displayed. If none of the system notations can be successfully formatted and displayed, the alternate text, alttext, which is very simple character data, is displayed instead.

The attribute of snref is:
id | ID | Optional | The identifier of the snref. The id attribute must be a valid SGML identifier and must be unique within the document.

REFITEM

  Purpose
A reference to an element in a system notation block.

SYNOPSIS
<!ELEMENT refitem | - - (head*) >
<!ATTLIST refitem | rid | IDREF |  | #REQUIRED
 | class | (figure | |
 |  | in-line | |
 |  | button | |
 |  | icon | |
 |  | udefgraph | |
 |  | table | |
 |  | cell | |
 |  | list | |
 |  | item | |
 |  | text | |
 |  | udeffrmt | ) | #REQUIRED
 | button | IDREF |  | #IMPLIED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
A reference item (refitem) is a single reference to an element in the system notation block (snb) of the current virtual page (virpage).

An snref consists of one or more refitem elements allowing alternate choices for the item to be displayed. The refitem elements are tried in turn in the order listed until one can be successfully formatted and displayed. A refitem can refer to a text element in the snb to allow a text alternative for the referenced item.

A refitem has zero or more head elements, which may serve, for example, as the caption of a graphic.

The attributes of refitem are:
rid | IDREF | Required | The identifier of the item being referenced in the system notation block of the current virtual page.
class | figure | Required | The class of a refitem describes the general purpose
 | in-line |  | the refitem is filling. The class attribute is
 | button |  | used in conjunction with the level of the enclosing
 | icon |  | block, form or virpage and ssi attributes to
 | udefgraph |  | perform a lookup in the table of semantics
 | table |  | and styles (toss) element. The result of that
 | cell |  | lookup is formatting and semantic information
 | list |  | pertaining to the refitem.
 | item |  |
 | text |  |
 | udeffrmt |  |
button | IDREF | Optional | An optional reference to a graphic of class button in the snb of the current virpage. This button may be used to request refitem display on systems where display of the item is slow or expensive in some other way. That is, the button is displayed and the refitem is only displayed when the button is activated.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

ALTTEXT

  Purpose
Simple text alternative for snref.

SYNOPSIS
<!ELEMENT alttext | - - CDATA >

DESCRIPTION
The alttext element is a place to put simple text for use if all alternatives, including text replacements, from the list of refitem elements in an snref fail to format.

The alttext element has no attributes.

ATOMIC TEXT ELEMENTS

REV

  Purpose
Add change bars to displayed text.

SYNOPSIS

    <!ELEMENT rev	- - ((key | sphrase | if | spc | snref | anchor | link | #PCDATA)*) >

DESCRIPTION
Surrounding data with a rev element signals to the formatter that the surrounded data should be marked somehow as having undergone change. Typically, this mark is change bars on the side of the data. An empty rev element implies some text has been deleted.

The rev element has no attributes.

KEY

  Purpose
Effect a change in font.

SYNOPSIS

    <!ELEMENT key	- - ((key | sphrase | rev | if | spc | anchor | snref | #PCDATA)+) >

<!ATTLIST key | charset | CDATA |  | #IMPLIED
 | class | (acro | |
 |  | book | |
 |  | emph | |
 |  | jargon | |
 |  | l10n | |
 |  | name | |
 |  | quote | |
 |  | product | |
 |  | termdef | |
 |  | term | |
 |  | mach-in | |
 |  | mach-out | |
 |  | mach-cont | |
 |  | pub-lit | |
 |  | udefkey | ) |  | #REQUIRED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
Key phrases are data that are key to understanding the paragraph in which they exist; that is, they have a special significance. The key element is used to call readers' attention to a particular phrase. The key element exists only within the context of a paragraph (p); it is document sub-structure.

The semantics of the key element have value to both rendering and navigation. When rendered, the phrase is highlighted, typically using a different font style or attribute. In navigation, key data can be used as fields in semantic searches or as variables in a relevance-ranking algorithm.

There are an infinite variety of key phrases possible in source documents. To assure that the delivery system can fully use the semantics of key data, this delivery format forces the semantic to be normalized. Each phrase is required to have a class attribute as well as an optional source semantic identifier (ssi).

The intended uses for the possible key classes are:

    An acronym. The proper title of a document. An emphasized phrase. A phrase with application unique significance; its definition is commonly understood by convention by the practitioner of the application field. A phrase that must be specially treated during localization. A proper name. A direct quote. A proper product name. A literal phrase added by the publisher. A phrase defined within the current paragraph. A phrase defined elsewhere. A machine input phrase. A machine output phrase. A machine control or keyboard key name. A user-defined key; this may be used by the author of a higher level DTD to SDL translator for unforeseen key phrases.

The attributes of key are:
charset | CDATA | Optional | The character set of this key. The language of the enclosing paragraph (p) and charset attributes plus information retrieved from the table of semantics and styles (toss) element are used to select the font for the key.
class | acro | Required | See above.
 | book |  |
 | emph |  |
 | jargon |  |
 | l10n |  |
 | name |  |
 | quote |  |
 | product |  |
 | pub-lit |  |
 | termdef |  |
 | term |  |
 | mach-in |  |
 | mach-out |  |
 | mach-cont |  |
 | udefkey |  |
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

SPHRASE

  Purpose
A super or sub-scripted phrase

SYNOPSIS
<!ELEMENT sphrase | - - CDATA >
<!ATTLIST sphrase | class | (super | |
 |  | sub | ) | #REQUIRED
 | ssi | CDATA |  | #IMPLIED >

DESCRIPTION
The stylized phrase (sphrase) contains stylized text. The phrases are only presentationally significant. Two types are supported, sub and super.

The attributes of sphrase are:
style | super | Required | Indicates whether the sphrase should be set in
 | sub |  | superscript or subscript.
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier assists in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.

SPC

  Purpose
A special character.

SYNOPSIS
<!ELEMENT spc | - O EMPTY >
<!ATTLIST spc | name | CDATA | #REQUIRED >

DESCRIPTION
The spc element allows special characters, that is, those not in the current font, to be included in text. This is often achieved in DTDs by the use of character entities. SDL avoids runtime evaluation of entities because entities are global to a document and, for performance reasons, SDL applications often do not wish to process all global information just to display a single topic.

The attribute of spc is:
name | CDATA | Required | The name attribute must be one of the special character names, for example, ``[bull ]'' (bullet), defined in the public character entities such as ISOpub, ``ISO 8879:1986//ENTITIES Publishing//EN.'' These entities are defined in sections D.4.2.1 through D.4.5.6 of The SGML Handbook (Goldfarb).

CONDITIONAL TEXT ELEMENTS

IF

  Purpose
Conditional inclusion of text or data.

SYNOPSIS
<!ELEMENT if | - - (cond, then, else?) >

DESCRIPTION
The if element allows conditional inclusion of other text and data elements.

The if element consists of a condition (cond) followed by a then clause and an optional else clause. Based on the result of the condition, either the then clause or the else clause is included in the document. If the condition is false and no else clause exists, the if element is considered to be empty.

The if element has no attributes.

COND

  Purpose
Boolean condition for the if element.

SYNOPSIS
<!ELEMENT cond | - - CDATA >
<!ATTLIST cond | interp | NOTATION
 |  | (tcl | |
 |  | sh | |
 |  | ksh | |
 |  | csh | ) | #IMPLIED >

DESCRIPTION
The cond element contains a script to be run by the interpreter specified in the interp attribute. The CDATA content of cond is passed to the interp. The return value from the interpreter should be numeric.

The attribute of cond is:
interp | NOTATION - | Optional | The interpreter to which to pass the CDATA content
 | tcl |  | of the cond element. It is expected that the interpreter
 | sh |  | returns a numeric string value. One of the listed
 | ksh |  | interpreters is often embedded in the application
 | csh |  | and does not require another process to execute. If the specified interpreter does not exist, or returns a non-numeric value, the default return value is zero.

THEN

  Purpose
Included text when the condition (cond) of the if element is a non-zero string.

SYNOPSIS

    <!ELEMENT then - - (key | sphrase | rev | if | spc | snref | anchor | link | #PCDATA)*) >

DESCRIPTION
The then element contains text and data to be included if the return value of the interpreter in the cond element is a non-zero string. The then element may contain a nested if element as well as any other text or data acceptable in a paragraph (p).

The then element has no attributes.

ELSE

  Purpose
Included text when the condition (cond) of the if element is a string evaluating to zero.

SYNOPSIS

    <!ELEMENT else - - (key | sphrase | rev | if | spc | snref | anchor | link | #PCDATA)*) >

DESCRIPTION
The else element contains text and data to be included if the return value of the interpreter in the cond element is a string evaluating to zero. The else element may contain a nested if element as well as any other text or data acceptable in a paragraph (p).

The else element has no attributes.

Notation Elements

GRAPHIC

  Purpose
Attachment to a graphic image external to the current document.

SYNOPSIS
<!ELEMENT graphic | - O EMPTY >
<!ATTLIST graphic | id | ID | #REQUIRED
 | format | CDATA | #IMPLIED
 | method | IDREF | #IMPLIED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The graphic element allows incorporation of graphic images into an SDL-conforming document. Only one graphic type element is declared; the class attribute is used to distinguish between figure, in-line or button. A graphic image is incorporated by putting an snref element in the document at the point of inclusion. The rid attribute of the snref should refer to the graphic element describing the storage location and format of the image.

The attributes of graphic are:
id | ID | Required | The identifier of the graphic. The id attribute must be a valid SGML identifier and must be unique within the document.
format | CDATA | Required | The format in which the graphic is stored. Example values for the format attribute are: tiff, xpm, xbm and xwd.
method | IDREF | Optional | A reference to a script element (discussed later) in the system notation block of the current virtual page. The script in the script element provides a mechanism for performing any setup necessary to display the graphic image.
xid | CDATA | Required | An external identifier for the graphic image.

TEXT

  Purpose
Alternate rich text for snref.

SYNOPSIS
<!ELEMENT text | - - ((p | cp)*) >
<!ATTLIST text | id | ID | #REQUIRED
 | language | CDATA | #REQUIRED
 | charset | CDATA | #IMPLIED >

DESCRIPTION
The text element allows for rich text alternatives to other elements in the system notation block being referenced by refitem elements in snref. A text element contains zero or more paragraphs (p) or character paragraphs (cp).

The attributes of text are:
id | ID | Required | The identifier of the text. The id attribute must be a valid SGML identifier and must be unique within the document.
language | CDATA | Optional | The language in which this text was written.
charset | CDATA | Optional | The character set of this text. The language and charset attributes plus information retrieved from the table of semantics and styles (toss) element are used to select the text font.

AUDIO

  Purpose
Attachment to an audio snippet external to the current document.

SYNOPSIS
<!ELEMENT audio | - O EMPTY >
<!ATTLIST audio | id | ID | #REQUIRED
 | format | CDATA | #IMPLIED
 | method | IDREF | #IMPLIED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The audio element allows an audio snippet to be incorporated into an SDL-conforming document. An audio snippet is incorporated by putting an snref element in the document at the point of inclusion. The rid attribute of the snref should refer to the audio element describing the storage location and format of the audio snippet.

The attributes of audio are:
id | ID | Required | The identifier of the audio. The id attribute must be a valid SGML identifier and must be unique within the document.
format | CDATA | Required | The format in which the audio snippet is stored.
method | IDREF | Optional | A reference to a script element (covered later in this document) in the system notation block of the current virtual page. The script in the script element provides a mechanism for performing any setup necessary to present the audio snippet.
xid | CDATA | Required | An external identifier for the audio snippet.

VIDEO

  Purpose
Attachment to a video clip external to the current document.

SYNOPSIS
<!ELEMENT video | - O EMPTY >
<!ATTLIST video | id | ID | #REQUIRED
 | format | CDATA | #IMPLIED
 | method | IDREF | #IMPLIED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The video element allows a video clip to be incorporated into an SDL-conforming document. A video clip is incorporated by putting an snref element in the document at the point of inclusion. The rid attribute of the snref should refer to the video element describing the storage location and format of the video clip.

The attributes of video are:
id | ID | Required | The identifier of the video. The id attribute must be a valid SGML identifier and must be unique within the document.
format | CDATA | Required | The format in which the video clip is stored.
method | IDREF | Optional | A reference to a script element (covered later in this document) in the system notation block of the current virtual page. The script in the script element provides a mechanism for performing any setup necessary to present the video clip.
xid | CDATA | Required | An external identifier for the video clip.

ANIMATE

  Purpose
Attachment to an animation sequence external to the current document.

SYNOPSIS
<!ELEMENT animate | - O EMPTY >
<!ATTLIST animate | id | ID | #REQUIRED
 | format | CDATA | #IMPLIED
 | method | IDREF | #IMPLIED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The animate element allows an animation sequence to be incorporated into an SDL-conforming document. An animation sequence is incorporated by putting an snref element in the document at the point of inclusion. The rid attribute of the snref should refer to the animate element describing the storage location and format of the animation sequence.

The attributes of animate are:
id | ID | Required | The identifier of the animate. The id attribute must be a valid SGML identifier and must be unique within the document.
format | CDATA | Required | The format in which the animation sequence is stored.
method | IDREF | Optional | A reference to a script element (covered later in this document) in the system notation block of the current virtual page. The script in the script element provides a mechanism for performing any setup necessary to present the animation sequence.
xid | CDATA | Required | An external identifier for the animation sequence.

SCRIPT

  Purpose
Data collection and/or generation of dynamic text.

SYNOPSIS
<!ELEMENT script | - - CDATA >
<!ATTLIST script | id | ID |  | #REQUIRED
 | interp | NOTATION
 |  | (tcl | |
 |  | sh | |
 |  | ksh | |
 |  | csh | ) | #IMPLIED >

DESCRIPTION
The script element is the mechanism within SDL for collecting usage data or generating dynamic (on-the-fly) text. When referenced via an snref, the CDATA content of the script element is passed to the designated interpreter. If the return value from the interpreter is non-NULL, that value is interpolated into the document at the point of the snref. If the designated interpreter is embedded in the application, global variables may be used to collect usage data; otherwise, some mechanism, such as temporary files, may be used.

The attributes of script are:
id | ID | Required | The identifier of the script. The id attribute must be a valid SGML identifier and must be unique within the document.
interp | NOTATION - | Optional | The interpreter to which to pass the CDATA
 | tcl |  | content of the script element. One of the
 | sh |  | listed interpreters is often embedded in the
 | ksh |  | application and does notrequire another process to
 | csh |  | execute. If the specified interpreter does not exist, the default return value is NULL.

CROSSDOC

  Purpose
Indirect element for following a hyperlink outside the current document.

SYNOPSIS
<!ELEMENT crossdoc | - O EMPTY >
<!ATTLIST crossdoc | id | ID | #REQUIRED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The crossdoc element is the mechanism within SDL for effecting a hyperlink to an external document. To create an external, cross-document hyperlink, a link to the crossdoc is placed in the text. The crossdoc element contains the necessary information to find the desired document and id within that document.

The attributes of crossdoc are:
id | ID | Required | The identifier of the crossdoc. The id attribute must be a valid SGML identifier and must be unique within the document.
xid | CDATA | Required | An external identifier for the external document and id.

MAN PAGE

  Purpose
Indirect element for following a hyperlink to a reference manual page.

SYNOPSIS
<!ELEMENT man-page | - O EMPTY >
<!ELEMENT crossdoc | - O EMPTY >
<!ATTLIST man-page | id | ID | #REQUIRED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The man-page element is the mechanism within SDL for effecting a hyperlink to (display of) a reference manual page such, as a Unix man page. To create a man page hyperlink, a link to the man-page is placed in the text. The man-page element contains the necessary information to find and display the desired manual page.

The attributes of man-page are:
id | ID | Required | The man-page identifier. The id attribute must be a valid SGML identifier and must be unique within the document.
xid | CDATA | Required | An external identifier for the reference manual page.

TEXTFILE

  Purpose
Indirect element for following a hyperlink to a text file.

SYNOPSIS
<!ELEMENT textfile | - O EMPTY >
<!ATTLIST textfile | id | ID | #REQUIRED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The textfile element is the mechanism within SDL for effecting a hyperlink to (display of) a text file. To create a text file hyperlink, a link to the textfile is placed in the text. The textfile element contains the necessary information to find the desired file.

The attributes of textfile are:
id | ID | Required | The identifier of the textfile. The id attribute must be a valid SGML identifier and must be unique within the document.
xid | CDATA | Required | An external identifier for the text file.

SYS-CMD

  Purpose
Indirect element for following a hyperlink to a system command.

SYNOPSIS
<!ELEMENT sys-cmd | - O EMPTY >
<!ATTLIST sys-cmd | id | ID | #REQUIRED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The sys-cmd element is the mechanism within SDL for effecting a hyperlink to (execution of) a system command. To create a system command hyperlink, a link to the sys-cmd is placed in the text. The sys-cmd element contains the necessary information to find and execute the system command.

The attributes of sys-cmd are:
id | ID | Required | The identifier of the sys-cmd. The id attribute must be a valid SGML identifier and must be unique within the document.
xid | CDATA | Required | An external identifier for the system command.

CALLBACK

  Purpose
Indirect element for following a hyperlink into the application.

SYNOPSIS
<!ELEMENT callback | - O EMPTY >
<!ATTLIST callback | id | ID | #REQUIRED
 | xid | CDATA | #REQUIRED >

DESCRIPTION
The callback element is the mechanism within SDL for effecting a hyperlink into the enclosing application. To create a application callback hyperlink, a link to the callback is placed in the text. The callback element contains the necessary information to inform the application of the desired action.

The attributes of callback are:
id | ID | Required | The identifier of the callback. The id attribute must be a valid SGML identifier and must be unique within the document.
xid | CDATA | Required | An external identifier and user data for the application callback.

SWITCH

  Purpose
Conditional hyperlink.

SYNOPSIS
<!ELEMENT switch | - - CDATA >
<!ATTLIST switch | id | ID | #REQUIRED
 | interp | NOTATION
 |  | (tcl | |
 |  | sh | |
 |  | ksh | |
 |  | csh | ) | #IMPLIED
 | branches | IDREFS | #REQUIRED >

DESCRIPTION
The switch element is part of the system notation block, snb, and is always instantiated via a reference by a link element. When activated by the hyperlink, the interpreter (interp) is called passing it the CDATA content of the switch and the interpreter returns a non-negative number. The return value of the interpreter is used to index into the list of branches and the hyperlink is continued to that ID. A return value that is non-numeric, less than zero or greater than the number minus one of the ids in the branches attribute, will cause the hyperlink to continue to the first branch in the list.

The attributes of switch are:
id | ID | Required | The identifier of the switch. The id attribute must be a valid SGML identifier and must be unique within the document.
interp | NOTATION - | Optional | The interpreter to which to pass the CDATA content
 | tcl |  | of the switch element. It is expected that the
 | sh |  | interpreter returns a numeric string value equal to
 | ksh |  | or greater than zero. One of the listed interpreters
 | csh |  | is often embedded in the application and does not require another process to execute. If the specified interpreter does not exist, or returns either a non-numeric or out-of-bounds value, the default return value is zero.
branches | IDREFS | Required | A list of IDs in the current document. The return value of the interp attribute is used to index into this list of IDs and the hyperlink is continued at the resulting ID.

Generated Elements

REL-DOCS

  Purpose
Documents related to this document.

SYNOPSIS
To be determined.

DESCRIPTION
To be determined.

  REL-FILE

  Purpose
Files related to this document.

SYNOPSIS
To be determined.

DESCRIPTION
To be determined.

NOTES

  Purpose
Notes related to this document.

SYNOPSIS
To be determined.

DESCRIPTION
To be determined.

LOIDS and ID

  Purpose
List of identifiers in the document.

SYNOPSIS
<!ELEMENT | loids | - - (id*) >
<!ATTLIST loids | count | NUMBER | #IMPLIED >

<!ELEMENT id | - O EMPTY >
<!ATTLIST id | type | (virpage | |
 |  | block | |
 |  | form | |
 |  | p | |
 |  | cp | |
 |  | head | |
 |  | subhead | |
 |  | anchor | |
 |  | switch | |
 |  | snref | |
 |  | graphic | |
 |  | text | |
 |  | audio | |
 |  | video | |
 |  | animate | |
 |  | crossdoc | |
 |  | man-page | |
 |  | textfile | |
 |  | sys-cmd | |
 |  | script | |
 |  | callback | ) | #REQUIRED
 | rid | IDREF |  | #REQUIRED
 | rssi | CDATA |  | #IMPLIED
 | rlevel | NUMBER |  | #IMPLIED
 | offset | NUMBER |  | #REQUIRED >

DESCRIPTION
The loids element is a container for a list of identifiers in the document. The list appears in the order the identifiers appear.

The loids element can be used to generate a table of contents for the document by selecting only those elements whose type is virpage and listing the heads of those virpage elements. The rlevel attribute can be used to infer the nesting level of the virpage and to avoid reading the head of virtual pages whose nesting level is deeper than is currently being displayed.

The attribute of loids is:
count | NUMBER | Optional | The number of id elements contained in the loids. This attribute, if present, can be used by the processor to pre-allocate space for the id elements.

The attributes of id are:
type | virpage | Required | The name of the element to which this id belongs.
 | block |  |
 | form |  |
 | p |  |
 | cp |  |
 | head |  |
 | subhead |  |
 | anchor |  |
 | switch |  |
 | snref |  |
 | graphic |  |
 | text |  |
 | audio |  |
 | video |  |
 | animate |  |
 | crossdoc |  |
 | man-page |  |
 | textfile |  |
 | sys-cmd |  |
 | script |  |
 | callback |  |
rid | IDREF | Required | The referenced identifier.
rssi | CDATA | Optional | The source semantic identifier (ssi) of the element referenced by the rid attribute.
rlevel | NUMBER | Optional | The level of the element referenced by the rid attribute. This attribute defaults to 1.
offset | NUMBER | Required | The byte offset in the document to the start of the virtual page containing the element referenced by the rid attribute.

INDEX and ENTRY

  Purpose
Contains the index for the document.

SYNOPSIS
<!ELEMENT index | - - (entry*) >
<!ATTLIST index | head | CDATA | #IMPLIED
 | count | NUMBER | #IMPLIED >

    <!ELEMENT entry	((key | sphrase | rev | if | spc | snref | #PCDATA)*, entry*) >

<!ATTLIST entry | id | ID | #IMPLIED
 | main | IDREFS | #IMPLIED
 | locs | IDREFS | #IMPLIED
 | syns | IDREFS | #IMPLIED
 | sort | CDATA | #IMPLIED >

DESCRIPTION
The index element contains all information necessary to create and display an index for the document. It is created during translation of a higher level DTD-conforming document to conform to SDL; that is, an index is not generated at the time of request.

The index can be used to enable keyword searches within a document.

An index consists of zero or more entries.

The attributes of index are:
head | CDATA | Optional | Alternate text for the heading of the index.
count | NUMBER | Optional | The number of entry elements contained in the index. The processor cn use this attribute (if this attribute is present) to pre-allocate space for the entry elements.

The attributes of entry are:
id | ID | Optional | The identifier of the index entry.
main | IDREFS | Optional | A list of identifiers specifying where the indexed entry may be found. The main list of ids may be highlighted in some way to indicate a greater importance than the ids found in the locs list.
locs | IDREFS | Optional | A list of identifiers specifying where the indexed entry may be found. At least one of either main or locs must be specified.
syns | IDREFS | Optional | A list of identifiers that refer to other entry elements and correspond to a ``See also'' or synonym-type of reference.
sort | CDATA | Optional | A sort key to use if the indexed entry is to be sorted other than by its content.

LOPHRASES

  Purpose
A list of semantic phrases used in this document.

SYNOPSIS
<!ELEMENT lophrases | - - (phrase+) >
<!ATTLIST lophrases | count | NUMBER | #IMPLIED >

DESCRIPTION
The list of phrases (lophrases) element is generated by the higher level DTD to SDL translator. It is a list of phrases used from the toss element (covered later in this document) contained in this document. The phrases are used to map the user's knowledge domain into the constructs used in SDL. This information can be used to pass the phrases available for structured or semantic searches to a browser or viewer to allow that browser or viewer to offer that information to the user.

The lophrases element differs from the phrases in the toss in that the toss contains all phrases possible in a higher level DTD to SDL translation and the lophrases element contains only those used in the translation of this particular document.

The attribute of lophrases is:
count | NUMBER | Optional | The number of phrase elements contained in the lophrases. The processor can use this attribute (if this attribute is present) to pre-allocate space for the phrase elements.

PHRASE

  Purpose
A single phrase in the lophrases element.

SYNOPSIS
<!ELEMENT phrase | - O EMPTY >
<!ATTLIST phrase | text | CDATA | #REQUIRED >

DESCRIPTION
The phrase element is a single phrase from the list of phrases element (lophrases).

The attribute of phrase is:
text | CDATA | Required | The semantic phrase.

TOSS

  Purpose
The table of semantics and styles.

SYNOPSIS
<!ELEMENT toss | - - (keystyle*, headstyle*, frmtstyle*, grphstyle*)>

DESCRIPTION
The toss element is a container for the table of semantics and styles. Each sub-element of the toss represents a different formatting group. These sub-elements also contain class and ssi (source semantic identifier) attributes to allow general and specific semantic or structured searches. A phrase attribute of many of the toss sub-elements also assists by providing a natural language phrase to describe the semantics of the element as used in the higher level DTD to SDL translation.

Lookups in the toss are done by matching the class and ssi attributes of the element in the document proper with the class and ssi attributes of the sub-element of the toss. The lookup can often be further refined by matching the level attribute (if present) of the element in the document with the rlevel attribute (if present) in the sub-element of the toss.

Structured searches based on the structure of a domain-specific higher level DTD can be made by having the ssi attribute of the sub-element directly correspond to the generic identifier from the original DTD.

The attribute of toss is:
count | NUMBER | Optional | The number of styles contained in the The processor can use this attribute (if this attribute is present) to pre-allocate space for the styles.

KEYSTYLE

  Purpose
Provides font and semantic information for key phrases.

SYNOPSIS
<!ELEMENT keystyle | - O EMPTY >
<!ATTLIST keystyle | class | (acro | | |
 |  | book | |
 |  | emph | |
 |  | jargon | |
 |  | l10n | |
 |  | name | |
 |  | quote | |
 |  | product | |
 |  | termdef | |
 |  | term | |
 |  | mach-in | |
 |  | mach-out | |
 |  | mach-cont | |
 |  | pub-lit | |
 |  | udefkey | ) | #REQUIRED
 | ssi | CDATA |  | #IMPLIED
 | rlevel | NUMBER |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-wt | NUMBER |  | #IMPLIED
 | pointsz | NUMBER |  | #IMPLIED
 | set-width | NUMBER |  | #IMPLIED
 | color | CDATA |  | #IMPLIED
 | xlfd | CDATA |  | #IMPLIED
 | xldfi | CDATA |  | #IMPLIED
 | xlfdb | CDATA |  | #IMPLIED
 | xlfdib | CDATA |  | #IMPLIED
 | typenam | CDATA |  | #IMPLIED
 | typenami | CDATA |  | #IMPLIED
 | typenamb | CDATA |  | #IMPLIED
 | typenamib | CDATA |  | #IMPLIED
 | style | (serif | | |
 |  | sans-serif | | |
 |  | symbol | ) | #IMPLIED
 | spacing | (monospace | | |
 |  | propspace | ) | #IMPLIED
 | weight | (medium | | |
 |  | bold | ) | #IMPLIED
 | slant | (roman | | |
 |  | italic | | |
 |  | rev-italic | | | #IMPLIED
 | special | (underline | | |
 |  | strikeout | | |
 |  | none | ) | #IMPLIED >

DESCRIPTION
The keystyle element provides semantic and font information for key phrases in the document.

When a key element is encountered in the document, the toss list of keystyle elements is ssearched with an attempt made to match the class and ssi (if any) attributes of the key element to the class and ssi (if any) attributes of the keystyle. If the keystyle specifies an rlevel attribute, the search is further refined by matching the level of the block containing the paragraph (p) to the rlevel of the keystyle. If the key element has no ssi attribute, the search in the toss looks for a keystyle element with no ssi specified. A keystyle element with no ssi specified matches any ssi in a key element although an explicit class/ssi pair is chosen in preference.

When a match is found, the font information contained in the keystyle is used in formatting the key element.

The attributes of keystyle are:
class | acro | Required | The general type of the key element in the
 | book |  | document.
 | emph |  |
 | jargon |  |
 | l10n |  |
 | name |  |
 | quote |  |
 | product |  |
 | pub-lit |  |
 | termdef |  |
 | term |  |
 | mach-in |  |
 | mach-out |  |
 | mach-cont |  |
 | udefkey |  |
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.
rlevel | NUMBER | Optional | Used to further refine matches of the class and ssi attributes. If present, the rlevel of the keystyle is matched against the level of the block containing the paragraph (p) containing the key element.
phrase | CDATA | Optional | A natural language phrase describing the semantics (meaning) of the element in the original SGML document that was translated into this key. This phrase can be used to present an interface to the reader for searching or otherwise examining the document.
srch-wt | NUMBER | Optional | A number indicating the likelihood that this element contains an actual hit when doing a full-text search. It may be used as a relevance indicator.
pointsz | NUMBER | Optional | The height of the font in points. By default, the main body of the document is 10 point.
set-width | NUMBER | Optional | The width of the font in points; the default is the point size. The set width is similar to point size but refers to relative width rather than height. For example, an 8 point font based on a square would be 8 pt., 8 set.
color | CDATA | Optional | One of the 42 common desktop environment (CDE) colors or RGB:rrrr/gggg/bbbb.
xlfd | CDATA | Optional | These attributes should always be specified as
xlfdi |  |  | a group. They are X logical font descriptions
xlfdb |  |  | (XLFD) typeface names for use on the X
xlfdib |  |  | Window System. Specified, for example, as ``-adobe-helvetica-bold-i-narrow-*-''. The four specifications are for normal, italic, bold and bold-italic. These attributes should only be specified if the author is sure of exactly what font is desired. In the usual case, only the logical typeface specifcations (style, spacing, weight, slant) are given.
typenam | CDATA | Optional | These attributes should always be specified as a group.
typenami |  |  | They are the MS-Windows typeface name with a maximum
typenamb |  |  | of 32 characters. There is one specification each
typenamib |  |  | for normal, italic, bold and bold-italic. These attributes should only be specified if the author is sure of the desired font and, in the usual case, only provides the following logical type specifications.
style | serif | Optional | The font style.
 | sans-serif |  |
 | symbol |  |
spacing | monospace | Optional | Specifies fixed versus proportional spacing.
 | propspace |  |
weight | medium | Optional | Specifies normal versus bold font.
 | bold |  |
slant | roman | Optional | Specifies Roman, italic or reverse italic font.
 | italic |  |
 | rev-italic |  |
special | underline | Optional | Special attribute of the font. The underline value is
 | strikeout |  | interpreted as appropriate for the font.
 | none |  | Some non-European fonts use overlining for the purpose filled by underlining in European fonts.

HEADSTYLE

  Purpose
Provides formatting, font and semantic information for headings (head and subhead).

SYNOPSIS
<!ELEMENT headstyle | - O EMPTY >
<!ATTLIST headstyle | class | (label | | |
 |  | head | |
 |  | caption | |
 |  | undefhead | ) | #REQUIRED
 | ssi | CDATA |  | #IMPLIED
 | rlevel | NUMBER |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-wt | CDATA |  | #IMPLIED
 | orient | (left-orient | |
 |  | center-orient | |
 |  | right-orient | |
 |  | left-corner-orient | |
 |  | right-corner-orient | ) |  | #IMPLIED
 | vorient | (top-vorient | |
 |  | bottom-vorient | |
 |  | center-vorient | ) | #IMPLIED
 | placement | (object | |
 |  | parent | ) | #IMPLIED
 | headw | CDATA |  | #IMPLIED
 | stack | (horiz | |
 |  | vert | ) | #IMPLIED
 | flow | (wrap | |
 |  | nowrap | ) | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-wt | NUMBER |  | #IMPLIED
 | pointsz | NUMBER |  | #IMPLIED
 | set-width | NUMBER |  | #IMPLIED
 | color | CDATA |  | #IMPLIED
 | xlfd | CDATA |  | #IMPLIED
 | xldfi | CDATA |  | #IMPLIED
 | xlfdb | CDATA |  | #IMPLIED
 | xlfdib | CDATA |  | #IMPLIED
 | typenam | CDATA |  | #IMPLIED
 | typenami | CDATA |  | #IMPLIED
 | typenamb | CDATA |  | #IMPLIED
 | typenamib | CDATA |  | #IMPLIED
 | style | (serif | |
 |  | sans-serif | |
 |  | symbol | ) | #IMPLIED
 | spacing | (monospace | |
 |  | propspace | ) | #IMPLIED
 | weight | (medium | |
 |  | bold | ) | #IMPLIED
 | slant | (roman | |
 |  | italic | |
 |  | rev-italic | | | #IMPLIED
 | special | (underline | |
 |  | strikeout | |
 |  | none | ) | #IMPLIED
 | f-margin | CDATA |  | #IMPLIED
 | l-margin | CDATA |  | #IMPLIED
 | r-margin | CDATA |  | #IMPLIED
 | t-margin | CDATA |  | #IMPLIED
 | b-margin | CDATA |  | #IMPLIED
 | border | (no-border | |
 |  | full-border | |
 |  | horizontal-border | |
 |  | vertical-border | |
 |  | top-border | |
 |  | bottom-border | |
 |  | left-border | |
 |  | right-border | ) | #IMPLIED
 | justify | (left-justify | |
 |  | right-justify | |
 |  | center-justify | |
 |  | numeric-justify | ) | #IMPLIED
 | vjust | (top-vjust | |
 |  | bottom-vjust | |
 |  | center-vjust | ) | #IMPLIED >

DESCRIPTION
The headstyle element provides semantic, font and formatting information for headings (head and subhead) in the document.

When a heading is encountered in the document and that heading has an ssi attribute, the toss list of headstyle elements is searched with an attempt made to match the class and ssi attributes of the heading to the class and ssi attributes of the headstyle. If the headstyle specifies an rlevel attribute, the search is further refined by matching the level of the element containing the heading to the rlevel of the headstyle. If the element containing the heading does not have a level attribute, the level of its containing element is used, and so on. A headstyle element with no ssi specified matches any ssi in a head element although an explicit class/ssi pair is chosen in preference.

When a match is found, the font and style information contained in the headstyle is used in formatting the heading.

The attributes of headstyle are:
class | label | Required | The general type of the heading in the document.
 | head |  |
 | annotation |  |
 | phead |  |
 | udefhead |  |
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup was conforming to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.
rlevel | NUMBER | Optional | Used to further refine matches of the class and ssi attributes. If present, the rlevel of the headstyle is matched against the level of the element containing the heading or, if none, the level of the first containing element with a level attribute.
phrase | CDATA | Optional | A natural language phrase describing the semantics (meaning) of the element in the original SGML document that was translated into this heading. This phrase can be used to present an interface to the reader for searching or otherwise examining the document.
srch-wt | NUMBER | Optional | A number indicating the likelihood that this element contains an actual hit when doing a full-text search.
srch-wt | NUMBER | Optional | A number indicating the likelihood that this element contains an actual hit when doing a full-text search.
orient | left-orient | Optional | The horizontal orientation of the head with respect
 | center-orient |  | to its associated element or of the subhead with
 | right-orient |  | respect to its head. The default is center-orient.
 | left-margin-orient |  | This value is used in conjunction with the vorient
 | right-margin-orient |  | attribute to orient the heading. The corner orientations
 | left-corner-orient |  | are to place the heading in one of the four corners
 | right-corner-orient |  | above or below (top-vorient or bottom-vorient) and to the right or left (right-corner-orient or left-corner-orient) of the associated element. The margin orientations left or right justified this heading with respect to the text of the heading parent. For example, a headstyle with orient=left-margin-orient and vorient=top-vorient places the heading above the parent element aligning the left margins of the parent and the heading.
vorient | top-vorient | Optional | The vertical orientation of the head with respect to its
 | bottom-vorient |  | associated element or of the subhead with respect to
 | center-vorient |  | its head. The default is top-vorient.
placement | object | Optional | This attribute applies only to head elements.
 | parent |  | This attribute indicates whether the orient and vorient attributes apply to the head proper or to the entire head object, including all its subhead elements. This attribute should default to parent.
headw | CDATA | Optional | The percentage of the available space for the current element that should be given to its head or the percentage of the head that should be given to its subhead. It is expressed as a fixed point number 1 to 10000 with an implied decimal point two places to the left of the right side.
stack | horiz | Optional | Where to put this head or subhead if it collides
 | vert |  | with one already placed. Horizontal stacking means place this one to the right of the other. Vertical stacking means place this one under the other. This attribute should default to vert.
flow | wrap | Optional | Specifies whether the text of the containing element
 | nowrap |  | should flow around the heading or
 | join |  | not. The default is no-wrap. A flow of join implies starting the content of the surrounding element immediately after this head. That is, on the same line as the bottom of this head.
pointsz | NUMBER | Optional | The height of the font in points. By default, the main body of the document is 10 point.
set-width | NUMBER | Optional | The width of the font in points; the default is the point size. The set width is similar to point size but refers to relative width rather than height. For example, an 8 point font based on a square would be 8 pt., 8 set.
color | CDATA | Optional | One of the 42 CDE colors or RGB:rrrr/gggg/bbbb.
xlfd | CDATA | Optional | These attributes should always be specified as a group.
 | xlfdi |  | They are X logical font description (XLFD) typeface
 | xlfdb |  | names for use on the X Window System. Specified,
 | xlfdib |  | for example, as ``-adobe-helvetica-bold-i-narrow-*-''. The four specifications are for normal, italic, bold and bold-italic. This attribute should only be specified if the author is sure of the desired font. In the usual case, only the logical typeface specifications (style, spacing, weight, slant) is given.
typenam | CDATA | Optional | These attributes should always be specified as a group.
 | typenami |  | They are the MS-Windows typeface name with a maximum of
 | typenamb |  | 32 characters. There is one specification each for
 | typenamib |  | normal, italic, bold and bold-italic. These attributes should only be specified if the author is sure of the desired font and, in the usual case, only provide the following logical type specifications.
style | serif | Optional | The font style.
 | sans-serif |  |
 | symbol |  |
spacing | monospace | Optional | Specifies fixed versus proportional spacing.
 | propspace |  |
weight | medium | Optional | Specifies normal versus bold font.
 | bold |  |
slant | roman | Optional | Specifies Roman, italic or reverse italic font.
 | italic |  |
 | rev-italic |  |
special | underline | Optional | Special attribute of the font. The underline value is
 | strikeout |  | interpreted as appropriate for the font.
 | none |  | Some non-European fonts use overlining for the purpose filled by underlining in European fonts.
f-margin | CDATA | Optional | The first line margin (it may be negative). A number used to indicate the extension or indentation at the start of a paragraph. The default value is zero.
l-margin | NUMBER | Optional | The left margin. This value is additive, that is, if an element has a left margin and is (logically) contained in another element having a left margin, the contained element will have a left margin equal to the sum of the two values. This value is measured in current character widths. The default value is zero.
r-margin | NUMBER | Optional | The right margin. This value is additive, that is, if an element has a right margin and is (logically) contained in another element having a right margin, the contained element will have a right margin equal to the sum of the two values. This value is measured in current character widths. The default value is zero.
t-margin | NUMBER | Optional | The top margin. This value takes the maximum, that is, if an element has a top margin and is (logically) contained in another element having a top margin, the two elements together have a top margin equal to the greater of the two. This value is measured in current line height. The default value is zero.
b-margin | NUMBER | Optional | The bottom margin. This value takes the maximum, that is, if an element has a bottom margin and is (logically) contained in another element having a bottom margin, the two elements together have a bottom margin equal to the greater of the two. This value is measured in current line height. The default value is zero.
border | no-border | Optional | Specifies the decoration type. The default is no-border.
 | full-border |  |
 | horizontal-border |  |
 | vertical-border |  |
 | top-border |  |
 | bottom-border |  |
 | left-border |  |
 | right-border |  |
justify | left-justify | Optional | Horizontal justification of the text or data.
 | right-justify |  | The default is left-justify. The numeric-justify
 | center-justify |  | value implies alignment of decimal points.
 | numeric-justify |  |
vjust | top-vjust | Optional | The alignment of the head or subhead
 | bottom-vjust |  | in the space carved out by the largest head
 | center-vjust |  | or subhead in the same plane. That is, should this head or subhead be aligned with the top of the largest related head or subhead, the bottom, or the center. In general, the vjust attribute may be seen as justifying text vertically. If a head or subhead is being placed alongside another head or subhead and the other one is longer than the one being placed, the one being placed has an implicit length equal to that of the already placed one and the vjust attribute justifies the text within that length.

FORMSTYLE

  Purpose
Provides formatting, font and semantic information for form elements.

SYNOPSIS
<!ELEMENT formstyle | - O EMPTY >
<!ATTLIST formstyle | (class | table | | |
 |  | list | | |
 |  | text | | |
 |  | udeffrmt | ) | #REQUIRED
 | ssi | CDATA |  | #IMPLIED
 | rlevel | NUMBER |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-w | CDATA |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-wt | NUMBER |  | #IMPLIED
 | pointsz | NUMBER |  | #IMPLIED
 | set-width | NUMBER |  | #IMPLIED
 | color | CDATA |  | #IMPLIED
 | xlfd | CDATA |  | #IMPLIED
 | xldfi | CDATA |  | #IMPLIED
 | xlfdb | CDATA |  | #IMPLIED
 | xlfdib | CDATA |  | #IMPLIED
 | typenam | CDATA |  | #IMPLIED
 | typenami | CDATA |  | #IMPLIED
 | typenamb | CDATA |  | #IMPLIED
 | typenamib | CDATA |  | #IMPLIED
 | style | (serif | |
 |  | sans-serif | |
 |  | symbol | ) | #IMPLIED
 | spacing | (monospace | |
 |  | propspace | ) | #IMPLIED
 | weight | (medium | |
 |  | bold | ) | #IMPLIED
 | slant | (roman | |
 |  | italic | |
 |  | rev-italic | | | #IMPLIED
 | special | (underline | |
 |  | strikeout | |
 |  | none | ) | #IMPLIED
 | f-margin | CDATA |  | #IMPLIED
 | l-margin | CDATA |  | #IMPLIED
 | r-margin | CDATA |  | #IMPLIED
 | t-margin | CDATA |  | #IMPLIED
 | b-margin | CDATA |  | #IMPLIED
 | border | (no-border | |
 |  | full-border | |
 |  | horizontal-border | |
 |  | vertical-border | |
 |  | top-border | |
 |  | bottom-border | |
 |  | left-border | |
 |  | right-border | ) | #IMPLIED
 | vjust | (top-vjust | |
 |  | bottom-vjust | |
 |  | center-vjust | ) | #IMPLIED >

DESCRIPTION
The formstyle element provides semantic, font and formatting information for form elements.

When a form element is encountered in the document and that element has an ssi attribute, the toss list of formstyle elements is searched with an attempt made to match the class and ssi attributes of the element to the class and ssi attributes of the formstyle. If the formstyle specifies an rlevel attribute, the search is further refined by matching the nesting level of the form to the rlevel of the formstyle. A formstyle element with no ssi specified, matches any ssi in a form, although an explicit class/ssi pair is chosen in preference.

When a match is found, the font and style information contained in the formstyle is used in formatting the element.

The attributes of formstyle are:
class | table | Required | The general function of the form in the document.
 | cell |  |
 | list |  |
 | item |  |
 | text |  |
 | udeffrmt |  |
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.
rlevel | NUMBER | Optional | Used to further refine matches of the class and ssi attributes. If present, the rlevel of the formstyle is matched against the nesting level of the form being formatted.
phrase | CDATA | Optional | A natural language phrase describing the semantics (meaning) of the element in the original SGML document that was translated into this form. This phrase can be used to present an interface to the reader for searching or otherwise examining the document.
srch-wt | NUMBER | Optional | A number indicating the likelihood that this element contains an actual hit when doing a full-text search.
colw | CDATA | Optional | Column widths. One specification for each column in the form. Amounts given for each column are summed and each column is then given a fraction of the available formatting space equal to its specification divided by the total. Specifications take the form D[,T[,G]] where ``D'' is the desired (optimal) column width, ``T'' is the amount the column is willing to grow (take) and, if ``G'' is unspecified, willing to give (that is, plus or minus). ``G'' is the amount the column is willing to shrink (give). Column specifications are delimited by a space. For example, a specification of: COLW=``10 90'' implies two columns with the first taking 10% of the available space and the second taking 90%. If either column has a graphic or unsplittable word that pushes it over the size specified, a horizontal scrollbar is added and the available space is grown until the requirement can be met. A specification of: COLW=``20,5 80,5'' implies two columns with the first optimally taking 20% and the second optimally taking 80%. Each column, however is willing to shrink or grow such that the ranges of sizes run from 15/85 to 25/75. If the sizes cannot be adjusted to contain a graphic or unsplittable word, a horizontal scrollbar is added and the available space is grown until the requirement is met. Finally, a specification of: COLW=``20,10,5 80,5,10'' implies two columns with the first optimally taking 20% of the available space but willing to take as much as 30% or a little as 15%. The second column desires 80% but is willing to take as much as 85% or as little as 70% of the available space. A scrollbar may be added to the viewed space if the constraints cannot be met. The specifications need not all be uniformly singles, doubles or triples. That is, a legal specification could take the form: COLW=``20,5 80,0,5'' that translates to two columns; the first desiring 20% of the available space but willing to take as much as 25% or as little as 15/80 (18.75%). The second column desires 80% of the available space, but is willing to take as little as 75%. The totals in the above examples usually add up to 100. This value is mere convention for ease of use. In practice, the sum of desired points may be any number. If the number of columns specified is greater than the ncols attribute of the fstyle of the related form, the extra specifications are ignored. If the number of columns specified is less than the ncols attribute, the final specification is replicated to cover the actual number of columns.
colj | CDATA | Optional | The column justification is the default justification applied to each cell in the column. This attribute is a list of ncols letters chosen from: ``l,'' ``r,'' ``c,'' and ``d.'' These letters specify left, right, centered and decimal justification, respectively. This attribute defaults to ``l.''
pointsz | NUMBER | Optional | The height of the font in points. By default, the main body of the document is 10 point.
set-width | NUMBER | Optional | The width of the font in points; the default is the point size. The set width is similar to point size but refers to relative width rather than height. For example, an 8 point font based on a square would be 8 pt., 8 set.
color | CDATA | Optional | One of the 42 common desktop environment (CDE) colors or RGB:rrrr/gggg/bbbb.
xlfd | CDATA | Optional | These attributes should always be
xlfdi |  |  | specified as a group. They are X logical
xlfdb |  |  | font descriptions (XLFD) typeface names
xlfdib |  |  | for use on the X Window System. Specified, for example, as ``-adobe-helvetica-bold-i-narrow-*-''. The four specifications are for normal, italic, bold and bold-italic. These attribute should only be specified if the author is sure of exactly what font is desired. In the usual case, only the logical typeface specifications (style, spacing, weight, slant) is given.
typenam | CDATA | Optional | These attributes should always be specified as a group.
typenami |  |  | a maximum of 32 characters. There is one specification
typenamib |  |  | each for normal, italic, bold and bold-italic. These attributes should only be specified if the author is sure of the desired font and, in the usual case, only provides the following logical type specifications.
style | serif | Optional | The font style.
 | sans-serif |  |
 | symbol |  |
spacing | monospace | Optional | Specifies fixed versus proportional spacing.
 | propspace |  |
weight | medium | Optional | Specifies normal versus bold font.
 | bold |  |
slant | roman | Optional | Specifies Roman, italic or reverse italic font.
 | italic |  |
 | rev-italic |  |
special | underline | Optional | Special attribute of the font. The underline value is
 | italic |  | interpreted as appropriate for the font.
 | rev-italic |  | Some non-European fonts use overlining for
 | strikeout |  | the purpose filled by underlining in European fonts.
 | none |  |
l-margin | NUMBER | Optional | The left margin. This value is additive, that is, if an element has a left margin and is (logically) contained in another element having a left margin, the contained element will have a left margin equal to the sum of the two values. This value is measured in current character widths and defaults to zero.
r-margin | NUMBER | Optional | The right margin. This value is additive, that is, if an element has a right margin and is (logically) contained in another element having a right margin, the contained element will have a right margin equal to the sum of the two values. This value is measured in current character widths and defaults to zero.
t-margin | NUMBER | Optional | The top margin. This value takes the maximum, that is, if an element has a top margin and is (logically) contained in another element having a top margin, the two elements will together have a top margin equal to the greater of the two. This value is measured in current line height and defaults to zero.
b-margin | NUMBER | Optional | The bottom margin. This value takes the maximum, that is, if an element has a bottom margin and is (logically) contained in another element having a bottom margin, the two elements together have a bottom margin equal to the greater of the two. This value is measured in current line height and defaults to zero.
border | no-border | Optional | Specifies the decoration type.
 | no-border |  | The default is no-border.
 | full-border |  |
 | horizontal-border |  |
 | vertical-border |  |
 | top-border |  |
 | bottom-border |  |
 | left-border |  |
 | right-border |  |
vjust | top-vjust | Optional | Vertical justification of the text of this
 | bottom-vjust |  | element. The default is top-vjust.
 | center-vjust |  |

FRMTSTYLE

  Purpose
Provides formatting, font and semantic information for virpage, block and p elements.

SYNOPSIS
<!ELEMENT frmtstyle | - O EMPTY >

<!ATTLIST frmtstyle | (class | table | | |
 |  | list | |
 |  | text | |
 |  | udeffrmt | ) | #REQUIRED
 | ssi | CDATA |  | #IMPLIED
 | rlevel | NUMBER |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-wt | CDATA |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | srch-wt | NUMBER |  | #IMPLIED
 | pointsz | NUMBER |  | #IMPLIED
 | set-width | NUMBER |  | #IMPLIED
 | color | CDATA |  | #IMPLIED
 | xlfd | CDATA |  | #IMPLIED
 | xldfi | CDATA |  | #IMPLIED
 | xlfdb | CDATA |  | #IMPLIED
 | xlfdib | CDATA |  | #IMPLIED
 | typenam | CDATA |  | #IMPLIED
 | typenami | CDATA |  | #IMPLIED
 | typenamb | CDATA |  | #IMPLIED
 | typenamib | CDATA |  | #IMPLIED
 | style | (serif | |
 |  | sans-serif | |
 |  | symbol | ) | #IMPLIED
 | spacing | (monospace | |
 |  | propspace | ) | #IMPLIED
 | weight | (medium | |
 |  | bold | ) | #IMPLIED
 | slant | (roman | |
 |  | italic | |
 |  | rev-italic | | | #IMPLIED
 | special | (underline | |
 |  | strikeout | |
 |  | none | ) | #IMPLIED
 | f-margin | CDATA |  | #IMPLIED
 | l-margin | CDATA |  | #IMPLIED
 | r-margin | CDATA |  | #IMPLIED
 | t-margin | CDATA |  | #IMPLIED
 | b-margin | CDATA |  | #IMPLIED
 | border | (no-border | |
 |  | full-border | |
 |  | horizontal-border | |
 |  | vertical-border | |
 |  | top-border | |
 |  | bottom-border | |
 |  | left-border | |
 |  | right-border | ) | #IMPLIED
 | vjust | (top-vjust | |
 |  | bottom-vjust | |
 |  | center-vjust | ) | #IMPLIED
 | justify | (left-justify | |
 |  | right-justify | |
 |  | center-justify | |
 |  | numeric-justify | ) | #IMPLIED >

DESCRIPTION
The frmtstyle element provides semantic, font and formatting information for virpage, block and p elements.

When a one of the elements listed in the FRMSTYLE Synopsis is encountered in the document and that element has an ssi attribute, the toss list of frmtstyle elements is serached with an attempt made to match the class and ssi attributes of the element to the class and ssi attributes of the frmtstyle. If the frmtstyle specifies an rlevel attribute, the search is further refined by matching the level of the element containing the element to the rlevel of the frmtstyle. If the element does not have a level attribute, the level of its containing element is used, and so on. A frmtstyle element with no ssi specified matches any ssi in a formattable element although an explicit class/ssi pair is chosen in preference.

When a match is found, the font and style information contained in the frmtstyle is used in formatting the element.

The attributes of frmtstyle are:
class | table | Required | The general function of the form.
 | cell |  | in the document.
 | list |  |
 | item |  |
 | text |  |
 | udeffrmt |  |
ssi | CDATA | Optional | The general function of the form. A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup conforms to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.
rlevel | NUMBER | Optional | Used to further refine matches of the class and ssi attributes. If present, the rlevel of the frmtstyle is matched against the level of the element being formatted or, if none, the level of the first containing element with a level attribute.
phrase | CDATA | Optional | A natural language phrase describing the semantics (meaning) of the element in the original SGML document that was translated into this element. This phrase can be used to present an interface to the reader for searching or otherwise examining the document.
srch-wt | NUMBER | Optional | A number indicating the likelihood that this element contains an actual hit when doing a full-text search.
pointsz | NUMBER | Optional | The height of the font in points. By default, the main body of the document is 10 point.
set-width | NUMBER | Optional | The width of the font in points; the default is the point size. The set width is similar to point size but refers to relative width rather than height. For example, an 8 point font based on a square would be 8 pt., 8 set.
color | CDATA | Optional | One of the 42 CDE colors or RGB:rrrr/gggg/bbbb.
xlfd | CDATA | Optional | These attributes should always be specified as a group.
xlfdi |  |  | They are X logical font description (XLFD) typeface
xlfdb |  |  | names for use on the X Window System. Specified, for example,
xlfdib |  |  | as ``-adobe-helvetica-bold-i-narrow-*-''. The four specifications are for normal, italic, bold and bold-italic. These attributes should only be specified if the author is sure of exactly what font is desired. In the usual case, only the logical typeface specifications (style, spacing, weight, slant) are given.
typenam | CDATA | Optional | These attributes should always be specified as a group.
typenami |  |  | They are the MS-Windows typeface names
typenamb |  |  | with a maximum of 32 characters. There is one
typenamib |  |  | specification each for normal, italic, bold and bold-italic. These attributes should only be specified if the author is sure of the desired font. In the usual case, only the logical typeface specifications (style, spacing, weight, slant) are given.
style | serif | Optional | The font style.
 | sans-serif |  |
 | symbol |  |
spacing | monospace | Optional | Specifies fixed versus proportional spacing.
 | propspace |  |
weight | medium | Optional | Specifies normal versus bold font.
 | bold |  |
slant | roman | Optional | Specifies Roman, italic or reverse italic font.
 | italic |  |
 | rev-italic |  |
special | underline | Optional | Special attribute of the font. The underline value is interpreted
 | strikeout |  | as appropriate for the font. Some non-European
 | none |  | fonts use overlining for the purpose filled by underlining in European fonts.
f-margin | CDATA | Optional | The first line margin (it may be negative). A number used to indicate the extension or indentation at the start of a paragraph. The default value is zero.
l-margin | NUMBER | Optional | The left margin. This value is additive, that is, if an element has a left margin and is (logically) contained in another element having a left margin, the contained element will have a left margin equal to the sum of the two values. This value is measured in current character widths. The default value is zero.
r-margin | NUMBER | Optional | The right margin. This value is additive, that is, if an element has a right margin and is (logically) contained in another element having a right margin, the contained element will have a right margin equal to the sum of the two values. This value is measured in current character widths. The default value is zero.
t-margin | NUMBER | Optional | The top margin. This value takes the maximum, that is, if an element has a top margin and is (logically) contained in another element having a top margin, the two elements together have a top margin equal to the greater of the two. This value is measured in current line height. The default value is zero
b-margin | NUMBER | Optional | The bottom margin. This value takes the maximum, that is, if an element has a bottom margin and is (logically) contained in another element having a bottom margin, the two elements together have a bottom margin equal to the greater of the two. This value is measured in current line height. The default value is zero
border | no-border | Optional | Specifies the decoration type.
 | full-border |  | The default is no-border.
 | horizontal-border |  |
 | vertical-border |  |
 | top-border |  |
 | bottom-border |  |
 | left-border |  |
 | right-border |  |
vjust | top-vjust | Optional | Vertical justification of the text of
 | bottom-vjust |  | this element. The default is top-vjust.
 | center-vjust |  |
justify | left-justify | Optional | Horizontal justification of the text or data.
 | right-justify |  | The default is left-justify.
 | center-justify |  | The numeric-justify value implies alignment
 | numeric-justify |  | of decimal points.

GRPHSTYLE

  Purpose
Provides formatting and semantic information for refitem elements with a class attribute value taken from the graphic class.

SYNOPSIS
<!ELEMENT grphstyle | - O EMPTY >

<!ATTLIST grphstyle | (class | figure | | |
 |  | in-line | |
 |  | button | |
 |  | icon | |
 |  | udefgrph | ) | #REQUIRED
 | ssi | CDATA |  | #IMPLIED
 | rlevel | NUMBER |  | #IMPLIED
 | phrase | CDATA |  | #IMPLIED
 | l-margin | CDATA |  | #IMPLIED
 | r-margin | CDATA |  | #IMPLIED
 | t-margin | CDATA |  | #IMPLIED
 | b-margin | CDATA |  | #IMPLIED
 | border | (no-border | |
 |  | full-border | |
 |  | horizontal-border | |
 |  | vertical-border | |
 |  | top-border | |
 |  | bottom-border | |
 |  | left-border | |
 |  | right-border | ) | #IMPLIED
 | vjust | (top-vjust | |
 |  | bottom-vjust | |
 |  | center-vjust | ) | #IMPLIED
 | justify | (left-justify | |
 |  | right-justify | |
 |  | center-justify | ) | #IMPLIED >

DESCRIPTION
The grphstyle element provides semantic, font and formatting information for refitem elements with a class attribute taken from the graphic class.

When a one of the above elements is encountered in the document and that element has an ssi attribute, the toss list of grphstyle elements is searched with an attempt made to match the class and ssi attributes of the element to the class and ssi attributes of the grphstyle. If the grphstyle specifies an rlevel attribute, the search is further refined by matching the level of the element containing the element to the rlevel of the grphstyle. The level of a refitem is taken from the level of its enclosing block. If the enclosing block does not have a level attribute, the level of its enclosing virpage is used. A grphstyle element with no ssi specified, matches any ssi in a refitem element, although an explicit class/ssi pair is chosen in preference.

When a match is found, the style information contained in the grphstyle is used in formatting the graphic.

The attributes of grphstyle are:
class | figure | Required | The general function of the graphic
 | in-line |  | in the document.
 | button |  |
 | icon |  |
 | udefgrph |  |
ssi | CDATA | Optional | A source semantic identifier. This identifier is chosen by the author of a higher level DTD to SDL translator. It may either reflect the meaning of the markup in the original document or it may reflect the actual generic identifier in the original document. The source semantic identifier may be used to assist in semantic searches of the SDL-conforming document by preserving the original intent of the markup. When the original markup was conforming to a domain-specific DTD, the ssi may be used to enable structured searches of the SDL-conforming document by preserving the original generic identifiers.
rlevel | NUMBER | Optional | Used to further refine matches of the class and ssi attributes. If present, the rlevel of the grphstyle is matched against the level of the first containing element with level attribute.
phrase | CDATA | Optional | A natural language phrase describing the semantics (meaning) of the element in the original SGML document that was translated into this element. This phrase can be used to present an interface to the reader for searching or otherwise examining the document.
l-margin | NUMBER | Optional | The left margin. This value is additive, that is, if an element has a left margin and is (logically) contained in another element having a left margin, the contained element will have a left margin equal to the sum of the two values. This value is measured in current character widths. The default value is zero.
r-margin | NUMBER | Optional | The right margin. This value is additive, that is, if an element has a right margin and is (logically) contained in another element having a right margin, the contained element will have a right margin equal to the sum of the two values. This value is measured in current character widths. The default value is zero.
t-margin | NUMBER | Optional | The top margin. This value takes the maximum, that is, if an element has a top margin and is (logically) contained in another element having a top margin, the two elements together have a top margin equal to the greater of the two. This value is measured in current line height. The default value is zero.
b-margin | NUMBER | Optional | The bottom margin. This value takes the maximum, that is, if an element has a bottom margin and is (logically) contained in another element having a bottom margin, the two elements together have a bottom margin equal to the greater of the two. This value is measured in current line height. The default value is zero.
border | no-border | Optional | Specifies the decoration type.
 | full-border |  | The default is no-border.
 | horizontal-border |  |
 | vertical-border |  |
 | top-border |  |
 | bottom-border |  |
 | left-border |  |
 | right-border |  |
vjust | top-vjust | Optional | Vertical justification of the graphic.
 | bottom-vjust |  | The default is top-vjust.
 | center-vjust |  |
justify | left-justify | Optional | Horizontal justification of the graphic.
 | right-justifyt |  | The default is left-justify.
 | center-justify |  |

SEE ALSO
DtCreateHelpDialog(3), DtCreateQuickHelpDialog(3).