This report will discuss both of the specifications and will attempt
to functionally correlate the features offered by them. This
report will assess the capabilities, benefits, and limitations
of the emerging DSSSL standard for the display of technical information
in a platform independent manner and compare it to the capabilities,
benefits, and limitations of the current OS in MILPRF28001C.
A key part of this report will be to identify the technical issues
associated with the OS and the DSSSL standard and then assess
the gaps that exist in both of the standards with respect to the
formatting of technical manual data. Functionality and characteristics
matrices will be established for each of the standards. The matrices
method opens the door for an objective and impartial analysis
and will identify the overlapping and isolated features in the
two specifications. Armed with this information, the user will
have an independent, universal set of formatting requirements
for technical manuals to identify the features not addressed by
either of the specifications.
Active participation from the vendor community is vital for the
development and progress of either of the specifications. In
our research, we have identified only a limited number of vendors
supporting the Output Specification targeted to specific program
implementations. Furthermore, it was discovered that the different
vendors have not interpreted all aspects of the OS in the same
way, resulting in Formatting Output Specification Instances (FOSIs)
that are not directly interchangeable. With the recent release
for publication of the DSSSL standard, products conforming to
DSSSL are still in their infancy and are expected to establish
themselves in early 1997. The report will introduce some of the
vendor plans for DSSSL implementations and their time schedules.
In addition to the DSSSL standard, a DSSSL-Online Specification,
whose objective is to specify a subset of DSSSL as the basis for
electronic delivery of documents, is being developed. The DSSSL-Online
subset is also included in the scope of this report and is assessed
with the OS.
Technical manuals are publications that contain instructions for
the installation, operation, maintenance, training, and support
for weapon systems, weapon systems components, and support equipment.
MIL-M-38784C is a military specification titled Manuals, Technical:
General Style and Format Requirements. The specification
covers the general style and format requirements for the preparation
of technical manuals and changes to standard technical manuals.
The formatting requirements and style for technical manuals given
in this specification are taken and a matrix that marks the requirements
addressed by the MIL-PRF-28001 OS and DSSSL is also studied in
this report.
To arrive upon a set of formatting requirements for the comparison
of the MIL-PRF-28001 Output Specification and DSSSL, it is necessary
to carefully study the characteristics of each of these standards
as well as those characteristics not covered by each of these
specifications and develop a matrix of comparison criteria. This
generic set of criteria must be able to expose the features that
both of the specifications address and those they do not. This
falls in line with our development of an Independent Universal
Set of formatting requirements for technical manuals. This analysis
between the two specifications results in the formation of a comparison
matrix within the scope of this report.
The second matrix given in the appendix of this report concentrates
on the formatting requirements specified in MIL-38784: Manuals,
Technical: General Style and Format Requirements. Using
the criteria specified in this military specification, the requirements
of formatting for technical manuals are marked against the features
addressed by the Output Specification and DSSSL. This matrix
will identify the features not offered by the two specifications
and could be a starting point for possible future enhancement
of either specification. We anticipate that this matrix will
help identify a possible migration path between implementations
using the Output Specification towards the DSSSL specification.
A summary and conclusion section will discuss the findings in this comparison study. Detailed matrices consisting of the MIL-PRF-28001 Output Specification and DSSSL characteristics will be given in the appendices.
By markup language we mean a set of markup conventions used together
for encoding texts. At a banal level, all printed texts are encoded
in this sense: punctuation marks, use of capitalization, disposition
of letters around the page, even the spaces between words, might
be regarded as a kind of markup, the function of which is to help
the human reader determine where one word ends and another begins,
or how to identify gross structural features such as headings
or simple syntactic units such as dependent clauses or sentences.
A markup language must specify what markup is allowed, what markup
is required, and how markup is to be distinguished from text.
SGML provides the means to satiate these requirements. Markup
is everything in a document that is not content. Markup originally
referred to the handwritten notations that a designer would add
to typewritten text; these notations contained instructions to
a typesetter about how to lay out the copy and what typeface to
use. This kind of markup is known as "procedural markup."
Most electronic publishing systems today, such as word processing
software and desktop publishing software, use procedural markup.
Procedural markup is typically unique to a specific software
package such as Microsoft Word and Quark XPress. Each has its
own set of markup codes that make sense; only to itself. This
markup usually takes the form of formatting codes that are mixed
in with the text of the document. Procedural markup codes apply
to a single way of presenting the information, such as a printed
page, and provide no capability to define appearance for other
media, such as Compact Disk with Read Only Memory (CD-ROM) or
for publishing across the Internet.
Descriptive markup, also known as "generic markup,"
describes the purpose of the text in a document, rather than its
physical appearance on the page. The basic concept of descriptive
markup is that the content of a document should remain separate
from its style. Descriptive markup is based on the structure
of a document and identifies elements within that structure--such
as a chapter, a section, or a table of contents--using notations
that describe what the element is, not how it appears. By separating
presentation information (i.e., style) from the structure, descriptive
markup allows for multiple presentations of the same information.
For example, you can publish on paper, on-line, on CD-ROM, and
on the World Wide Web (Internet), all from one set of source files.
A typical document consists of three layers: structure, content,
and style. SGML separates these three aspects, but deals mainly
with the relationship between structure and content. At the heart
of an SGML application is a file called the Document Type Definition
(DTD). The DTD describes the structure of a document, much like
a database schema describes the types of information it handles
and the relationships between the fields. A DTD provides a framework
for the elements (such as chapters and chapter headings, sections,
and topics) that constitute a document. A DTD also specifies
rules for the relationships between elements; for example, "a
chapter heading must be the first element after the start of a
chapter." These rules, which the DTD defines, help ensure
that documents have a consistent, logical structure. A DTD accompanies
a document wherever it goes. A "document instance"
is a document whose content has been tagged in conformance with
a particular DTD. Content is the information itself: content
includes titles, paragraphs, lists, tables, graphics, and audio.
The method for identifying the content's position within the
DTD structure is called "tagging." Creating an SGML
document involves inserting tags around content. These tags mark
the beginning and end of each part of the structure. The structure
of a particular document is revealed by the nesting of tags.
Fortunately, human beings usually do not have to deal with manually
typing in tags and checking to make sure all the tags are there.
Some SGML-based authoring software programs make it easy to enter
tags by clicking on pull-down menus that list only those tags
that are valid at the cursor's current position in the document.
These programs rely on a software module called a "parser"
that verifies that the document follows the rules of the DTD.
(The parser also verifies that the DTD itself is structurally
correct.)
Three characteristics of SGML distinguish it from other markup
languages: its emphasis on descriptive rather than procedural
markup; its document type concept; and its independence of any
one system for representing the script in which a text is written.
A descriptive markup system uses markup codes that simply provide
names to categorize parts of a document. By contrast, a procedural
markup system defines what processing is to be carried out at
particular points in a document. In SGML, the instructions needed
to process a document for some particular purpose (for example,
to format it) are sharply distinguished from the descriptive markup
that occurs within the document. Usually, they are collected
outside the document in separate procedures or programs.
With descriptive instead of procedural markup, the same document
can readily be processed by many different pieces of software.
Each of these can apply different processing instructions to
those parts of it which are considered relevant. For example,
a content analysis program might disregard entirely the footnotes
embedded in an annotated text, while a formatting program might
extract and collect them all together for printing at the end
of each chapter. Different sorts of processing instructions can
be associated with the same parts of the file. For example, one
program might extract names of persons and places from a document
to create an index or database, while another, operating on the
same text, might print names of persons and places in a distinctive
typeface. Secondly, SGML introduces the notion of a document
type, and hence a DTD. Documents are regarded as having types,
just as other objects processed by computers do. The type of
a document is formally defined by its constituent parts and their
structure. If documents are of known types, a special purpose
program (called a parser) can be used to process a document claiming
to be of a particular type and check that all the elements required
for that document type are indeed present and correctly ordered.
More significantly, different documents of the same type can
be processed in a uniform way. Programs can be written to take
advantage of the knowledge encapsulated in the document structure
information, and can thus behave in a more intelligent fashion.
It should be stressed that the SGML standard is entirely unconcerned
with the semantics of textual elements. The semantic considerations
are application dependent. Standardized markup using the SGML
is the most powerful and flexible means of encoding the structure
of textual information that exists today. Markup defined using
SGML can be efficient and extremely portable. SGML encoded text
can be versatile and can be interpreted into typeset printed products
or electronic applications. SGML was developed to address the
problems of information exchange and management challenges associated
with electronic printed output and exchange of textual information.
ISO participated in the development of the SGML standard and
adopted it in 1986 as ISO 8879. This standard completely
defines the terms and syntax to specify the structure and content
of a document. Because ISO 8879 does not provide functionality
for specifying appearance, formatting requirements, or standards
for style, most systems still rely on proprietary methods. With
SGML being independent from presentation, some means of describing
presentation to a document composition system was needed. Unfortunately,
the language that the international standards community was developing
to satisfy this requirement, called the Document Style Semantics
and Specification Language (DSSSL), was first published in draft
form in late 1994, and was published as an official ISO standard
in late 1995 - eight years after the CALS requirement was identified.
During that time, the Department of Defense (DoD) elected to
establish an interim capability for CALS, based upon SGML, that
addressed composition. The first version of the DoD's MILM28001
Output Specification (March 25, 1987) applied this in
a limited manner by focusing on paper output.
The OS is in the form of a particular DTD that allows the user to create a FOSI, that is well suited to printed output. A FOSI is essentially a powerful style sheet that specifies the formatting for each tag in a DTD. A FOSI, the document instance, and the DTD constitute a complete interchange package for printed documents. In a DSSSL domain, a complete interchange package would also be constituted by the document instance, the DTD, and the DSSSL specification.
The DoD application of SGML is specified in MILPRF28001C.
ISO 8879 defines SGML as a meta-language. Many different
SGML languages satisfying the grammar and syntax specified in
ISO 8879 can be obtained by choosing from among different
features and options afforded by ISO 8879. MILPRF28001C
specifies the DoD CALS SGML implementation by choosing certain
SGML features and setting certain parameters. MILPRF28001C
also uses SGML to provide a capability for specifying the formatting
of CALS SGML documents.
An ISO 8879 SGML document contains three parts: the SGML
declaration, the Document Type Definition (DTD), and
the Document Instance. A CALS SGML document contains
these parts and may also contain a Formatting Output Specification
Instance (FOSI) for paper delivery or a Formatting Presentation
Specification Instance (FPSI) for electronic delivery (Revision
C). The SGML declaration defines what characters will be allowed
in the rest of the document and how they will be encoded. The
SGML declaration also specifies how certain characters are to
be interpreted along with other special rules and definitions.
The DTD defines the content and structure of a document. It
refers to how the information in a class of documents such as
technical manuals, books, memos, etc., is related, and defines
any dependencies. Markup of a document provides an unambiguous
definition of its structure and content, allowing automated data
processing software to process the document in a predictable manner.
Also defined in the DTD are entity declarations. The document
instance is the information content of the document, marked up
in accordance with a DTD. This markup may include declarations,
tags, and entity references. The FOSI specifies the desired appearance
of the information content of the document. This output formatting
description capability is not contained in ISO 8879, but
is found in MILPRF28001C. MILPRF28001C
contains an Output Specification (OS) DTD that defines how FOSIs
are to be developed and interpreted.
The goal of the OS is to allow for the interchange of style and
formatting information between all types of publishing systems.
It describes a method for interchanging formatting requirements
for documents whose source files are tagged according to DTDs.
The OS DTD describes the rules that must be followed to develop
a FOSI. The FOSI specifies layout characteristics for page models,
and style characteristics for graphics, tables, and all other
elements. The categories of format and style characteristics
are represented in the OS DTD as elements. Individual characteristics
are represented as attributes on those elements. A FOSI is the
set of characteristics and values chosen from the OS DTD to represent
the formatting requirements for a particular type of document.
Characteristics are descriptions of the format of a document,
rather than commands that tell a formatting system what to do.
A FOSI is intended to specify
how a particular group of documents should be formatted. The
FOSI for that class of documents should be used any time data
need to be presented. If the same information needs to be used
for another purpose (it falls under a different class of documents),
a different FOSI would be used to present the data in the appropriate
format. A FOSI author must have
a background in typographic design and a working knowledge of
SGML. The most important qualification, however, is an intimate
familiarity with the requirements of the formatting and style
specifications for the class of documents that are to be represented
through the FOSI.
The figure below outlines the context of a FOSI analogous to the
DTD and the SGML document instance. In an SGML system, both the
DTD and the SGML document (and instance of the DTD), can be parsed
by an SGML validating parser. Similarly, the Output Specification
DTD and the FOSI ( an instance of the OD DTD) can be parsed.
A formatting engine would take the FOSI and the SGML instance
to produce the required formatted document.
From the diagram above, it can be seen that the FOSI is also an
SGML document, and specifies how another SGML file is to be formatted.
In certain contexts FOSIs provide a device-independent way to
specify semantic information. The FOSIs can be read by a typesetter
creating paper or a browser rendering characters on a graphical
device. It is up to the application utilizing the FOSI to provide
the system-specific information required to render the font and
style information. Although the FOSI provides the important service
of separating the formatting information from a specific output
device, it is limited in some aspects. It is sometimes necessary
to insert certain pre-processing steps in front of the SGML data
file that utilizes the FOSI. Further discussion of some of these
matters will be in the sections following the characteristics
and comparison sections that follow.
As mentioned earlier, in any generalized markup scheme, there
must be a method for associating processing specifications with
the SGML markup. This method of association allows the information
to be attached to specific instances of elements as well as to
general classes of element types. The primary goal of DSSSL is
to provide a standardized framework and methods for associating
processing information with the markup of SGML documents or portions
of documents. DSSSL is intended for use with documents structured
as a hierarchy of elements. The main objective of this international
standard is to provide a language for expressing formatting and
other document processing specifications in a formal and rigorous
manner so that these specifications may be processed by a broad
range of formatters, either natively or using a translation mechanism.
The Document Style Semantics and Specification Language (DSSSL)
is used to specify the formatting and transformation of SGML documents.
The initial focus of DSSSL is on formatting for both paper and
electronic media and on the transformation of SGML documents marked
up according to different DTDs. DSSSL may be used with any SGML
documents without requiring modifications or constraining the
document type definitions.
DSSSL enables formatting and other processing specifications to
be associated with elements in a source SGML file to produce a
formatted document for presentation. DSSSL consists of two main
components: a transformation language and a style language.
The transformation language is used to specify structural transformations
on SGML source files. For example, all the references quoted
in a book's chapter may be transformed with the transformation
specification, to appear at the end of a chapter rather than in
the footnote of a page. The transformation language
also can be used to specify the merging of two or more documents,
the generation of indices, tables of content, and other such applications.
While the transformation language is a powerful tool for gaining
the maximum use from document bases, the focus in early vendor
implementations as well as the focus of our work will be upon
the style language component. The figure shown below represents
the steps involved in the transformation process. The output
of the transformation process is a transformed resultant SGML
file. During the DSSSL transformation process, formatting information
may be added to the result of the transformation. This information
may be represented as SGML attributes. These, in turn, may be
used by the style language to create formatting characteristics
with specific value.
Figure 3.2-1 shown above illustrates the processes involved
in the transformation process. In the Grove Building process,
the input SGML document or subdocument is parsed and is represented
by a collection of nodes called a grove. A grove is similar to
an element tree, but may include other subtrees, for example,
a subtree of attribute values. Relationships in a grove are expressed
in terms of properties. The input to the transformation process
includes the SGML document as created during the grove building
step and the transformation-specification. The transformation-specification
consists of a collection of associations. Each association specifies
the transformation of like objects in the source document into
objects in the result grove. Key to this transformation is that
not only can each object be mapped to an explicit location in
the result grove, but also it can be mapped to a location using
the result of transforming some other source object as a reference
point. The output of the transformation process is the result
grove. The transformation process may operate on multiple SGML
documents as input to the process, and likewise may transform
them into multiple SGML documents. The transformation process
produces a grove that must be converted to an SGML document for
interchange, validation, and input to the formatting process.
The SGML generator is used for this purpose. The output of the
SGML generator shall be a valid SGML document.
The style language is a part of the areas of standardization
offered by DSSSL and is used for specifying the application of
formatting characteristics onto an SGML document. The process
that applies formatting and other formatting-related processing
characteristics to an SGML document is called the formatting process.
The term "formatting" is used to specify the process
that applies presentation styles to source document content and
determines its position on the presentation medium, the selection,
and reordering of content in the result document with respect
to its position in the input document, the inclusion of material
not explicitly present in the input document, such as the generation
of new material, and the exclusion of material from the input
document in the result document. The objective of DSSSL is to
provide a formal and rigorous means of expressing the range of
document production specifications, including high-quality typography
required by the graphics arts industry. It supports SGML applications
by providing a standardized architecture for the formatting specifications
because many users require a standardized approach for interchanging
the formatting and other processing information. DSSSL also can
be used for the extraction of information from SGML documents
for loading into databases. In other words, DSSSL defines a standard
way of describing the external appearance of SGML documents.
This process is controlled by the style-language-specification.
It is important to note that for the DSSSL style language and
the associated formatting process, DSSSL does not standardize
the process itself, but merely standardizes the form and semantics
of the style language controlling a portion of the process. The
remaining formatting functions, such as line-breaking, column-breaking,
page-breaking, and other aspects of whitespace distribution, are
not standardized and are under control of the formatter. Figure 3.2-2
shown below outlines the formatting specified by the style specification.
DSSSL defines the visual appearance of a formatted document in
terms of formatting characteristics attached to an intermediate
tree called the flow object tree. DSSSL allows enough flexibility
in the specification so that it is not tied to a set of composition
or formatting algorithms (i.e., line-breaking, page-breaking,
or whitespace distribution algorithms, used by any particular
formatting system). These aspects of the layout process are specific
to individual implementations. In this international standard,
line-breaking and page-breaking rules may be expressed in terms
of constraints and other formatting characteristics that govern
the formatting process. The output of the formatter, undefined
in this international standard, is a formatted document suitable
for printing or imaging.
The conceptual processes that constitute the formatting process
are building a grove from the SGML document, application of construction
rules to the objects in the source grove to create the flow object
tree, definition of page and column geometry, and composition
and lay out of the content based on the rules specified by the
semantics of the flow object classes and the values of the characteristics
associated with those objects.
The formatting process uses the same grove building step as the
transformation process to convert the SGML document into a grove
of hierarchically structured objects. The grove is then further
processed, using the construction rules, to create a flow object
tree consisting of flow objects with the appropriate formatting
and page-layout characteristics. Each flow object (except an
atomic flow object) has one or more sequences of flow object children.
Each sequence of flow object children is attached to a point
of a flow object called a port. Either the port is the principal
port of the flow object, or it may be named. A flow object class
defines a set of formatting characteristics that apply to some
category of flow objects. Each flow object class also defines
a set of port names. The class of a child flow object shall be
compatible with the class and port name of the port to which it
is attached. In constructing the flow object tree, the Standard
Document Query Language (SDQL) may be used to identify portions
of the SGML document that have specific formatting characteristics
as well as those that can be treated together for purposes of
flowing onto the same column or page. The content that is flowed
together is placed as a sequence of flow objects in a port of
the parent in the flow tree. The flow object classes and the
characteristics that apply to them define the formatting appearance
and behavior of the contents of the document.
A complete package for publishing using DSSSL would contain the
SGML source, corresponding to the structure of the source DTD,
the DTD corresponding to the virtual intermediate document that
is the result of the general language transformation, and the
DSSSL specification, which associates semantics to each logical
element according to the DSSSL document architecture.
As is the case with SGML, software is required to process the
information contained in DSSSL documents. A DSSSL formatter will
be able to generate the specification automatically and read and
apply them to conforming SGML documents. The instance of "page"
layout can be input for a text formatter, output in PostScript,
or generate an Standard Page Description Language (SPDL) instance.
DSSSL-Online is an application profile of DSSSL designed for the
formatting specification requirements of on-line SGML browsers
and editors. DSSSL-Online supports the basic features needed
to provide publisher-oriented formatting control of on-line displays
and a minimum set of page-oriented features needed to provide
utility printouts from browsers and editors.
Within the style language, it is possible to identify a number
of capabilities that for one reason or another should be considered
optional for early implementations. Recognizing this, the designers
of DSSSL designated certain features of the style language as
optional to make limited implementations possible. There is no
particular subset of the style language component within the standard.
This has been left to industry organizations and standards bodies.
DSSSL-Online is the first of such application profiles.
This report will also address issues pertaining to DSSSL-Online in the analysis and comparison matrices with the OS and the DSSSL.
The technique being employed in this report generates a global/universal
set of formatting requirements. The set will consist of the formatting
features necessary for the publishing of technical manuals. The
components of this set have been derived by considering all the
formatting features offered by five different composition WYSIWYG
systems. Also included in the formatting requirements are the
features addressed by the MILPRF28001C OS and DSSSL.
To arrive upon a set of formatting requirements to compare the
MILPRF28001 Output Specification and DSSSL, we must
carefully study the characteristics of each of these standards
and develop a matrix of comparison criteria. This generic set
of criteria must be able to expose the features that both of the
specifications address. This falls in line with our development
of an independent universal set of formatting requirements for
technical manuals. This analysis between the two specifications
results in the formation of a comparison matrix between the two
specifications. The Venn Diagram graphically illustrates the
methodology being employed in our comparison matrix. The matrix
will yield the different regions of the Venn Diagram and possibly
lend ideas for the implementation of a migration plan between
the two specifications. For the sake of brevity in the flowing
text of this report, detailed discussions of the individual attributes
are omitted. Only the main sections and their descriptions are
used. A comprehensive list of the characteristics and the attributes
is given in Appendix A for the Output Specification and for DSSSL
in Appendix B.
The goal of the OS is to allow for the interchange of style and
formatting information between all types of publishing systems.
It describes a method for interchanging formatting requirements
for documents whose source files are tagged according to DTDs.
A FOSI is the set of characteristics and values chosen from the
OS DTD to represent the formatting requirements for a particular
type of document. Characteristics are descriptions of the format
of a document, rather than commands that tell a formatting system
what to do. The information about the content/structure of the
document should already be rigorously described in a DTD. The
DTD defines the element types, the possible content/structure
the document can have using these element types, and the attributes
that can be associated with each element type. Formatting information
may be contained in a single functional specification or may appear
in a combination of specifications or other documents. A FOSI
is intended to specify, in general, how a particular class of
documents should be formatted. It does not specify with precise
fidelity how any particular document was actually formatted; this
level of precision is not required and is beyond the purpose of
a FOSI. Characteristics are, in general, descriptions of the
format of a document, rather than commands that tell a formatting
system what to do. For example, if a FOSI has a value of 10 for
the font size (size) characteristic for element
type A, this should be interpreted as follows: however your formatting
system works, make sure that font size 10 is used to process element
A. The FOSI should not be interpreted as saying: when you see
a starttag for element A, call a command that changes the
font size and give it a value of 10. This is a subtle, but extremely
important, distinction. The first interpretation allows any system
(including a human) to create the desired end result, while the
second interpretation allows for only systems with a specific
command language to easily create the desired result. In this
way, the OS does not presume to direct how a formatting system
should behave in order to accomplish the desired result.
The basic unit of data within the source document identified within
a FOSI is an element (qualified by its context and occurrence).
Additionally, attribute values associated with the element can
be identified. Once identified, an element is treated as whole.
The characteristics associated with the element through the FOSI
apply to all the content of that element. Every relevant element
and attribute in the source DTD should have an entry in the FOSI
describing how it is to be formatted. In processing a FOSI, there
should be no assumptions made about the source data.
This section will discuss the characteristics offered by MILPRF28001.
To completely specify all the formatting features offered by
the OS, we must look at all the characteristics, elements, attributes,
and the values those attributes can assume from the Output Specification
Document Type Definition. This section will detail the features
offered by each of the main sub section descriptions of the OS
DTD. These are
The resource description (rsrcdesc) gives document-wide
hyphenation rules (hyphrule), as well as descriptions
of character fills (charfill), counters (counter),
strings (stringdecl), and floats (floatloc)
that will be used throughout the FOSI. The attributes and the
values associated with them are listed in Appendix A. The hyphenation
rule category provides for setting various parameters for the
hyphenation process that will be used throughout the document.
The character fill category provides for describing literals
that can be used to fill a space horizontally or vertically.
The counter construct is used in the resource description to specify
the properties of a counter that will be associated with one or
more Elements In Context (eics) using the enumeration
(enumerat) category. The string construct is used
in the resource description to specify the properties of a text
variable that will be associated with one or more e-i-cs using
the savetext or usetext characteristic. The float construct is
used in the resource description to specify that an e-i-c's content
should float to some place in the output instance other than the
next available location in the Flowing Text Area.
The security description is used to specify security text in a
document. In the security description (secdesc),
the strings are established to be automatically generated for
the security text identified in the header and footer. To set
up these strings, the user must know the possible values for the
security attribute in the source DTD. Style and positioning characteristics
are specified for the string through the sectext portion of the
header and footer specification.
A description (pagedesc) specifies how the pages
are to look (the page model) and can be set up independently of
the content that goes on them. It describes the placement and
relationship of the areas in which the content is to be placed.
Development of the FOSI requires an analysis of the formatting
specifications for page layout to determine the sizes of these
areas and specification of the characteristics that control how
and when these areas are created on the page. The following formatting
requirements and their characteristics/features are listed below.
Page sets (pageset) provide the means to
specify automatic relationships between recto,
verso, recto with blank back, verso with blank front, and automatically
generated blank pages.
Page parameters provide layout areas within the page such
as width and depth of the page, the left and right margin, widths,
width of the flow text (though the flow text width is not explicitly
specified), different number of columns that are possible in the
flow text (flowtext) of a given page specification
(pagespec), the individual column widths for that
number of columns, gutter area width, top and bottom margins,
nominal and maximum depths for headers and footers, and finally
change markings (chgmark) area. Figure 4.1.3-1
shown below illustrates the various parameters that can be set
for a given page.
Page references are a shortcut for specifying a page model
when the only difference from another page model is the header
and footer information. Each page model can be assigned an unique
identifier through the page id (pgid) attribute.
A page reference then refers to this page model through the page
id reference (pgidref) attribute, and any header
and footer information additionally supplied overrides the header
and footer information in the referenced page model.
Headers and Footers typically contain text that is dependent
on document content, such as the technical manual identification
number and the chapter title. The headers and footers may be
specified to allow variable depth.
Positioning and Style of text placed in the header and
footers are determined by the subcharacteristics (subchar) specified
for puttext and usetext and the
vertical quadding (vquad) additionally specified
within the header or footer. For simple cases, where the text
is anticipated to be a single line, the quadding values are right,
left, center, in, and out for horizontal positioning, and the
vertical quadding values of top, middle, and bottom for vertical
positioning are used. This allows for nine positions relative
to the header or footer area.
For more precise positioning and handling of multipleline
text, a box is formed using prespace (presp) to specify
the distance from the top edge of the area, postspace (postsp)
to specify the distance from the bottom edge of the area, left
indent (leftind) to specify the distance from the
left edge of the area, and right indent (rightind)
to specify the distance from the right edge of the area. Quadding
can then be used to specify how the lines are positioned within
the box.
Security Classifications may be necessary in headers and
footers, which may vary depending on the content of the page or
sheet. This text is identified within the headers and footers
as security text (sectext). This text is special
because it is automatically generated based on the specifications
within the security description (secdesc).
Page Numbers are generated using the enumerate specification
in the page resource (pageres).
Footnote Areas can appear at the bottom of each column
or span the Flowing Text Area. This part of the page model characteristics
can specify the maximum amount of space that the footnotes can
take up within the column, the fixed amount of space that should
always appear between the text and the footnotes, length and thickness,
whether footnotes can break across pages, and whether footnotes
stay attached to the footer or the flowing text when a floating
figure or table appears at the bottom of the page.
Floating Elements, such as tables and figures, are thought
of as floating elements because they may appear in the resulting
formatted documents in a different position than where they occurred
in the source documents. Proper control of floating elements
greatly improves usability of information. The following are
a few of the situations that may arise for floating elements.
The OS is capable of handling such situations. Although these
are by no means the exhaustive list, they may be considered as
representative.
Note: An inline figure or table appears in the output in the same relative location as it is in the source document instance. It cannot be floated past other material to a place that might be more convenient in facilitating dense page layout.
The Style Description is used to specify formatting
characteristics for every element that may appear in the document.
A common approach is to look at the formatting specification
and determine the overall general requirements of formatting.
These requirements can be specified for the document description,
thereby providing documentwide defaults. Common sets of
requirements also can be specified for certain named environments,
for example, for front, body, and rear matter. The style description
allows for the unique requirements for element types in specific
contexts and specification for the eics for each.
The style description in the OS is very detailed and is governed
by various rules and formatting attributes. The purpose of this
study is to bring out the formatting requirements that the OS
caters to and compare it on an even plane with those offered by
DSSSL.
The following are the major categories of the style description
that are presented in MILPRF28001.
Document Defaults are used to specify formatting characteristics
for every element that may appear in the document. One approach
is to look at the formatting specification and determine the overall
general requirements. These requirements can be specified for
the document description, providing documentwide defaults.
Environments are useful when some set of characteristics
is common to many elements. Environments can be referred to by
any eic, and then only the differing characteristics
for that eic need to be specified.
Charsubsets are used if a group of characteristics (e.g.,
font, leading, wordspace) is used together often. One might want
to define a characteristic list subset (charsubset)
with the appropriate values and then refer to it by name in a
charlist. This subset would merge with the rest of the charlist.
Font is used to specify the style for text. It is possible
to specify the general style of the font. The font styles are
proportionallyspaced serif (serif), proportionallyspaced
sans serif (sanserif), monospaced serif (monoser), and monospaced
sans serif (monosans). In addition, it is possible to specify
the name of an actual font (famname) that the formatting
system can optionally select. Characteristics of the font include
posture, weight, proportionate width, upright, medium, and regular,
respectively. Another characteristic is a value for size, typically
in points. How the formatting system actually chooses a font
is based on the algorithms within the system. While the specification
describes font as a style modified by characteristics, it is common
for font libraries to include different actual fonts for upright
and italic versions. A detailed list of the characteristics and
attributes is given in Appendix A.
Leading is directly related to the font size. In this
specification, leading is measured from text baseline to text
baseline. Therefore, the value for leading should be at least
as large as the value for the font size, and is typically slightly
larger.
Hyphenation must be specified for each eic.
If it applies, the hyphenation characteristics specified in the
document description apply. The only characteristic that can
be overridden is the hyphenation zone.
Word spacing and Letter spacing are generally set
up for the document description and are rarely changed for a particular
element. Typically, word and letter spacing values are specified
with em (unit of size/distance) spaces. This allows word and
letter spacing to vary with the font in use.
Kerning is to be used by the composition system to specify
letter spacing. Pair kerning specifies an approach whereby kerning
pairs are looked up in a kerning table. Track kerning is a methodology
for placing the same amount of space between characters in a line.
Sector kerning is an algorithmic approach for placing space between
characters depending on the characters in the line.
Indents establish margins against which text can be positioned.
Specify the indents relative to the column area boundaries, or
specify indents relative to the text margins of the parent, for
example, in the case of nested paragraphs.
Quadding values of left, right, center, and justify represent
typical typographic positioning techniques. The values in and
out work exactly the same as left and right but leave the actual
determination of which side to the formatter based on the bind
edge. In and out are most commonly used in headers and footers.
Highlighting attributes like scoring, score weight (scorewt),
and score offset (scoreoff) are used for underlining,
overbars, and strikethroughs. Reverse, color, and screens
are used for special effects.
Change marks specify that either a bar or literal string
appears in the change mark area to denote changed text. Font
and highlight characteristics can be specified for the string;
there is no leading. The change mark literal fits on one line
with no line wrapping.
Prespace and postspace specify the space before and after
an element, respectively. Note that consecutive prespaces and/or
postspaces generally combine in such a fashion that only the highest
priority spacing (or, in the case of equal priorities, the largest
dimension) in a series takes effect. Some planning for prespace
and postspace values will ensure that the FOSI reflects the formatting
requirements.
Keeps should be used with discretion because it is very
easy to specify unrealistic expectations for the formatter. Because
the content of the document is unknown, such a requirement may
be impossible to fulfill. Keep is turned on for elements that
fit on a single page. A more common formatting requirement is
to keep some pieces of adjoining elements together on a page,
for example, to keep a title with the first two lines of the following
paragraph. This type of requirement can be specified with keep
next, keep previous (prev), widow count (widowct), and orphan
count (orphanct).
Vertical justification parameters are used in performing
vertical justification where the formatter may need to make some
adjustments in order to balance the text in the columns. In general,
a formatter should attempt to honor all specifications for an
element's prespace, postspace, and keeps.
Text breaks (textbrk) typically include
a formatting specification that explicitly states requirements
for starting text on new columns or pages, such as starting chapters
on a new page. This can be specified with start column (startcol)
and start page (startpg). In addition, the page model (e.g.,
foldout pages) to be used when starting on a new page can be specified.
The OS makes no assumptions about whether or not elements start
on a new line. This information must be explicitly specified
for each element that starts on a new line.
Spans are used to specify that text normally placed within
a single column in the Flowing Text Area should span all the columns.
Note that tables, footnotes, and graphics have special characteristics
for specifying their width.
Borders that always appear on a particular type of page
should be specified in the page specification (pagespec).
In addition, the occurrence of certain elements on a page may
trigger the appearance of a border as, for example, with emergency
information. Border patterns are specified with a name, which
is described in the declaration subset of the FOSI.
Rules are used for inline rules within paragraph text,
for example, as in a signature line. Multiple rules can be specified
on a single eic; each specification draws one rule.
Character fills are used mainly for leader dots. Character
fill patterns are specified in the resource description to set
up how the fill string looks and to assign the string a unique
name.
Automatic numbering is typically specified for structural
elements such as chapters, sections, paragraphs, and steps, as
well as tables, figures, and footnotes. In a FOSI, counters are
set up that can be referenced by an eic such that
the actual value is maintained by the formatter. The counter
element in the resource description (rsrcdesc)
is used to set up each counter.
Suppressing text is used for text that is marked up in
the source document that is intended to be used for some purpose
other than in the normal text flow. Typically, the text is saved
with a savetext so that it can be used elsewhere.
Puttext is used when the formatting specification
requires the generation of a standard piece of text with each
occurrence of an element as, for example, with the note heading
for a note. This text does not appear in the source document
itself; however, by specifying it in the FOSI, the use can be
ensured that it is consistent throughout the document.
Putgraph is used when graphics appear in the document
that are not part of figures, such as the DoD seal. Putgraph
allows identification of these graphics and specifies how they
appear in running text.
Savetext allows for saving the content of an element for
use elsewhere in the document, for example in the header, footer,
or table of contents. The content also still appears in the Flowing
Text Area in its normal sequence (unless inhibited by use of the
suppress category). Savetext can be used to save combinations
of other saved text, saved counters, pseudoelements, and
literals. Usetext is used to retrieve the saved text and specify
how it is used.
String construct is used to specify the properties of a
string that will be associated with one or more e-i-cs using the
savetext or usetext category. All variables that are time independent
(i.e., have the same value regardless of when they are used) must
be specified with their time status attribute set to "1".
The scope attribute can be used to indicate an element
name after which all uses of the string should be resolved.
The graphics description is used to specify various characteristics
and attributes for the formatting of graphic elements in an SGML
instance. The various characteristics can be grouped as shown
below:
Reproduction area dimensions,
Graphic sizing,
Text block, and
Placement.
Reproduction area dimensions
give information about the size of the reproduction area (the
area on the presentation media) in which the graphic is to be
placed. The characteristics are width and depth.
Graphic sizing gives
information concerning constraints on how to modify the size or
view of graphics to be placed in the reproduction area. The following
characteristics apply: Graphic Name, Horizontal Scaling, Vertical
Scaling, Scale to Fit, Lower Left Coordinates, and Upper Right
Coordinates.
Text block gives information
concerning the size and reference point of a text block (textblock).
The attributes are Text Block Width, Text Block Depth, Horizontal
Reference Point, and Vertical Reference Point.
Placement specifies
information concerning constraints on where and how to place graphics
or text blocks with respect to the reproduction area. The attributes
are Horizontal Placement, Vertical Placement, Start Coordinates,
End Coordinates, and Rotation.
A table is a rectangular, two-dimensional grid. Its horizontal
and vertical dimensions may or may not have uniform measures;
they may be determined from the source document instance, the
FOSI, or both. The objects within a table are table subset groups,
table subsets, columns, rows, and cells. A table is the entire
rectangle that takes up space in the Flowing Text Area. Characteristics
of the table control the frame. A table subset group (tgroup)
is a set of table subsets containing an optional heading subset,
an optional footing subset, and one or more body subsets. A table
subset is a set of contiguous rows within a table such as the
header, footer, or body of a tgroup. There is no space between
table subsets in a table. There are three types of table subsets
- heading, footing, and body subsets.
Tables present unique formatting characteristics. Tables are
important in technical manuals because they contain and present
a large amount of data in a format that shows relationships among
the data. The characteristics for tables allow for robust and
discretionary access and manipulation of data contained within
tables, and facilitate exchange with, and use within, databases.
The table description is used to describe the organization and
formatting of an actual table, that is, data organized into a
two-dimensional grid. Any associated information, such as title,
is described in the style description.
A cell is the intersection of a column and row and forms the basic
area into which table content is placed. Characteristics of the
cell control the column and row separators, margins, and alignment.
Two aspects of specifying the style of a table are geometric and
text composition. The geometric aspect includes the number of
columns, rulings, and margins. The text composition aspect includes
font, positioning of text within cells, and generally those characteristics
that can be applied to text. Both of these kinds of characteristics
can be specified in the FOSI. Special table characteristics are
provided to control the style of the table itself. Composition
characteristics are used to specify the style of the content.
In general, there is a unique set of characteristics for each
table object. In addition, there is a set of standard cell characteristics
(stdcellatts) that control the characteristics of a cell but can
be specified on any table object. These characteristics include
column and row separators, margins, and alignment.
Table characteristics, listed below, are unique to tables,
and may be used in conjunction with composition characteristics
to fully specify the output of tables. Characteristics that apply
specifically to the table element are as follows:
Table Style,
Width Type,
Specific Width,
Relative Width,
Frame List,
Frame Thickness, and
Frame Style.
Cell characteristics apply to cells. They may be specified
on any table object and apply to the cells within the scope of
that object.
Column Separator On,
Row Separator On,
Column Separator Width,
Row Separator Width,
Column Separator Style,
Row Separator Style,
Left Margin,
Right Margin,
Top Margin,
Bottom Margin,
Horizontal Alignment,
Vertical Alignment,
Alignment Character,
Alignment Character Offset,
Reverse,
Background Color,
Shading,
Rotation, and
Text Width.
Table subset characteristics apply specifically to table
subsets.
Number of Columns,
Keep,
Boundary, and
Subset Type.
Column Characteristics apply specifically to table columns.
Column Width,
Column Number,
Column Name,
Span Name,
Start Column Name, and
End Column Name.
Row characteristics apply specifically to table rows.
Break Row.
In the footnote description, the eics that describe
the elements (or pseudoelements) will cause their contents
to be placed in the footnote area of the page on which these elements
are used. Associated with each eic in the ftndesc
is a set of footnote attributes that contains a
charlist (minus keeps and span) that specifies the formatting
of the footnote content itself. More precisely, the contents
(e.g., the charlist) of the eic in
the ftndesc determine the characteristics for what gets placed
in the Flowing Text Area when this eic instance is
encountered.
DSSSL enables formatting and other processing specifications to
be associated with these elements to produce a formatted document
for presentation. The style language is a part of the areas of
standardization offered by DSSSL and is used for specifying the
application of formatting characteristics onto an SGML document.
The process that applies formatting and other formatting-related
processing characteristics to an SGML document is called the formatting
process. This process is controlled by the style-language-specification.
It is important to note that for the DSSSL style language and
the associated formatting process, DSSSL does not standardize
the process itself, but merely standardizes the form and semantics
of the style language controlling a portion of the process.
DSSSL defines the visual appearance of a formatted document in
terms of formatting characteristics attached to an intermediate
tree called the flow object tree. DSSSL allows enough flexibility
in the specification so that it is not tied to a set of composition
or formatting algorithms (i.e., line-breaking, page-breaking,
or whitespace distribution algorithms) used by any particular
formatting system. The conceptual processes that constitute the
formatting process are building a grove from an input SGML document,
application of construction rules to the objects in the source
grove to create the flow object tree, a definition of page and
column geometry, and finally the composition and layout of the
content based on the rules specified by the semantics of the flow
object classes and the values of the characteristics associated
with those objects. Each flow object (an instance of a flow object
class) is finally formatted to produce a sequence of areas having
explicit dimensions and positioned by a parent in the flow object
tree.
The concept of an area is used to give semantics to flow objects.
The result of formatting a flow object other than the root flow
object is a sequence of areas. The nature of these areas is not
fully specified by this international standard. An area is a
rectangular box with a fixed width and height. An area is also
a specification of a set of marks that can be imaged on a presentation
medium. An area may contain other areas. In particular, an area
may contain a glyph. Information may be attached to areas depending
on the flow object that produced the area and the context in which
it is to be used. Areas are of two types: display areas and
inline areas. Display areas are areas that are not directly parts
of lines. A display area has an inherent absolute orientation.
Inline areas are areas that are parts of lines. Each type of
area is placed in a different way. For an illustration of the
concept of displayed and inlined areas, please see Figure 4.2-1.
A flow object class defines a set of formatting characteristics
that apply to some category of flow objects. Each flow object
class also defines a set of port names. The class of a child
flow object shall be compatible with the class and port name of
the port to which it is attached. The flow object classes and
the characteristics that apply to them define the formatting appearance
and behavior of the contents of the document. An in-depth look
at the required and optional flow object classes defined by the
DSSSL will yield a matrix of formatting capabilities offered by
this standard. The characteristics associated by each flow object
class define clearly the various options and functionality that
each flow object offers toward formatting.
To study the formatting requirements offered by DSSSL and to stay
within the scope of the comparison with the Output Specification,
we must look at the capabilities of DSSSL for various types of
formatting. The optimum way of achieving this is to restrict
the scope of formatting requirements in DSSSL to the style language
process and extract all the flow object classes that DSSSL addresses.
These can be used to form the comparison matrix with the MILPRF28001
Output Specification.
The following are the flow object classes defined by DSSSL along
with their descriptions.
Sequence flow object class is formatted to produce the
concatenation of the sequence areas produced by each of its children.
Display-group flow object class is formatted to produce
the concatenation of the display areas produced by each of its
children. It has a single principal port. Its children shall
all be displayed, and it is itself displayed.
Simple-page-sequence flow object class is formatted to
produce a sequence of page areas. The simple-page-sequence flow
object is intended for systems that wish to provide a very simple
page layout facility. More complex page layouts can be obtained
with the page-sequence and column-set-sequence flow object classes.
A simple-page-sequence may have a single-line header and footer
containing text that is constant except for a page number. A
document can contain multiple simple-page-sequences.
Page-sequence flow object class is formatted to produce
a sequence of page areas. The structure and positioning of the
page areas shall be controlled by page-models. A few of the types
of pages that DSSSL is capable of formatting are shown in the
below figures.
Column-set-sequence flow object class is formatted to produce
a sequence of column-set areas. A column-set area is a display
area. A column-set area is produced by creating and filling an
area container. A column-set area contains a set of parallel
columns. Typically, column-set areas may be used to fill page-regions;
however, column-set areas may also be used to fill other column-set
areas. The structure and positioning of each column-set area
shall be controlled by the column-set-model to which it conforms.
Paragraph flow object represents a paragraph. The contents
of this port may be either inlined or displayed. Inline flow
objects are formatted to produce line areas. Displayed flow objects
implicitly specify a break, and their areas shall be added to
the resulting sequence of areas. A paragraph flow object may
only be displayed .
Paragraph-break flow object class can be used to make a
paragraph flow object represent a sequence of paragraphs. The
paragraphs are separated by paragraph-break flow objects, which
are atomic. Paragraph-break flow objects are allowed only in
paragraph flow objects. The characteristics of a paragraph-break
flow object determine how the portion of the content of the paragraph
flow object following that paragraph-break flow object up to the
next paragraph-break flow object, if any, is formatted.
Line-field flow object class is inlined and has inline
content. It produces a single inline area. The width of this
area is equal to the value of the field-width: characteristic.
If the content of a line-field area cannot fit in this width,
then the area grows to accommodate the content, and if the line-field
occurs in a paragraph, there shall be a break after the line-field.
Sideline flow object class is used to contain flow objects
that have an attachment area consisting of a line parallel to
the placement direction. A sideline flow object has a single
principal port that can contain both inlined and displayed flow
objects. For each display area produced by its content, the sideline
flow object adds an attachment. For each inline area produced
by its content, the sideline flow object annotates that area so
as to cause the paragraph in which the flow object occurs to add
an attachment area to the line in which that inline area occurs.
Anchor flow object class serves in a flow object to be
synchronized.
Character flow object class is comprised of character flow
objects that are atomic. Flow objects of this class can only
be inlined.
Leader flow object class has a single principal port containing
the inline flow objects to be repeated.
Embedded-text flow object class is used for embedding right-to-left
text within left-to-right text or vice-versa.
Rule flow object class is used to specify a straight line.
Rules may be inlined or displayed.
External-graphic flow object class is used for graphics
contained in an external entity. Flow objects of this class may
be inlined or displayed.
Included-container-area flow object class results in a
sequence of one or more areas, each of which is specified as an
area container. The size of the container shall be fixed in the
direction perpendicular to the area container's filling-direction.
Score flow object class consists of a single port whose
contents are scored.
Box flow object class may be used to put a box around a
sequence of flow objects. The box flow object is either displayed
or inlined depending on the value of the display?: characteristic.
If the box is displayed, then the port shall accept any displayed
flow objects. If the box is inlined, then the port shall accept
any inlined flow objects.
Side-by-side flow object class requires the side-by-side
feature. A side-by-side-item flow object is always displayed.
It has a single principal port whose contents are displayed.
The display-size of the content is the same as the display-size
of the side-by-side.
Glyph-annotation flow object class is mainly used for characters,
words, or phrases that have an associated description of their
meaning or pronunciation. The annotation is placed on the before
side in the line-progression direction of the annotated glyphs.
A glyph-annotation flow object that has more than one annotated
glyph shall not be broken between lines.
Alignment-point flow object class specifies an explicit
alignment point for paragraphs with a first-line-align
characteristic being true.
Aligned-column flow object class is used for grouping together
externally aligned paragraphs. An aligned-column is displayed.
It has a single principal port that may contain any displayed
flow objects. Displayed flow objects in the port that are not
externally aligned paragraphs shall be formatted normally.
Multi-line-inline-note flow object class is used for placing
a note inline. A multi-line-inline-note consists of an open parenthesis
in approximately the same size as the glyphs before the note,
two lines placed one before the other in the line-progression
direction with the contents in a smaller size than the surrounding
glyphs, and a close parenthesis in the same size as the open parenthesis.
Emphasizing-mark flow object class is used for emphasizing
characters, words, or phrases. Each emphasizing-mark shall be
placed on a path that is perpendicular to the line-progression
direction and that lies before the placement path in the line-progression
direction. This path is called the emphasizing-mark placement
path.
Flow object classes for mathematical formulae are math-sequence,
unmath, subscript, superscript, script, mark, fence, fraction,
radical, math-operator, and grid. These flow objects may also
be used for "linear" chemical formulae. Character flow
objects are used for characters in mathematical formulae; there
is no special flow object class for this. Characteristics such
as font-size: or font-posture: are determined in the usual way
by the characteristics of the character flow object.
Flow object classes for tables are used for specifications
for tabular formatting. They make use of the following flow object
classes: table, table-part, table-column, table-row, table-cell
and table-border.
Flow object classes for on-line display are used for the
specification of formatting in electronic delivery.
DSSSL-Online is an application profile of DSSSL designed for the
formatting specification requirements of on-line SGML browsers
and editors. DSSSL-Online supports the basic features needed
to provide publisher-oriented formatting control of on-line displays
and a minimum set of page-oriented features needed to provide
utility printouts from browsers and editors.
This section summarizes the features and flow object classes that
must be supported by a minimally conformant DSSSL-Online application.
Because DSSSL-Online is an application profile and because many
flow object classes are optional in DSSSL, the comparison matrix
is constructed making certain assumptions. DSSSL-Online is considered
to contain only the Core DSSSL components and those options that
are deemed necessary for on-line electronic delivery. A discussion
of the flow object classes and their characteristics is avoided
because they have been discussed already in the DSSSL section
and are detailed in the Appendix.
Basic Flow Object Classes
DSSSL Options Required in DSSSL-Online
DSSSL Options Not Required in DSSSL-Online
As mentioned earlier, the construction of a comparison matrix
requires a set of comparison criteria against which features offered
by DSSSL and the Output Specification will be evaluated. Using
the information presented so far in the preceding sections and
the detailed set of characteristics in Appendices A and B, we
have derived the following set of criteria for evaluation. The
criteria are intended not to be too detailed so that this matrix
is not cluttered with detailed attributes and their values. The
matrix will also attempt to highlight the areas covered by one
specification over the other. Key formatting requirements are
discussed in a section following the matrix.
| |||
General Document Wide Formatting | |||
Hyphenation | |||
Counters | |||
Floating Locations | |||
Security Text | |||
Word and Letter Spacing | |||
Kerning | |||
Indents | |||
Quadding | |||
Highlighting | |||
Keeps | |||
Spanning | |||
Borders | |||
AutoNumbering | |||
String | |||
Change Package Functions | |||
Security Classifications | |||
Page Layout Formatting | |||
Page sizes | |||
Top and Bottom Margins | |||
Left and Right Margins | |||
Columns | |||
Page Numbers | |||
Headers | |||
Footers | |||
Title Pages | |||
Justification | |||
Orientation | |||
Blank/Recto/Verso | |||
Change Markings | |||
Security Text | |||
Flowing Text | |||
Gutter Area | |||
Border Area | |||
Binding Edges | |||
Paragraph Formatting | |||
Named Styles | |||
Top and Bottom Margins | |||
Left and Right Margins | |||
Indentation (left, right, in, and out) | |||
Default Character Style | |||
Line Spacing | |||
Align (left, right, and center) | |||
Page Breaks | |||
Word Spacing Control | |||
Tabs | |||
AutoNumbering | |||
Line Numbering | |||
Shading | |||
Hyphenation Control | |||
Quadding | |||
Prespace/Postspace | |||
Line Wrapping Control | |||
Line Truncate Control | |||
Widow-Count | |||
Orphan-Count | |||
Language | |||
Country | |||
Writing-Mode | |||
Paragraph Breaks | |||
Character Formatting | |||
Named Character Styles | |||
Font Name | |||
Font Size | |||
Bold/Underline/Strike | |||
Bold Weights | |||
Italic/Other Angles | |||
Dotted Underline | |||
Overbar | |||
Revision Marking | |||
Pair/Track Kerning | |||
Color | |||
All Capitals | |||
Shadow | |||
Math-Font-Posture | |||
Hyphenation Control | |||
White Spaces | |||
Ligatures | |||
Math-Classes | |||
Language | |||
Country | |||
Table Formatting | |||
Named Table Styles | |||
Page Breaks (before, after, and with) | |||
Force Page/Column Break | |||
Column Width | |||
Top and Bottom Margins | |||
Left and Right Margins | |||
Align (left, right, and center) | |||
Widow-Orphan Control | |||
Header/ Footer Rows | |||
Table Border Rules | |||
Border Style | |||
Table Auto Width | |||
Border Rounded Corners | |||
Table Part Formatting | |||
Table Row Formatting | |||
Page Break | |||
Force Page/Column Break | |||
Table Column Formatting | |||
Column Number | |||
Spanned Columns | |||
Alignment | |||
Indents | |||
Table Cell Formatting | |||
Ruling (left, right, top, and bottom) | |||
Straddling | |||
Margins in Cells | |||
Shading | |||
Orientation of Text | |||
Background Color | |||
Line Patterns | |||
Line Thickness | |||
Float Out Marginalia | |||
Graphics Formatting | |||
Displayed/Inlined | |||
Dimensions | |||
Horizontal Graphic Scaling | |||
Vertical Graphic Scaling | |||
Scale to Fit | |||
Coordinates | |||
Text Block Width | |||
Text Block Depth | |||
Horizontal Placement | |||
Vertical Placement | |||
Security Text | |||
Headers | |||
Footers | |||
Embedded Text | |||
Direction | |||
Line Breaks | |||
Box Formatting | |||
Display/Inlined | |||
Color | |||
Corners Rounded | |||
Line Types | |||
Side By Side Items | |||
Glyph Annotation | |||
Placement | |||
Style | |||
Notes | |||
Layout Driven Generated Text | |||
Asian Language Options | |||
Footnotes | |||
Single Column | |||
Multiple Column | |||
For Each Text Column | |||
Anchoring | |||
Tables in footnotes | |||
Mathematical Formulae | |||
Superscript | |||
Subscript | |||
Alignment | |||
Mark | |||
Fence | |||
Fraction | |||
Radical | |||
Math Operator | |||
Grid | |||
Grid Cell | |||
Interactive Electronic Delivery | |||
Vertical Scroll | |||
Filling Direction | |||
Multimode Presentation | |||
Link | |||
Marginalia |
One of the salient points of difference between the two specifications
lies in the support for mathematical elements. The MIL-PRF-28001
OS and Presentation Specification (PS) do not support the specification
of formatting characteristics for mathematical elements. When
creating an SGML-tagged source file tagged for a specific document
or contract, mathematical elements must be handled in one of four
ways:
For additional information on tagging of mathematical notation,
see MILHDBK28001.
Other salient features not addressed completely by the Output
Specification include
In the August 1995 meeting of the Output Specification Committee
of the CALS Industry Steering Group (ISG) Electronic Publishing
Committee (EPC), discussions were held on the direction of the
Output Specification. There is a possibility of the development
of four separate OSs. They would be the current OS, an OS to
support Electronic Technical Manuals (ETMs) and Interactive Electronic
Technical Manuals (IETMs), an OS to support change processing,
and one for a series of simple subsets. In its current version,
under the draft MILPRF28001C however, it is our understanding
that these subsets are not being added. Some members of the committee
feel that the OS should retain its current form with security
enhancements and ETM (without IETM capability) and move ahead.
The justification for this is that a FOSI is capable of doing
80% of the processing needed for a technical manual, which is
more than most users expect out a formatting mechanism.
While on the same topic, it is necessary to point out that neither
DSSSL nor DSSSL-Online addresses the problem of change processing
as applied to technical manuals. It is of the opinion that the
issue is one of formatting and not really one relevant in a structured
formatting specification as DSSSL.
Support for other languages is one aspect that the Output Specification
does not address. DSSSL on the other hand addresses this issue
quite well and lends support for features like right-to-writing
mode, Asian languages, etc. It is probably felt that such a capability
is really not of great importance in the DoD realm, but it is
a feature of DSSSL not reflected in the OS.
The following features of DSSSL that are not a requirement in
DSSSL-Online are complex typographic feature, bidi options, Asian
language options, complex SGML options, and mathematical options.
DART is acronym that stands for DSSSL Assessment Repository Tool.
DART uses the above matrix (Table 4.4-1) organized into
the specific characteristics of the OS and flow object classes
of DSSSL. Under each characteristic or flow object class subset,
a concise set of information known as metadata is displayed.
This metadata includes a hyperlink that displays information about
the particular feature or flow object class characteristic in
the other specification. The information repository is constructed
atop a hypertext transport protocol server so that it may be accessed
by anyone over the Internet. We have used a product called MOREplus
for the design and implementation of this repository.
MOREplus is an information management tool consisting of a set
of user interface executables that operate in conjunction with
hypertext servers to provide access to a relational database.
It can best be described as the core component of corporate or
project information systems. The MOREplus user interface, from
browsing and searching to presenting and organizing stored information,
is provided by World Wide Web browser clients. The system administration,
functionality necessary to add and update information, users,
and other administrators, is also accessed through common browsers.
Look and feel can be customized to include company or division
logos through a TCL (Tool Command Language) layer that is manipulated
without recompilation. Information can be organized to meet a
variety of classification needs. Access to data is achieved through
hypertext links that take the user to database records or to sites
maintained on the Web for information not physically stored within
the database. Access to proprietary or sensitive data can be
restricted to designated groups of users and administrators.
MOREplus offers both natural language and pattern match searches
as well as hierarchical and alphabetical classification browsers.
MOREplus is a commercial spin-off of the Multimedia-Oriented Reuse
Environment (MORE), which was designed and built under the Repository-Based
Software Engineering Program. MORE's design and continuing evolution
focuses on the needs of software reuse libraries and exists as
a research and development platform.
Figure 4.6-2 shows a Netscape 2.0 browser displaying
a list of collections available under the MILPRF28001C
part of the repository. The DART tool can be accessed over the
Internet towards the end of May 1996. The Uniform Resource
Locator (URL) address is http://www.mantech-wva.com/MP10b1/.
The repository is established as a part of the Defense CALS Network/International
CALS Network (DCN/ICN) and also can be accessed from the DCN/ICN
site.
MILM38784C is a military specification titled Manuals,
Technical: General Style and Format Requirements. The specification
covers the general style and format requirements for the preparation
of technical manuals and changes to standard technical manuals.
In addition to paper delivery, electronic delivery of documents
via a specific DTD is detailed in its appendix.
Technical manuals are publications that contain instructions for
the installation, operation, maintenance, training, and support
for weapon systems, weapon systems components and support equipment.
Three types of technical manuals are addressed by MILM38784C.
These are Review Draft Copy, Preliminary Technical Manuals, and
Final Reproducible Copy. MILM38784C explains the
formatting requirements for these three forms of technical manuals.
Detailed descriptions of these requirements can be found in MILM38784C
and have therefore been omitted. The headings used in MILM38784C
have been retained for easy reference to the detailed formatting
characteristics. A comparison matrix that considers the requirements
of technical manuals and addresses them against MILPRF28001C
and DSSSL is given in Appendix C. The matrix is a result of carefully
looking at the formatting requirements and analyzing whether the
OS or DSSSL can handle them.
The evolution of this composition specification was driven by
the DoD infrastructure program Joint Continuous Acquisition and
Life-Cycle Support (JCALS), and by the need in JCALS to compose
SGML encoded documents. The JCALS program in particular was important,
because the first application area it targeted for implementation
was technical manuals. The OS was used to create a Formatting
Output Specification Instance (FOSI), which along with the SGML,
provided an encoded document that could be processed by a composer.
The continued development of the MILM28001 specification
from that early draft in 1987 was supported by a joint industry,
government, and vendor team that included DoD, the Industry Steering
Group's (ISG's) Electronic Publishing Committee (EPC) within the
ISG Standards Division, and the SGML documentation vendors supporting
the JCALS program. Concurrently the DSSSL language also evolved,
and the DoD/ISG team made every effort to remain aligned with
the DSSSL work to ensure the eventual migration from the OS/FOSI
to DSSSL. This was problematic, however, because the DSSSL committee
changed its technical approach and the OS and DSSSL diverged-the
OS because of implementation requirements, and DSSSL because of
technical evolution. Due to the dynamics of the changes within
DSSSL, the schedule for its release was significantly prolonged,
as evidenced by its eventual publication in 1995. This had several
effects. First, the JCALS program needed to become operational
and based its first implementation on the CALS OS. Second, the
JCALS vendors were required to implement the OS within their products.
Third, other vendors were reluctant to support the OS in anticipation
of the eventual publication of DSSSL. The result of this situation
was that the CALS OS was being implemented only in the DoD environment
via a military specification.
Subsequently, the DoD and ISG jointly developed a CALS Standards
Management Plan (CSMP) as a working management tool for management
of the standardization documents and the eventual migration of
the CALS standards profiles and requirements into the official
international standards. The CSMP was first drafted in June 1994
and remains in use today.
In the development of publishing and distribution systems, simply
using open standards is not enough. SGML does not, in and of
itself, provide a solution for the standardized printing, publishing,
and distribution of either paper or electronic documents. Instead,
it provides a mechanism for creating a solution based on an open
standard (ISO 8879). In simplistic terms, an SGML document that
is created and published with one software package is not likely
to look (and in the dynamic case, act) the same when viewed with
another software package. This is true even for the case of simple,
static, page-oriented publications, because the development and
support of stylesheet standards has not yet matured within the
vendor community. Specifically, the Output Specification in MILPRF28001
was never widely implemented in the vendor community (two well-known
vendors that support the OS are ArborText and Datalogics), and
the ISO DSSSL standard has only recently been approved (on the
positive side, however, a number of SGML vendors have expressed
their commitment to implement DSSSL).
Active participation from the vendor community is vital for the
successful development and implementation of publishing projects
with either the OS or DSSSL. The Output Specification in MILPRF28001
was designed to be a stopgap temporary arrangement for the publishing
of technical data manuals in the CALS domain, while the rest of
the community waited eagerly for DSSSL. Furthermore, it was discovered
that the different vendors have not interpreted all aspects of
the OS in the same way, resulting in FOSIs that are not directly
interchangeable. With only the recent release for publication
of the DSSSL standard, products conforming to DSSSL are still
in their infancy and are expected to establish themselves in the
later part of this year. Our study has shown the major vendors
of SGML products have a definite commitment to developing DSSSL
translators, formatters, and style language interpreters. A DSSSL
conforming formatter will be able to generate the style specification
for publishing automatically and apply it to conforming SGML documents.
The final rendering of "page" layout can be output
to a variety of forms like a text formatter, Postscript, PDF or
even generate an SPDL instance. It is our belief that the tremendous
interest and anticipation for DSSSL in the SGML arena is not without
reason, and we expect DSSSL to be the undisputed (likely and logical)
specification of choice in SGML publishing for either paper or
electronic delivery.
The resource description gives document wide hyphenation rules, establishes strings, and provides descriptions of character fills, counters, and floating locations that will be used throughout the FOSI. | |||
The process of breaking a word at the end of a line of text for purposes of line justification. | |||
Using the language attribute and the language characteristic, any element-in-context can refer to a particular one of multiple hyphenation rules, thereby allowing the user to change hyphenation schemes within a document. | |||
The dictionary attribute allows one to specify a (non-exception) dictionary, since with multiple hyphrules, there can be multiple (non-exception) dictionaries. Exactly how this dictionary is accessed and what its format may be depends on the value of the hyphenation type characteristic and the output system. | |||
A specification for preferred hyphenation points. | |||
A specification for words with no allowable hyphenation points. | |||
Characters which can be broken before or after without inserting a hyphenation character. | |||
Characters which can be broken before a hyphenation character. | |||
Characters before or after which it is not legal to break. | |||
Specification of the method for making hyphenation decisions. | |||
Specifies the amount of space from the margin that can be left by choosing not to hyphenate. | |||
The number of consecutive lines in a column that can end with a hyphenation. | |||
An integer specifying the minimum characters that may be left on a line. | |||
An integer that specifies the minimum characters required to be pushed onto the next line in a hyphenated line. | |||
A Boolean that specifies whether hyphenation is allowed across columns. | |||
A Boolean that specifies whether hyphenation is allowed across pages. | |||
Describes a literal used to fill a space horizontally or vertically. The literal specifies the character (or string of characters) that will be repeated some number of times (depending partly on other character fill characteristics) to fill the available space in the current constrained area in the output. It is allowable, and often useful, for the literal to be a space. | |||
A string specifying the character literal. | |||
Specifies the direction of the fill. Vertical fill is down from the baseline while a horizontal fill is to the right of the cursor. | |||
Symbols Ragged Left, Ragged Right, Ragged Left/Flush Right, Flush Left/Flush Right, and Flush Left/Ragged Right. This characteristic determines where the literal begins and ends. Ragged specifies that the literal begins and/or ends immediately after and/or before the text it abuts. Flush specifies that all literals begin and/or end at a margin determined by the longest text before and/or after the literal. | |||
A length specifying the minimum spacing before the first occurrence of the specified literal in the fill. | |||
A length specifying the spacing after the last occurrence of the specified literal in the fill. | |||
A length specifying the spacing between occurrences of the specified literal. | |||
A Boolean specifying whether the last copy of the literal string can be truncated. | |||
An integer that specifies if a fill is to be applied if less than this number of literal strings occur. | |||
A Boolean that specifies the vertical alignment of the fill literal. | |||
A unique name for the character fill. | |||
Minimum number of the copies of the literal to fill. | |||
Symbols none, before, within, beforewithin, withinafter, beforeafter, and any, that specify where line breaks are permitted. The Break characteristic determines where line breaks are permitted with respect to the charfill. If Break is After, then any necessary line break should occur immediately after the charfill. If Break is Before, then any necessary line break should occur immediately before the charfill. If Break is Within, then any necessary line break should occur within the charfill subject to the constraints put on it by the Minimum Count characteristic. If Break is of BeforeAfter, BeforeWithin, or WithinAfter, then line breaks are allowed in either of the two locations indicated by the characteristic value's name. If Break is None, then the charfill is unbreakable and breaks are disallowed both immediately before and after it (though if this over-constrains the composition process, the results are output system dependent). If Break is Any, then a break may occur anywhere before, within, or after the charfill. | |||
The counter is a construct used to specify the properties of a counter that will be associated with one or more elements-in-context using the enumerate category. | |||
The initialized value of the counter. | |||
Styles (Arabic, Roman Upper, Roman Lower, Alpha Upper, Alpha Lower, and User Definer) in which the counter is to be displayed. | |||
A user defined list of characters or symbols in order of precedence. | |||
Used to describe the sequence for alphabetic display of counters exceeding 26. | |||
Used to describe the minimum number of characters in the string resulting from the conversion of a counter into Arabic style. This is a positive integer giving the desired final length in characters of the string that gets placed in the output stream whenever the counter is used in a usetext source. | |||
Used to list any excretions to the style or sequence. | |||
A unique name assigned to a counter. | |||
Used to specify the properties of a string that will be associated with one or more elements-in-context using the savetext or usetext categories. | |||
A unique name for the saved text. The savetext name follows the same rules as that for the savetext category. | |||
The initial string value. The Literal follows the same rules as that for the Puttext category. | |||
Indicates whether this variable is time dependent (0) or time independent (I). | |||
Indicates whether the Savetext Name's saved text will be "exportable." | |||
A float location (floatloc) is similar to a layout area in a page model. Elements float into a float location at the time the float category is encountered. | |||
A unique ID for this floating location. | |||
Indicates the kind of float emission behavior. | |||
The maximum extent to which the sum of all areas associated with this floatloc can grow on any given output page. | |||
The least amount of space that can appear. | |||
The preferred amount of space (what should appear). | |||
The greatest amount of space that can appear. | |||
The security description (secdesc) establishes the strings that the composition system will be automatically generated for the "security text" (sectext) element that may be placed in the header and/or footer. | |||
Defines the security levels and the priority order of the levels. | |||
Identifies the attribute in the source document used to indicate the security levels. | |||
The security order characteristic is used to list the priority order of the security levels in descending order, for example "s c u", where "s" indicates the highest level and "u" indicates the lowest level. | |||
| Defines the security markings that appear in the header and footer as specified by the "sectext" element. | ||
For each value specified in the security order characteristic of the secdesc element, a corresponding security. Text string can be specified. | |||
When a security text (sectext) element occurs in a header or footer, the highest level of security occurring on the page is computed and the security text associated with that value is placed into the output stream in place of "sectext" element. | |||
This section describes general rules for creating Page Models and describes the pagination characteristics. | |||
A page set contains information that applies to a particular Page Area. | |||
Defines a unique ID for the pageset which is referenced via the pageid attribute on the textbrk category. | |||
The recto/verso characteristic works in conjunction with the Bind Margin characteristic defined for the recto page in the Page Set. | |||
If the Page Set defines a blank page model, then when a blank page is generated, the blank page model for the Page Set is used unless the Blank Page characteristic is turned off. | |||
The standard page orientation is Portrait. | |||
The Media Information (mediainfo) characteristic is a string that specifies a logical name that identifies any special processing to be performed on this page/pages by the output device. | |||
The Page Area is defined as the total physical page area. | |||
The width characteristic specifies the width of the Page Area. | |||
The Nominal Depth specifies the depth of the Page Area. | |||
This refers to the page edge that would be toward the binding or spine of the document if this document were bound as in a book. | |||
The Change Mark Width (chgmkwid) specifies the width of the Change Mark area. | |||
The Change Mark Placement characteristic on the Flowing Text Area takes precedence over that on page area. | |||
The top float is used to specify those floats that are allowed to appear in the top of the flowtext area. | |||
The bottom float is used to specify those floats that are allowed to appear in the bottom of the flowtext area. | |||
The page specification (pagespec) is used to specify the geometry of the subordinate layout areas. | |||
The pgid specifies a unique ID that can be referenced via the pgidref attribute of the pageref element. | |||
This is defined as the area between the edge of the Page Area and the top edge of the Header Area and runs the width of the Page Area. | |||
The nomdepth characteristic specifies the depth of the top margin. | |||
The bottom margin area is defined as the area between the bottom edge of the Page Area and the bottom edge of the Footer Area and runs the width of the Page Area. | |||
This characteristic specifies the depth of the bottom margin. | |||
The left margin is defined as the area between the left edge of the Page Area and left edge of the Flowing Text Area and runs the depth of the Page Area. | |||
This characteristic specifies the width of the left margin. | |||
This is defined as the area between the right edge of the Page Area and right edge of the Flowing Text Area and runs the depth of the Page Area. | |||
The width characteristic specifies the width of the right margin. | |||
This is defined as an area whose boundaries are within the Left or Right or gutter areas and runs the extent of the Flowing Text Area plus the Header and Footer Areas. | |||
The header area is defined as the area immediately below the Top margin and above the Flowing Text Area. The Footer Area is defined as the area immediately above the Bottom Margin Area and below the Flowing Text Area. | |||
The nomdepth specifies the depth that the composition system should strive for in all cases. | |||
The maxdepth should never be exceeded. | |||
The spaceflow characteristic on the header and footer gives a vertical amount to contribute immediately following the Header Area or immediately preceding the Footer Area respectively. | |||
This category is contained in the content model for the header and footer elements. | |||
This is used to specify the positioning of groups of elements placed in the Header and Footer Area of the page. | |||
The sectext element is used to indicate the positioning of the security classification indication in the header and footer of the page. | |||
This defines the boundaries for consideration when determining the highest security level used. | |||
These characteristics apply to Flowing Text Areas. | |||
Numcols specifies the number of columns. | |||
An ordered list of float location ID references. | |||
An ordered list of float location ID references. | |||
The chgmkplc on flowtext takes precedence over chgmkplc specified on a rectopg, versopg, or blankpg. | |||
It is used to define the columns of the Flowing Text Area. | |||
The width characteristic specifies the width of any single column. | |||
This characteristic specifies the maximum amount of space that can occur between the bottom of a column and the bottom of the Flowing Text Area when columns are balanced. | |||
Vertical justification priority characteristic specifies which set of characteristic values has precedence for purposes of vertical justification. | |||
An ordered list of float location ID references. | |||
An ordered list of Float location ID references. | |||
This area is the space between column areas. | |||
This specifies the color of the gutter rule. | |||
The integer value for rule percent is specified as a percentage. | |||
This is a sub-area of the Flowing Text Area. | |||
This specifies whether the footnote area is the width of a column or the Flowing Text Area. | |||
The maxdepth specifies the maximum depth the footnote area can have. | |||
Footnote separator ruling is disabled by supplying a value of zero to the footnote separator thickness. | |||
This specifies the length of the footnote separator ruling. | |||
When this characteristic is turned on, footnotes may be continued across columns or pages. | |||
This specifies the length of the footnote continue separator. | |||
This value is specified using the same syntax described for savetext construction rule. | |||
This determines the vertical space in between the footnote area and the Flowing Text Area. | |||
When this is turned on, the footnote area appears closest to text preceding any float location areas. | |||
This associates a name for a border used within a FOSI with an external entity that contains the actual border graphic. | |||
Name of the border. | |||
The identifier of the border entity. | |||
Precedence is used to specify the order for placing borders when more than one border is to appear on the page. | |||
A collection of (character) images having the same basic design. | |||
Only positive values are allowed for the size characteristic. | |||
A positive value for the Baseline Offset indicates a distance above the text baseline; a negative value indicates a distance below. | |||
The amount of space between the baselines of text lines in a single element. | |||
Only non-negative values are allowed for leading. Leading applies to all lines of text including the first line of an element. | |||
The process of breaking a word at the end of a line of text for purposes of line justification. | |||
This specifies the amount of space from the margin that can be left by choosing not to hyphenate. | |||
The white space between words that may be adjusted for readability and line justification. | |||
The least amount of space that can appear. | |||
The preferred amount of space. | |||
The greatest amount of space that can appear. | |||
The least amount of extra space that can appear. | |||
The preferred amount of extra space. | |||
The greatest amount of extra space that can appear. | |||
White spaces between letters in a word which may be adjusted for readability and line justification. | |||
The least amount of space that can appear. | |||
The preferred amount of space. | |||
The greatest amount of space that can appear. | |||
Allowed types of kerning. | |||
Specification of table of kerning pairs. | |||
Positioning along the writing direction. | |||
Placement of a text margin relative to the left boundary of the current layout area. | |||
Placement of a text margin relative to the right boundary of the current layout area. | |||
Special left indent value for first line of content. | |||
The horizontal alignment of text lines within an element with respect to the layout area boundaries. | |||
How to align the last text line of the element. | |||
Special presentation characteristics for text. | |||
Reverse color. | |||
Overlay rules on the text line. | |||
Weight of the rule. | |||
Offset of the base of the rule to the text baseline. | |||
Character to be overlaid on the text. | |||
Color of the area between text baselines. | |||
Color of the text characters. | |||
Shading of the area between text baselines. | |||
Shading of the text characters. | |||
Whether spaces should be scored/overlaid. | |||
The data that appears in the change mark area, triggered by the occurrence of a particular element. | |||
A literal that should appear instead of a bar. | |||
The thickness of the change bar. | |||
Join bars of contiguous lines of marked text. | |||
Whether this element starts, ends, or contains the region to be marked. | |||
The amount of space in the vertical direction added before an element. | |||
The least amount of space that can appear. | |||
The preferred amount of space. | |||
The greatest amount of space that can appear. | |||
Indicates whether to keep or discard space at a column or page break. | |||
Indicates a preference for choosing one element's spacing requirements over another's. | |||
The amount of space in the vertical direction added at the completion of an element. | |||
The least amount of space that can appear. | |||
The preferred amount of space. | |||
The greatest amount of space that can appear. | |||
Indicates whether to keep or discard space at a column or page break. | |||
Indicates a preference for choosing one element's spacing requirements over an other's. | |||
Conditions for controlling or disallowing the breaking of elements over column or page boundaries. | |||
Keep the whole element content together within the column, page, or line boundary. | |||
The scope in which to keep the element together. | |||
The number of lines to keep at the top of a column. | |||
The number of lines to keep at the bottom of a column. | |||
Keep with next element. | |||
Keep with previous element. | |||
Specifies what category of floats should not be permitted to interrupt the pagination of the current elements. | |||
The priority information for each characteristic necessary for making decisions for purposes of vertical justification. | |||
Characteristics for allowing controlled interruptions of normal text flow. | |||
Start at beginning of new column. | |||
Start at the beginning of a new page. | |||
The type of page with which to resume the previous page model. | |||
The page model to use when starting the page. | |||
Use at beginning of a new line. | |||
At the end of the current element, prepare to start on a new line. | |||
Positioning of an element across columns on a page. | |||
Specifies the number of columns into which to format the flowtext. | |||
The pattern that appears along page boundaries, triggered by the occurrence of a particular element. | |||
Name of the border. | |||
The width to which to compose the floated material. | |||
Minimum height of part of breakable float in the last floatloc area in which this float appears. | |||
Minimum height of part of breakable float in the first floatloc area in which this float appears. | |||
The ancestral elements that scope the current float. | |||
The page relative to the current page, to which this material should float. | |||
An identifier to distinguish this multi-reference float. | |||
Allows for placing potentially multi-line elements horizontally next to each other in the output data stream. | |||
Vertical alignment point. | |||
Space under wrapped elements. | |||
Suppressing text from the output data stream. | |||
The drawing of a box. | |||
The method for determining the zero position for Top Offset. | |||
The method for determining the zero position for Bottom Offset. | |||
The method for determining the zero position for Side Offset. | |||
Additional space between boxed material and box's left side. | |||
Additional space between boxed material and box's right side. | |||
Color of the outline rules. | |||
Shading of the outline rules. | |||
Color of the area within the outline rules. | |||
Shading of the area within the outline rules. | |||
The resetting of counters and string variables declared in the resource description. | |||
The list of unique counter IDs or Savetext Names to be reset to the initialized value of the corresponding variable or Float Location IDs whose contents should be flushed. | |||
The drawing of a horizontal rule. | |||
The thickness of the rule. | |||
The method for prescribing the length of the rule. | |||
The measure of the rule. A specific length indicates a known measure. | |||
The length of the rule relative to a layout area. | |||
A vertical adjustment from the baseline. | |||
Placement of the rule before or after the element content. | |||
Color of the rule. | |||
Percent giving color density of the rule. | |||
The ordering of like elements. | |||
The number by which to increment the counter for the element before using it this time. | |||
A unique name assigned to a counter. The counter ID string is interrupted as the name of a counter FOSI variable. | |||
A toggle indicating whether the counter is reset to zero before the increment value is applied. | |||
Describes system-generated text that appears in the output data stream | |||
The string that appears. This characteristic is used to specify a string of text that is generated by the system and is put into the text stream. | |||
Whether to place the Puttext Literal before or after the content of the element. | |||
Describes system-generated graphics that appear in the output data stream. | |||
A reference to the graphic that is to appear. This characteristic is used to specify graphics that are placed within running text, for example a symbol. | |||
The width of the graphic. | |||
The depth of the graphic. | |||
Whether to place the graphic before or after the content of element. | |||
This characteristic allows the graphic to be scaled as needed to fit the size of the bounding box. | |||
This characteristic takes precedence when they have values other than zero. | |||
This characteristic takes precedence when they have values other than zero. | |||
This is not subject to scaling. This does not move the bounding box; it shifts the graphic image within the bounding box. | |||
This is not subject to scaling. This does not move the bounding box; this shifts the graphic image within the bounding box. | |||
Describes text content to be saved for use elsewhere. | |||
A unique name for the saved text. This characteristic used specifically for saving portions of the text for use by the Usetext characteristic for other purposes. | |||
Rules for specifying the construction of saved text. The string may contain an indicator for the element content, literals, and unique names of other saved text and counters. | |||
Whether to save the text before or after the content of the element is processed. | |||
Indicates whether the text to be saved should replace text already saved to this savetext name or append itself onto the text currently saved to this savetext name. | |||
Describes what to do with text saved from some part of the document. | |||
Reference to saved data. This category is used to output saved data. | |||
Whether to place the text before or after the content of the element. | |||
Describes what to do with saved text. | |||
Modifies the operation of the specified usage rule. This is used to provide parameters to the specified userule. | |||
This section describes the characteristics necessary for the composition of tables. | |||
Characteristics that apply to the table as a whole. | |||
This indicates whether the width of the table is a specified value or is relative to the column or page in which it is placed. | |||
When "specific" is specified, a value should be supplied for the specific width characteristic. | |||
When "relative" is specified, a value for the relative width characteristic should be specified to indicate the percentage of the column or page the table is to fill. | |||
Frame specifies on which side(s) of the table the frame is to appear. | |||
This is measured from the outside edge of the table boundary inwards. | |||
This specifies how many lines will be used to create the frame. The total width of the frame will be the value specified in frame thickness. | |||
When this character is "on," a table row separator appears under the last table row on a column page and above the first table row on the succeeding column or page. When "off," both row separators are omitted. | |||
Characteristics that apply to cells, which may be specified on any table object and apply to the cells within the scope of that object. | |||
When this is turned on, it has no effect on the table frame. When column separator is on and frame is turned off, no rule appears around the outside edges of the table. | |||
When this is turned "on," it has no effect on the table frame. When column separators is "on" and frame is turned "off," no rule appears around the outside edges of the table. | |||
Column separator appears centered over the right boundary and thus appears between columns and rows. | |||
This appears centered over the bottom boundary and thus appears between columns and rows. | |||
The values for row and column margins for a cell must be greater than half the thickness of any column separators that apply to that cell. | |||
The values for row and column margins for a cell must be greater than half the thickness of any column separators that apply to that cell. | |||
This is used to specify top margin of placement of the table cell content relative to the table cell boundaries. | |||
This is used to specify bottom margin of placement of the table cell content relative to the table cell boundaries. | |||
A horizontal alignment of characters causes the table cell content to be horizontally aligned relative to a specific character. | |||
This is used to specify the character to be used for a horizontal alignment of "characters." | |||
This determines the distance the cell content should be offset from the horizontal alignment character. | |||
For shading, 0 is white; 100 is full color saturation. | |||
When the rotation is "off" the contents of the cell are placed in the orientation as the table. When it is "on," the contents of the cell are rotated 90 degrees counterclockwise. | |||
This character specifies the width to which the text is formatted and is used only when rotation is specified. | |||
When this characteristic is turned "on," for all cells in a row, then a break across a column or a page boundary may occur within that row. | |||
Characteristics that apply specifically to table subset groups. | |||
Column specifies the number of columns in the table subset group. | |||
Characteristics that apply specifically to table subsets. | |||
Column specifies the number of columns in the table subset group. | |||
This characteristic indicates the boundaries across which the subset cannot break, either a column or page boundary. | |||
This characteristic indicates to which of the three subset types to map this element. | |||
Characteristics that apply specifically to table columns. | |||
The width of a span is the sum of the widths of its contained columns. | |||
The value of column number refers to the number of the column in the output structure. It can be either specified in the FOSI or obtained from the source. | |||
The span name is associated with this span of columns. | |||
Refers to names assigned to columns in the output structure via these column characteristics. | |||
Refers to names assigned to columns in the output structure via these column characteristics. | |||
Characteristics that apply specifically to table cells. | |||
This refers to the names assigned to a column or span of columns via the column characteristics. | |||
This refers to the names assigned to a column or a span of columns via the column characteristics. | |||
The integer value for the span depth characteristic designates the number of rows the entry is to straddle. | |||
These characteristics allow a formatting system to insert graphic entities into a document according to the constraints specified by the original illustrator and the author. | |||
Information about the size of the reproduction area in which the graphic is to be placed. | |||
Information concerning constraints on how to modify the size or view of graphics to be placed in the reproduction area. | |||
This may be the name of an entity in the FOSI or it may be omitted, in which case it will be filled in from the source document using a fillval construct. | |||
Scaling is disallowed by supplying a value of "0" for horizontal scaling. | |||
This characteristic allows the graphic to be scaled as needed to fit the size of the reproduction area. | |||
The syntax to be used for the lower left coordinate string is "integer,integer" where the first integer refers to the starting position of the graphic window along the horizontal axis and the second integer refers to the ending position of the graphic window along the vertical axis. | |||
The syntax to be used for this is "integer,integer" where the first integer refers to the starting position of the graphic window along the horizontal axis and the second integer refers to the ending position of the graphic window along the vertical axis. | |||
Information concerning the size and reference point of a text block. | |||
When this is not specified opr set to zero, the text block has variable depth according to its content, much like a table cell. | |||
In case of variable depth text blocks, the text block depth grows away from the fixed corner, that is downward if the reference point is top and upward if the reference point is bottom. | |||
This specifies the "fixed" corner of the text block. | |||
This specifies the "fixed" corner of the text block. | |||
Information concerning constraints on where and how to place graphics or text blocks with respect to the reproduction area. | |||
Horizontal placements are used to place graphics within a repro area. | |||
Vertical placements are used to place graphics within a repro area. | |||
This may be used for placing multiple graphics or portions of graphics in a single repro area. | |||
This may be used for placing multiple graphics or portions of graphics in a single repro area. | |||
When the value for rotation is "off," the graphic is placed in the same orientation in which it has been received in. When the value is "on," the graphic is rotated 90 degrees counterclockwise before being placed in the reproduction area. | |||
The footnote description of the FOSI provides part of the specification of how footnotes will be generated and formatted. | |||
This specifies the elements and attributes in the source instance used to specify change information and the FOSI counters and strings used to retrieve change information for a portion of the technical document. | |||
Tag containing document's change level. | |||
Attribute of document change level tag containing document's change level. | |||
Name of FOSI string variable used to access document change level name. | |||
Name of FOSI string variable used to access page's change level name. | |||
Name of FOSI string variable used to access leaf's change level name. | |||
Name of FOSI string variable used to access spread's change level name. | |||
Name of FOSI counter or string variable used to access document change level number. | |||
Name of FOSI counter or string variable used to access page's change level number. | |||
Name of FOSI counter or string variable used to access leaf's change level number. | |||
Name of FOSI counter or string variable used to access spread's change level number. | |||
Name of FOSI pseudo-element implicitly delimits references to FOSI change level name access variables. | |||
Name of FOSI pseudo-element that implicitly delimits references to FOSI change level number access counters and string variables. | |||
This category specifies the portion of the source instance that contains their list of change level names. If only change level numbers are used, this category should be omitted. | |||
Tag containing children tags that hold the individual change level names. | |||
Name of optional tag that contains an individual level name tag. | |||
Name of tag that contains a single change level name. | |||
Attribute name of individual level name tag that specifies a single change level name. | |||
Name of tag that contains the change level number for the corresponding change level name. | |||
Toggle indicating whether a change level name to number association exists for change 0. | |||
The change tags category specifies a source instance element whose character content has changed. | |||
List of tag names used to surround changed content. | |||
The type of change level specified by the tags in tag list. | |||
The name of the attribute used to specify the change level on tags in the tag list. | |||
The type of change specified by the tags in tag list. | |||
The name of the attribute used to specify the type of change. | |||
The change attributes category specifies source instance elements whose content is considered changed when an attribute on those elements is specified. | |||
List of tag names for which changes is indicated by providing an attribute value. | |||
List of attribute names which indicate a change to its element when the attribute is given a value. | |||
The type of change specified by the tags in tag list. | |||
The source of the change level information. | |||
The type of change level specified by the attributes in attribute list. Only applicable if change level source is switch. | |||
When an element is specified as changed, a set of characteristics and attributes can be conditionally merged. | |||
When to trigger the merging of characteristics and evaluation of attributes based on the comparison of the document's change level to the changed element's change level. | |||
This category describes how to gather and organize page information for presentation in an LEP. | |||
Name of FOSI string variable used to access LEP data. | |||
Name of source instance element whose content determines which pages are to be represented in LEP. | |||
Generate LEP page entries only for pages from page sets listed in this characteristic. | |||
Name of pseudo-element that delimits the generated LEP data. | |||
Name of pseudo-element that delimits one LEP entry. | |||
Determines how pages are grouped into a single LEP entry. | |||
Name of FOSI string variable that contains page folio prefix used to determine grouping of pages. | |||
Toggle indicating whether blank pages will appear in LEP. | |||
Toggle indicating whether deleted pages will appear in LEP. | |||
Determines the conditions under which blank pages participate in page grouping. | |||
Toggle that determines whether an individual page's change level or that page's leaf's change level is used for grouping pages. | |||
Name of FOSI string variable used to access first folio of current LEP entry during LEP Entry Pseudo Element Name's e-i-c processing. | |||
Name of FOSI string variable used to access last folio of current LEP entry during LEP Entry Pseudo Element Name's e-i-c processing. | |||
Name of FOSI counter or string variable used to access change level number of this LEP entry's page. | |||
Name of FOSI string variable used to access change level name of this LEP entry's page(s). | |||
Name of FOSI string variable used to determine status of this LEP entry's page. | |||
Name of FOSI string variable used to determine status as to whether there is one or more than one page represented by this LEP entry. | |||
This controls the form and content of a page break tag which marks the page boundaries in the source instance. | |||
Name of source instance tag used to represent page breaks. | |||
Determines where page break tags should be inserted. | |||
This establishes an association between a page break tag attribute and a specific piece of information needed by the composition application to perform looseleaf composition. | |||
Name of attribute appearing on source instance page break tag. | |||
Type of attribute. | |||
This specifies the components of added page folios and associates page break instruction in the source instance with folio components needed for looseleaf composition. | |||
This specifies the FOSI string variable used to access the current page's complete folio string. | |||
This is used to access the next page's complete folio string. | |||
This specifies the FOSI string variable used to access the current page folio prefix. | |||
This contains the page's sequence number within a page group established by page folio prefix. | |||
Name that specifies the FOSI pseudo element used to construct the folio string for this page. | |||
Ordered list of FOSI counter names that provide overflow page counts. | |||
This specifies a list of FOSI pseudo-element names used to construct the entire folio string for an overflow page. | |||
Determines whether an overflow page of leaf is generated. |
A sequence flow object class is formatted to produce the concatenation of the areas produced by each of its children. It has a single principal port. Its children may be inlined or displayed. | ||
A display-group flow object class is formatted to produce the concatenation of the areas produced by each of its children. It has a single principal port. Its children shall all be displayed, and it is itself displayed. | ||
A string specifying the coalesce-id of the flow object, or False (#f) if the flow object has no coalesce-id. This characteristic is not inherited. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A simple-page-sequence flow object class is formatted to produce a sequence of page areas. The simple-page-sequence flow object is intended for systems that wish to provide a very simple page layout facility. More complex page layouts can be obtained with the page-sequence and column-set-sequence flow object classes. A simple-page-sequence may have a single-line header and footer containing text that is constant except for a page number. A document can contain multiple simple-page-sequences. The page shall be filled from top to bottom. The display-size for the contents of the simple-page-sequence shall be the value of the page-width, less the value of the left-margin, and right-margin characteristics. | ||
A length specifying the total width of the page. The initial value is system-dependent. | ||
A length specifying the total height of the page. The initial value is system-dependent. | ||
A length specifying the left margin. | ||
A length specifying the right margin. | ||
A length specifying the distance from the top of the area container used for the content of the simple-page-sequence. | ||
A length specifying the distance from the bottom of the page to the bottom of the area container used for the content of the simple-page-sequence. | ||
A length specifying the distance from the top of the page to the placement path of the header line. | ||
A length specifying the distance from the bottom of the page to the placement path of the footer line. | ||
An unlabeled Specification of Sequence of Flow Objects (sosofo) containing only inline flow objects that is centered between the left and right margins of the page in the header line. | ||
An unlabeled sosofo containing only inline flow objects that is aligned with the left margin of the page in the header line. | ||
An unlabeled sosofo containing only inline flow objects that is aligned with the right margin of the page in the header line. | ||
An unlabeled sosofo containing only inline flow objects that is centered between the left and right margins of the page in the footer line. | ||
An unlabeled sosofo containing only inline flow objects that is aligned with the left margin of the page in the footer line. | ||
An unlabeled sosofo containing only inline flow objects that is aligned with the right margin of the page in the right line. | ||
Can be one of two-symbols, left-to-right, or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
A page-sequence flow object is formatted to produce a sequence of page areas. The structure and positioning of the page areas shall be controlled by page-models. | ||
A list of page-models used for the initial pages. | ||
A list of page models used for pages after the initial pages. | ||
Symbols front or back specifying the required type of the last page of the page-sequence. If the last page is not of the required type, then an additional blank page shall be generated. | ||
Symbols front or back specifying the required type of the first page of the page-sequence. | ||
Symbols front and back indicating that the first page of the page sequence is a front page or back page. This characteristic can also be of value parent, indicating that the type of the page is determined by the parent. | ||
A page model used for the final page if it was a back-page. | ||
A page model used for the final page if it was a front-page. | ||
A Boolean specifying whether the bottom of each page in a spread is to be justified. | ||
Specifies the category of the page areas resulting from the page-sequence flow object. | ||
Symbols left, right, top and bottom specifying the edge of a front page which will be bound. | ||
A column-set-sequence flow object is formatted to produce a sequence of column-set areas. A column-set area is a display area. A column-set area is produced by creating and filling an area container. A column-set area contains a set of parallel columns. Typically, column-set areas may be used to fill page-regions, however, column-set areas may also be used to fill other column-set areas. The structure and positioning of each column-set area shall be controlled by the column-set-model to which it conforms. Only a Column-Set-Sequence Flow Object shall be displayed. | ||
A list of lists each with two members, the first a page-model and the second a column-set-model whenever an area from this column-set-sequence is placed in an area whose nearest ancestor of type pageregion uses the specified pagemodel, then the specified columnset-model shall be used. | ||
A columnsetmodel to be used as a default if one is not specified in the column-set-model-map. | ||
Symbols top or bottom. This applies if the flow object is directed into a port on a Column-Set-Sequence Flow Object that is flowed into both the top-float and bottom-float zones of a columnsubset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type displayspace specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type displayspace specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A paragraph flow object represents a paragraph. The contents of this port may be either inlined or displayed. Inline flow objects are formatted to produce line areas. Displayed flow objects implicitly specify a break, and their areas shall be added to the resulting sequence of areas. A paragraph flow object may only be displayed. | ||
lines: | A symbol specifying how the content of that paragraph shall be broken into lines in the formatted output. | |
Specifying that lines shall be broken so they fit into the available space. | ||
Specifying that lines shall be broken only after character flow objects for which the record-end? characteristic is true. | ||
Specifying that lines shall be broken only after character flow objects for which the record-end? characteristic is true, and as necessary to make lines fit into the available space. | ||
Specifying that lines shall be broken only after character flow objects for which the record-end?: characteristic is true, and that lines that do not fit the in the available space shall be truncated. | ||
Specifying that lines shall not be broken at all. (Useful in auto column width in a table.) | ||
A char object that determines the glyph to be inserted when the lines: characteristic has the value asis-truncate and a line is truncated. | ||
A char object that determines the glyph to be inserted when the lines: characteristic has the value asis-wrap and a line is broken other than after a character flow object for which the record-end? characteristic is true. | ||
A length-spec giving an indent to be added to the start-indent when the lines: characteristic has the value asis-wrap for a line following a break other than after a character flow object for which the record-end?: characteristic is true. | ||
A number between 0 and 100 specifying the percentage of the line length before the alignment point. | ||
A Boolean specifying whether a record-end shall be ignored. | ||
A positive integer specifying the tab interval. | ||
Length specification giving the normal spacing between the placement paths of lines in the paragraph. | ||
Integer or the symbol force specifying the priority of any conditional space before the line. | ||
A length specification specifying the minimum size of the line in the placement direction before the placement path. | ||
A length specification specifying the minimum size of the line in the placement direction after the placement path. | ||
Length specification showing the minimum space between the line areas in the placement direction. | ||
Length specification giving an indent to be added to the start-indent for the first-line. | ||
Length specification giving an indent to be added to the end-indent for the last line. | ||
A char that is used to determine the glyph that is inserted when hyphenation is performed. | ||
A positive integer specifying the maximum number of consecutive lines ending with the same glyph as that determined by the hyphenation-char. | ||
A positive integer specifying the minimum number of characters in a hyphenated word before the hyphenation character. | ||
A positive integer specifying the minimum number of characters in a hyphenated word after the hyphenation character. | ||
hyphenation-keep | ||
Both parts of a hyphenated word shall lie in a single spread. | ||
Both parts of the hyphenated word shall lie in a single page. | ||
Both parts of the hyphenated word shall lie within a single column. | ||
A list of strings. Each string is a word which may contain hyphen characters, #\- indicating where hyphenation may occur. | ||
A string specifying a public identifier for the line breaking method to be used for this paragraph. | ||
A string specifying a public identifier for the line composition method to be used for this paragraph. | ||
A string specifying a public identifier for the method to be used for implicitly determining the directionality of the content of the paragraph. This includes both the writing-mode of characters and how portions of content with a common writing-mode are nested within each other. | ||
Symbols base, center, top, bottom, or font specifying the alignment mode to be used for glyphs. | ||
A string giving the family name property of the font resource. | ||
Symbols not-applicable, ultra-light, extra-light, light, semi-light, medium, semi-bold, bold, extra-bold, or ultra-bold giving the weight property of the desired font resource. | ||
Symbols not-applicable, upright, oblique, back-slanted-oblique, italic, or back-slanted-italic giving the posture property of the desired font resource. | ||
Symbols not-applicable, solid, or outline. | ||
Symbols not-applicable, ultra-condensed, extra-condensed, condensed, semi-condensed, medium, semi-expanded, expanded, extra-expanded, or ultra-expanded. | ||
A string which is the public identifier for the font name property of the desired font resource. | ||
A length specifying the body size to which the font resource should be scaled. | ||
A Boolean specifying that the lines produced by this paragraph shall be considered for the purposes of line numbering. | ||
An unlabeled sosofo containing only inline flow objects. If it is a sosofo, then for each line in the paragraph, the sosofo is formatted to produce a single inline area that is positioned as an attachment area for the line. | ||
Symbols start, end, spread-inside, spread-outside, page-inside, or page-outside specifying the side of the line for the attachment specified with the line-number: characteristic. | ||
A length-spec specifying the separation for the attachment specified with the linenumber: characteristic. | ||
Symbols start, end, spread-inside, spread-outside, page-inside, page-outside, center, or justify specifying the alignment of lines other than the last line in the paragraph in the direction determined by the writing-mode. | ||
Symbols relative, start, end, spread-inside, spread-outside, page-inside, page-outside, center, or justify specifying the alignment of the last line of the paragraph in the direction determined by the writing-mode. This shall apply also to any line in the paragraph that immediately precedes a break. | ||
A length-spec specifying the maximum amount of free space in the last line that shall cause the last line to be justified rather than aligned as specified by the last-line-quadding: characteristic. | ||
A length-spec specifying the maximum space that may be added between glyphs in order to justify a line. | ||
A length-spec specifying the maximum space that may be removed between glyphs in order to justify a line. | ||
A Boolean specifying whether the paragraph shall be formatted with the punctuation characters hanging into the margin or gutter of a column. | ||
A positive integer specifying the minimum number of lines of the paragraph that shall be kept together at the beginning of an area. If the widow-count: is n, then no break shall be allowed between the last n lines of the paragraph. | ||
A positive integer specifying the minimum number of lines of the paragraph that shall be kept together at the end of an area. | ||
A symbol specifying the ISO 639 language code in upper-case. This affects line composition in a system-dependent way. | ||
A symbol specifying the ISO 3166 country code in upper-case. This affects line composition in a system-dependent way. | ||
Symbols top or bottom. This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
Paragraph-break flow objects can be used to make a paragraph flow object represent a sequence of paragraphs. The paragraphs are separated by paragraphbreak flow objects, which are atomic. Paragraphbreak flow objects are allowed only in paragraph flow objects. All the characteristics that are applicable to a paragraph flow object are also applicable to a paragraphbreak flow object. The characteristics of a paragraphbreak flow object determine how the portion of the content of the paragraph flow object following that paragraphbreak flow object up to the next paragraphbreak flow object, if any, is formatted. | ||
The linefield flow object class is inlined and has inline content. It produces a single inline area. The width of this area is equal to the value of the field-width: characteristic. If the content of a linefield area cannot fit in this width, then the area grows to accommodate the content and, if the linefield occurs in a paragraph, there shall be a break after the line-field. | ||
A length specification specifying the width of the area produced by the flow object. | ||
One of the symbols start, end, or center specifying the alignment of the contents of the field. | ||
Symbols left-toright, righttoleft or toptobottom. The writing-mode direction is perpendicular to the placement direction. | ||
A Boolean specifying whether linebreaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as defined in the specification of the breakbeforepriority. | ||
A sideline flow object is used to contain flow objects that have an attachment area consisting of a line parallel to the placement direction. A sideline flow object has a single principal port which can contain both inlined and displayed flow objects. For each display area produced by its content, the sideline flow object adds an attachment. For each inline area produced by its content, the sideline flow object annotates that area so as to cause the paragraph in which the flow object occurs to add an attachment area to the line in which that inline area occurs. | ||
One of the symbols start, end, both, spreadinside, spreadoutside, pageinside, or pageoutside specifying the side of the line area for the sideline attachment. | ||
A length specification specifying the separation for the sideline attachment. | ||
An object of type color that specifies the color in which the flow object's marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
Symbols butt, round, or square specifying the cap style for the line. | ||
A list of one or more lengths that specifies the dash pattern of the line. The first length specifies the number component of the CurrentDashPattern graphics state variable in ISO/IEC 10180. The remaining lengths specify the vector component of the CurrentDashPattern graphics state variable. | ||
A length that specifies the thickness of the line or lines. | ||
A strictly positive integer that specifies the number of parallel lines to be drawn. | ||
A length that gives the distance between the centers of parallel lines. | ||
An anchor flow object is atomic and serves only as a flow object to be synchronized. It may be either inlined or displayed. If inlined, it produces a single area with zero size in the escapement direction. If displayed, it produces a single area with zero size in the placement direction. | ||
A Boolean specifying whether the resulting area shall be kept with the last area of the previous flow object instead of the first area resulting from the following flow object. | ||
A Boolean specifying whether the flow object is displayed rather than inlined. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. | ||
An integer that affects whether a break is allowed after this flow object as defined in the specification of the break-before-priority. | ||
A character flow object is atomic. Flow objects of this class can only be inlined. | ||
An object of type char specifying the character. | ||
A procedure that is applied in the construction of the default value of the char: characteristic. | ||
An object of type glyph-id specifying the glyph that shall be imaged in the resulting area. | ||
A glyph-subst-table or a list of glyph-subst-tables specifying substitutions to be performed on the glyph-id specified by the glyph-id: characteristic. If the value is a list, then the substitutions shall be performed in the specified order. | ||
A string of strings. Each string shall be a public identifier specifying a method for performing glyph substitutions. | ||
A string of strings. Each string shall be a public identifier specifying a method for reodering glyphs. | ||
Symbols left-to-right, right-to-left, or top-to-bottom. The writing-mode direction is perpendicular to the placement direction. | ||
A string giving the family name property of the font resource. | ||
Symbols not-applicable, ultra-light, extra-light, light, semi-light, medium, semi-bold, bold, extra-bold, or ultra-bold giving the weight property of the desired font resource. | ||
Symbols not-applicable, upright, oblique, back-slanted-oblique, italic, or back-slanted-italic giving the posture property of the desired font resource. | ||
Specifies the posture priority of the desired font resource to be used when the font-posture characteristic has the value math. It can be one of the symbols not-applicable, upright, oblique, back-slanted-oblique, italic, or back-slanted-italic. | ||
Symbols not-applicable, solid, or outline. | ||
Symbols not-applicable, ultra-condensed, extra-condensed, condensed, semi-condensed, medium, semi-expanded, expanded, extra-expanded, or ultra-expanded. | ||
A string which is the public identifier for the font name property of the desired font resource. | ||
A length specifying the body size to which the font resource should be scaled. | ||
A number specifying the factor by which the character should be stretched. This characteristic is designed primarily for math delimiters of various kinds. | ||
A Boolean specifying whether hyphenation is allowed. | ||
A string specifying a public identifier for a hyphenation method. | ||
A Boolean specifying whether kerning (escapement adjustment) is allowed. | ||
Symbols loose, normal, kern, tight, or touch specifying the escapement adjustment mode. | ||
A Boolean specifying whether ligatures are allowed. | ||
A list of allowed ligatures. Each member of the list shall be either a glyph-id or a char. | ||
A Boolean specifying whether the flow object is a space. | ||
An object of type inline-space which is applicable to the flow object if it is a space. | ||
An object of type inline-space specifying space to be added before the first result area in the escapement direction. | ||
An object of type inline-space specifying space to be added after the last result area in the escapement direction. | ||
A Boolean specifying whether the flow object is a record-end. | ||
A Boolean specifying whether the flow-object is a tab on input. | ||
Symbols preserve, collapse (specifying that the character flow object for which input-white-space? is true shall be ignored if the preceding flow object was a character flow object also with the same characteristic) or ignore (specifying that the character flow object shall be ignored). | ||
A Boolean specifying whether the character shall be considered as white space or input. | ||
A Boolean specifying whether the character should be treated a punctuation for the purposes of formatting the paragraph with hanging punctuation. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. | ||
An integer that affects whether a break is allowed after this flow object as defined in the specification of the break-before-priority. | ||
A Boolean specifying whether this character should be discarded if it follows a line break. | ||
A Boolean specifying whether this character shall be discarded unless it precedes a line break. | ||
Symbols ordinary, operator binary, relation, opening, closing, punctuation, inner, or space. This is used by the flow object classes for mathematical formulae to adjust the spacing of the character. | ||
A string specifying a formal public identifier that identifies the character's script. | ||
A length specification specifying a shift of the position point in the line progression direction. | ||
A symbol specifying the ISO 639 language code in upper-case. This affects line composition in a system-dependent way. | ||
A symbol specifying the ISO 3166 country code in upper-case. This affects line composition in a system-dependent way. | ||
An object of type color that specifies the color in which the flow object's marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
A leader flow object can only be inlined. A leader flow object has a single principal port containing the inline flow objects to be repeated. | ||
A length specification specifying the length of the leader. | ||
A Boolean specifying whether the final repetition of the sequence of inline flow objects that is the content of this flow object may be truncated. | ||
A Boolean specifying whether the leaders shall be aligned against an imaginary grid associated with the page. | ||
A strictly positive integer specifying the minimum number of times that the pattern shall be repeated. This characteristic is applicable only if length: is not specified. | ||
A Boolean specifying whether line breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. | ||
An integer that affects whether a break is allowed after this flow object. | ||
The embedded-text flow object class is used for embedding right-to-left text within left-to-right text or vice-versa. This flow object class shall only be inlined. | ||
One of the symbols left-to-right or right-to-left. It shall be parallel to the writing-mode of the paragraph. | ||
A symbol specifying the ISO 639 language code in upper-case. This affects line composition in a system-dependent way. | ||
A symbol specifying the ISO 3166 country code in upper-case. This affects line composition in a system-dependent way. | ||
A Boolean specifying whether line breaks shall be inhibited before and after each area produced by this flow object. | ||
A rule is used to specify a straight line. Rules may be inlined or displayed. | ||
One of the symbols horizontal, vertical, escapement, or line-progression which specifies the orientation of the rule and also determines whether the rule is inlined or displayed. | ||
A length specifying the length of the rule. | ||
An object of type color that specifies the color in which the flow objects marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
One of the symbols butt, round, or square specifying the cap style of the line. | ||
A list of one or more lengths that specifies the dash pattern of the line. | ||
A length that specifies the thickness of the line or lines. | ||
A positive integer that specifies the number of parallel lines to be drawn. | ||
A length that gives the separation between parallel lines. | ||
A length specification specifying a shift of the position point in the line progression direction. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as defined in the specification of the break-before-priority. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
Symbols start, center, end, inside, or outside specifying the alignment of the areas resulting from the flow object in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
The external-graphic flow object class is used for graphics contained in an external entity. Flow objects of this class may be inlined or displayed. | ||
A Boolean specifying whether the flow object shall be displayed rather than inlined. | ||
Either a number or a list of two numbers or one of the symbols max or max-uniform. If it is a number, then the graphic shall be scaled by that factor in both the horizontal and vertical directions. If it is a list of two numbers, then the graphic shall be scaled by the factor specified by the first number in the horizontal direction and by the factor specified by the second number in the vertical direction. If it is the symbol max-uniform, then it shall be scaled uniformly in the horizontal and vertical directions so that its size in either the horizontal or vertical direction is as large as allowed. If it is the symbol max, then it shall be scaled in the horizontal and vertical directions so that its size in the horizontal and vertical directions is as large as allowed. | ||
A length specification specifying the maximum allowed width of the resulting area when the scale is max or max-uniform. | ||
A length specification specifying the maximum allowed width of the resulting area when the scale is max or max-uniform. | ||
A string specifying the system identifier of the entity containing the external graphic. | ||
A string specifying the system identifier of the notation of the external graphic. | ||
An object of type color that specifies the color in which the flow object's marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
Symbols start, center, end, inside, or outside specifying the alignment of the areas resulting from the flow object in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A length-spec giving the x-coordinate of the position point of the resulting area in the area's coordinate system. For this purpose, the area is considered to have a coordinate system in the same way as an area container. This shall apply only when the flow object is inlined. | ||
A length-spec giving the y-coordinate of the position point of the resulting area in the area's coordinate system. For this purpose, the area is considered to have a coordinate system in the same way as an area container. This shall apply only when the flow object is inlined. | ||
Symbols top-to-bottom, left-to-right, bottom-to-top, or right-to-left specifying the escapement direction of the resulting area relative to the area's coordinate system. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as described in the specification of the break-before-priority. | ||
An included-container-area flow object results in a sequence of one or more areas each of which is specified as an area container. An included-container-area flow object has a single principal port. The contents of this port shall be displayed. Flow objects of the included-container-area class may be inlined or displayed. The size of the container shall be fixed in the direction perpendicular to the area container's filling-direction. | ||
A Boolean specifying whether the flow object shall be displayed rather that inlined. | ||
One of the symbols top-to-bottom, left-to-right, or right-to-left which specify the filling direction of the area container. | ||
A length specifying the width of the area container. | ||
A length specifying the height of the area container. | ||
One of the symbols start, end, center, or justify specifying the alignment of the child area within the area container in the filling-direction of the area container. | ||
One of the symbols truncate, error, or repeat specifying the action to be taken if the content of the area container does not fit within the dimensions specified for the area container. | ||
One of the integers, 0,90,180,270 or repeat specifying the counter-clockwise rotation to be applied to the area contents. | ||
A number specifying a scaling factor to be applied to the contents of the area. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
Symbols start, center, end, inside, or outside specifying the alignment of the areas resulting from the flow object in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A length-spec giving the x-coordinate of the position point of the resulting area in the area's coordinate system. For this purpose, the area is considered to have a coordinate system in the same way as an area container. This shall apply only when the flow object is inlined. | ||
A length-spec giving the y-coordinate of the position point of the resulting area in the area's coordinate system. For this purpose, the area is considered to have a coordinate system in the same way as an area container. This shall apply only when the flow object is inlined. | ||
Symbols top-to-bottom, left-to-right, bottom-to-top, or right-to-left specifying the escapement direction of the resulting area relative to the area's coordinate system. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as described in the specification of the break-before-priority. | ||
The score flow object class contains a single principal port. The contents of this port are scored. | ||
Symbols before specifying that a score should be drawn parallel to the placement path and at a position specified by the font of the score flow object for scores that are before the placement path in the line progression direction, through specifying that a score should be drawn parallel to the placement path and at a position specified by the font of the score flow object for scores that are drawn through the characters of the font, after specifying that a score shall be drawn parallel to the placement path and at a position specified by the font of the score flow object for scores that are after the placement path in the line-progression direction, a length-spec specifying that a score shall be drawn parallel to the placement path such that the distance in the line-progression direction from the center of the score to the placement path is the specified length, and a character specifying that each glyph shall be overstruck with that character. | ||
A Boolean specifying whether the scoring shall be applied to spaces. | ||
An object of type color that specifies the color in which the flow object's marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
Symbols butt, round, or square specifying the cap style for the line. | ||
A list of one or more lengths that specifies the dash pattern of the line. The first length specifies the number component of the CurrentDashPattern graphics state variable in ISO/IEC 10180. The remaining lengths specify the vector component of the CurrentDashPattern graphics state variable. | ||
A length that specifies the thickness of the line or lines. | ||
A strictly positive integer that specifies the number of parallel lines to be drawn. | ||
A length that gives the distance between the centers of parallel lines. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
The box flow object may be used to put a box around a sequence of flow objects. The box flow object is either displayed or inlined depending on the value of the display?: characteristic. If the box is displayed, then the port shall accept any displayed flow objects. If the box is inlined, then the port shall accept any inlined flow objects. | ||
A Boolean specifying whether the flow object is displayed rather than inlined. | ||
Symbols border specifying that the box has a border, background specifying that the box has a background, and both specifying that the box has both a border and a background. | ||
A Boolean that specifies whether the broken box shall have an open end. | ||
An object of type color that specifies the color in which marks for the flow object's background shall be made. | ||
An integer specifying the layer of the marks of the areas resulting from the background of a flow object. | ||
Specifies whether the corners of the box shall be drawn as quarter circles. The characteristic allows for individual corners to be rounded. | ||
A length specification specifying the radius of the quarter circles to be used when box-corner-rounded is true. | ||
A symbol specifying the alignment of the borders line relative to the position of the border. Symbols center, specifying that the line shall be centered with respect to the position of the border, outside specifying that the edge of the line that is an outer edge of the box shall be aligned with the position of the border and inside, specifying that the edge of the line that is an inner edge of the box shall be aliened with the position of the border. | ||
A length that specifies the distance from the placement path to the edge of the box that is before the placement path in the line-progression direction. | ||
A length that specifies the distance from the placement path to the edge of the box that is after the placement path in the line-progression direction. | ||
An object of type color that specifies the color in which the flow object's marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
Symbols butt, round, or square specifying the cap style for the line. | ||
A list of one or more lengths that specifies the dash pattern of the line. The first length specifies the number component of the CurrentDashPattern graphics state variable in ISO/IEC 10180. The remaining lengths specify the vector component of the CurrentDashPattern graphics state variable. | ||
A length that specifies the thickness of the line or lines. | ||
A strictly positive integer that specifies the number of parallel lines to be drawn. | ||
A length that gives the distance between the centers of parallel lines. | ||
A number that specifies the miter limit for line joins. | ||
Symbols miter, round, or bevel specifying the join style of the line. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as described in the specification of the break-before-priority. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area .
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A side-by-side flow object is always displayed. It has a single port whose contents are side-by-side-item flow objects that are potentially aligned with each other in the placement direction of the side-by-side. When two objects are aligned in some direction, then their relative position is adjusted in that direction so that their alignment points lie on a line that is perpendicular to that direction. | ||
Symbols none or indent determining how the side-by-side handles the possibility of its side-by-side-items overlapping each other. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
Use of this flow object requires the side-by-side feature. A side-by-side-item flow object is always displayed. It has a single principal port whose contents are displayed. The display-size of the content is the same as the display-size of the side-by-side. A side-by-side-item flow object shall be allowed only in a side-by-side flow object. | ||
A length-spec specifying the indent for the edge of the area at the start in the direction of the writing-mode. This determines only whether adjacent side-by-side-items overlap when the side-by-side-overlap-control: characteristic of the containing side-by-side has the value indent. | ||
A length-spec specifying the indent for the edge of the area at the end in the direction of the writing-mode. The initial value is 0 pt. determines only whether adjacent side-by-side-items overlap when the side-by-side-overlap-control: characteristic of the containing side-by-side has the value indent. | ||
A symbol specifying the point that shall be used to align this item with the preceding side-by-side-item. Symbols start, meaning the beginning edge in the placement direction of the first area produced by the flow object, initial, meaning the placement path of the first line area by the flow object, final, meaning the placement path of the last line area produced by the flow object, or end, meaning the ending edge in the placement direction of the last line area produced by this side-by-side-item flow object. | ||
A symbol specifying the point that shall be used to align this item with the following side-by-side-item. | ||
Flow objects of class glyph-annotation are mainly used for characters, words, or phrases that have an associated description of their meaning or pronunciation. The annotation is placed on the before side in the line-progression direction of the annotated glyphs. A glyph-annotation flow object that has more than one annotated glyph shall not be broken between lines. Users should explicitly divide long annotations between several glyph-annotation flow objects. | ||
A symbol that specifies the nominal placement rule of the annotating glyph. Symbols centered, annotating glyphs shall be centered, shouldered, annotating glyphs shall be placed in relation to the number of annotating glyphs and the starting edge of the annotated glyph. | ||
A string that specifies a public identifier for additional rules to be applied in formatting. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by this flow object. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as described in the specification of the break-before-priority. | ||
Specified an explicit alignment point for paragraphs with a first-line-align characteristic being true. | ||
An aligned-column flow object is used for grouping together externally aligned paragraphs. An aligned-column is displayed. It has a single principal port that may contain any displayed flow objects. Displayed flow objects in the port that are not externally aligned paragraphs shall be formatted normally. The externally aligned paragraphs in the content or in side-by-side flow objects in the content are aligned in the direction of the writing-mode so that their alignment points lie on a line in the placement direction. | ||
Symbols start, center, end, inside, or outside specifying the alignment of the areas resulting from the flow object in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. This is used for aligning the first line of each externally aligned paragraph. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. This is used for aligning the first line of each externally aligned paragraph. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
Flow objects of class multi-line-inline-note are used for placing a note inline. A multi-line-inline-note consists of an open parenthesis in approximately the same size as the glyphs before the note, two lines placed one before the other in the line-progression direction with the contents in a smaller size than the surrounding glyphs, and a close parenthesis in the same size as the open parenthesis. | ||
An unlabelled specification of a sequence of flow objects which is used to open the multi-line-inline note. | ||
An unlabelled specification of a sequence of flow objects which is used to open the multi-line-inline note. | ||
A positive integer that specifies the number of lines in the note. | ||
A string specifying the public identifier of the additional or detailed rules to be applied in formatting the flow object. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by the flow object. This applies only to line-breaks introduced by the formatter to make lines fit in the available space. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as described in the specification of the break-before-priority. | ||
Flow objects of class emphasizing-mark are used for emphasizing characters, words, or phrases. Each emphasizing-mark shall be placed on a path that is perpendicular to the line-progression direction and that lies before the placement path in the line-progression direction. This path is called the emphasizing-mark placement path. The emphasizing-marks are distributed with glyph distribution where the emphasizing-mark shall be placed on the emphasizing-mark placement path so that it is centered with respect to the glyph or with an even distribution, where emphasizing-marks shall be distributed evenly along the emphasizing-mark placement path of the area or areas resulting from the content of the flow object. | ||
An unlabelled specification of a sequence of flow objects specifying that areas that shall be used as the emphasizing mark. | ||
One of the symbols glyph or even specifying the distribution of the emphasizing marks. | ||
A string that specifies the public identifier of that additional or detailed rules that shall be applied in formatting of the flow object. | ||
A Boolean specifying whether line-breaks shall be inhibited before and after each area produced by the flow object. This applies only to line-breaks introduced by the formatter to make lines fit in the available space. | ||
An integer that affects whether a break is allowed before this flow object. The break priority of a potential breakpoint is the maximum of: (1) the break-after-priority of the flow object immediately preceding the potential breakpoint; and (2) the break-before-priorities of the flow object immediately following the potential breakpoint, and any characters immediately following that character for which the drop-after-line-break is true. A break shall be allowed at a potential breakpoint if it is even. | ||
An integer that affects whether a break is allowed after this flow object as described in the specification of the break-before-priority. | ||
The flow object classes for mathematical formulae are math-sequence, unmath, subscript, superscript, script, mark, fence, fraction, radical, math-operator, and grid. These flow objects may also be used for "linear" chemical formulae. Character flow objects are used for characters in mathematical formulae; there is no special flow object class for this. Characteristics such as font-size: or font-posture: are determined in the usual way by the characteristics of the character flow object. | ||
A math sequence flow object produces a single area. The port shall accept flow objects of the following classes: math-sequence, unmath, subscript, superscript, script, mark, fence, fraction, radical, math-operator, grid, character, or alignment-point. The spacing between the flow objects in the contents may be adjusted depending on their class and characteristics. | ||
Symbols inline or display specifying the style of formatting. | ||
An unmath flow object class is used to get words of natural language within a mathematical formula. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
Symbols base, center, top, bottom or font specifying the alignment mode to be used for glyphs. | ||
A string giving the family name property of the font resource. | ||
Symbols not-applicable, ultra-light, extra-light, light, semi-light, medium, semi-bold, bold, extra-bold, or ultra-bold giving the weight property of the desired font resource. | ||
Symbols not-applicable, upright, oblique, back-slanted-oblique, italic, or back-slanted-italic giving the posture property of the desired font resource. | ||
Symbols not-applicable, solid, or outline. | ||
Symbols not-applicable, ultra-condensed, extra-condensed, condensed, semi-condensed, medium, semi-expanded, expanded, extra-expanded, or ultra-expanded. | ||
A string which is the public identifier for the font name property of the desired font resource. | ||
A subscript flow object is allowed in a math sequence or in a port on a math flow object that accepts the same flow object classes as a math-sequence. This flow object causes its parent to position the content of the subscript flow object as a subscript of the preceding area. | ||
A superscript flow object is allowed in a math sequence or in a port on a math flow object that accepts the same flow object classes as a math-sequence. This flow object causes its parent to position the content of the superscript flow object as a subscript of the preceding area. | ||
The Script Flow Object Class describes a seven part area. The parts described are the base area, the pre-subperscript area, the pre-subscript area, the mid-superscript area, the mid-subscript area, the post-superscript area, and the post-subscript area. | ||
Symbols independent, specifying that the pre-subscript and pre-superscript areas shall be aligned independently of each other, pile, specifying that the trailing edges shall be aligned together, sup-out, specifying that the trailing edge of the area associated with the pre-sub port shall be aligned with the leading edge of the area associated with the pre-sub port, and sub-out, specifying that the trailing edge of the area associated with the pre-sub port shall be aligned with the leading edge of the area associated with the pre-sub port. | ||
Symbols independent, specifying that the post-subscript and post-superscript areas shall be aligned independently of each other, pile, specifying that the trailing edges shall be aligned together, sup-out, specifying that that trailing edge of the area associated with the post-sub port shall be aligned with the leading edge of the area associated with the post-sub portend sub-out, specifying that the trailing edge of the area associated with the post-sub port shall be aligned with the leading edge of the area associated with the post-sub port. | ||
A symbol that specifies the alignment of the mid-superscript and base areas. This can take the values lead-edge, specifying that the leading edges of the areas shall be aligned, trail-edge specifying that the trailing edges of the areas shall be aligned, and center, specifying that the center points of the areas in the direction determined by the writing mode shall be aligned. | ||
A symbol that specifies the alignment of the mid-subscript and base areas. This can take the values lead-edge, specifying that the leading edges of the areas shall be aligned, trail-edge specifying that the trailing edges of the areas shall be aligned, and center, specifying that the center points of the areas in the direction determined by the writing mode shall be aligned. | ||
Symbols display or inline specifying the type of formatting. | ||
The Mark Flow Object Class describes a three part area: the base area, the over-mark area, and the undermark-area. | ||
Symbols display or inline specifying the type of formatting. | ||
The fence flow object describes a three-part area. The parts described are the base area, the open-fence area, and the close-fence area. The fences should be extended according to the height of the base area. The flow object has the principal port, which is used for the main content of the flow object, open, which is used for the open-fence area and close, which is used for the close-fence area. | ||
Symbols display or inline specifying the type of formatting. | ||
The Fraction Flow Object Class describes a three-part area. The parts described are the numerator area, the fraction-bar area, and the denominator area. The flow object has the ports numerator, which is used for the content that shall be placed in the numerator area and denominator, which is used for the content that shall be placed in the denominator area. | ||
An unlabelled specification of sequence of flow objects containing a single rule flow object to be used for the fraction bar. | ||
A symbol that specifies the alignment of the numerator area and the fraction-bar area. Symbols lead-edge, specifying that the leading edges shall be aligned, trail-edge for the trailing edges and center for the center points alignment. | ||
A symbol that specifies the alignment of the denominator area and the fraction-bar area. Symbols lead-edge, specifying that the leading edges shall be aligned, trail-edge for the trailing edges, and center for the center points alignment. | ||
Symbols display or inline specifying the type of formatting. | ||
The Radical Flow Object Class describes a three part area: the base, degree, and the radical-glyph areas. | ||
An unlabelled specification of a sequence of flow objects containing a single character flow object to be used for the radical glyph. | ||
Symbols display or inline specifying the type of formatting. | ||
The Math Operator Flow Object Class describes four areas: the base area, the lower limit area, the upper limit area, and the operator symbol area. | ||
Symbols display or inline specifying the type of formatting. | ||
The grid flow object class describes a series of areas arranged in a grid. The column-progression direction for the grid is the escapement direction and the row-progression direction is the line progression direction. | ||
A symbol specifying how the positioning of the cells in the grid is determined. Symbols explicit, indicating that each grid-cell has an explicit row and column number, row-major indicating that the position of each cell is determined by where it occurs in the content of the grid, and column major, indicating that the position of each cell is determined by where it occurs in the content of the grid. | ||
A positive integer that specifies the number of columns in the grid. | ||
A positive integer that specifies the number of rows in the grid. | ||
A symbol that specifies the alignment in the grids column progression direction of the areas in the grid. | ||
A symbol that specifies the alignment in the grids row progression direction of the areas of the grid. | ||
A Boolean that specifies whether the areas in the grid shall be positioned so their centers are equidistant in the grids row progression direction. | ||
A Boolean that specifies whether the areas in the grid shall be positioned so their centers are equidistant in the grids column progression direction. | ||
Symbols display or inline specifying the type of formatting. | ||
A grid cell flow object is a container for the content of each cell in a grid. | ||
A positive integer specifying the column number in a grid. | ||
A positive integer specifying the row number in a grid. | ||
Specifications for tabular formatting makes use of the following flow object classes: table, table-part, table-column, table-row, table-cell, and table-border. | ||
A table has two directions associated with it: a row-progression direction and a column-progression direction. The row-progression direction is equal to the placement direction of the table flow object. The column-progression direction is given by the value of the writing-mode: characteristic of the table flow object. | ||
A length specification that specifies the size of the table in the column progression direction or if the table-auto-width feature is used, a #f indicating that the width of the table should be the minimum that will accommodate its content. | ||
A string specifying a public identifier for the method to be used to determine the widths of the columns. | ||
An unlabelled specification of sequence of flow objects containing a table-border flow object. | ||
An unlabelled specification of sequence of flow objects containing a single-table-border object to be used as the border on the side if the table that is before the table in the row-progression direction. | ||
Same as the before-row-border but applies to the side of the table that is after the table in the column progression direction. | ||
Specifies whether the corners of the table shall be drawn as quarter circles. The characteristic allows for individual corners to be rounded also. | ||
A length specification specifying the radius of the quarter circles to be used when table-corner-rounded is true. | ||
This applies if the flow object is directed into a port on a column-set-sequence flow object that is flowed into both the top-float and bottom-float zones of a column-subset and indicates whether the areas from this flow object may be flowed into only one of the zones. | ||
Symbols start, center, end, inside, or outside specifying the alignment of the areas resulting from the flow object in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
Can be one of two-symbols, left-to-right or right-to-left. This also determines the writing-mode of the header and footer lines. | ||
A positive integer specifying the number of columns that the areas resulting from this flow object shall span. | ||
A Boolean specifying whether the areas resulting from this flow object span weakly rather than strongly. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area.
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A table-part flow object class is allowed only within a table flow object. The result of formatting a table-part flow object is a sequence of areas. Each area consists of the content of the header port followed by some portion of the principal port followed by the content of the footer port. All table parts in a table have the same width. | ||
A Boolean which if true specifies that a table part whose first area is not at the beginning of an area produced by the table shall not start with the content of its header port. | ||
A Boolean which if true specifies that a table part whose last area is not at the end of an area produced by the table shall not end with the content of the footer port. | ||
An object of type display-space specifying space to be inserted before, in the placement direction, of the areas produced by the flow object. | ||
An object of type display-space specifying space to be inserted after, in the placement direction, of the areas produced by the flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the previous flow object. | ||
A Boolean specifying whether the flow object shall be kept in the same area as the next flow object. | ||
Specifies that the flow object shall start an area of type page, page-region, column, or column-set. | ||
Specifies that the flow object shall end an area of type page, page-region, column, or column-set. | ||
1. Indicates that area produced is kept together in the smallest possible area
2. Symbol page indicating that the area produced lies in the same page. 3. Symbol column-set indicating that the area produced lies in the same column set. 4. Symbol column indicating that the area produced lies in the same column-set and that the first column that each area spans in the column-set is the same. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its previous flow object may not be respected. | ||
A Boolean which, if true, specifies that constraints imposed by the keep: characteristics of ancestor flow objects on the relative positioning of this flow object and its next flow object may not be respected. | ||
A table-column flow object is an atomic flow object that specifies characteristics applicable to table cells that have the same column and span. | ||
A positive integer specifying the column number of the table cells that are to inherit their characteristics from this table-column flow object. | ||
A positive integer specifying the number of columns spanned by table cells that are to inherit their characteristics from this table-column flow object. | ||
A length specification specifying the width of the column. | ||
Symbols start, center, end, inside, or outside specifying the alignment of the areas resulting from the flow object in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the start in the direction of the writing-mode. | ||
A length specification specifying the indent for the edge of the area at the end in the direction of the writing-mode. | ||
A table-row flow object serves to group table-cells into rows: all table-cells in a table-row start in the same geometric row. A table-row has a single principal port, which accepts flow objects of class table-cell. A table-row flow object can only occur as the child of a table-part or table flow object. When flow objects of class table-cell occur directly in a table-part or table, then cells are grouped into rows using the starts-row?: and ends-row?: characteristics. | ||
A table-cell has a single principal port. It shall accept any flow object that can be displayed. A table-cell flow object shall only occur as the child of a table-row, table-part, or table flow object. | ||
A positive integer specifying the first column spanned by this table-cell. | ||
A positive integer specifying the number of rows which this cell spans in the row progression direction starting from the current row. | ||
A length giving the margin before the row in the row progression direction. | ||
A length giving the margin after the row in the row progression direction. | ||
A length giving the margin before the column in the column progression direction. | ||
A length giving the margin after the column in the column progression direction. | ||
Symbols start, end or center specifying the alignment of the content of the cell in the row progression direction. | ||
A Boolean specifying whether the cell has a solid background. | ||
An object of type color that specifies the color in which the marks for the flow object's background should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the backgrounds of a flow object. | ||
An unlabelled specification of sequence of flow objects containing a single table-border flow object to be used as the border on the side of the table that is before the cell in the row progression direction. | ||
The same as cell-before-row-border but applies to the side of the cell that is after the cell in the column progression direction. | ||
An unlabelled specification of sequence of flow objects containing a single table-border flow object to be used as the border on the side of the table that is before the cell in the column progression direction. | ||
An unlabelled specification of sequence of flow objects containing a single table-border flow object to be used as the border on the side of the table that is after the cell in the row progression direction. | ||
A Boolean specifying whether this cell starts a row. | ||
A Boolean specifying whether this cell ends a row. | ||
Symbols with, specifying that a single diagonal line should be drawn through the cell from the corner that is first in both the row and column-progression directions to the opposite corner, against, specifying that a single diagonal line should be drawn from the corner that is first in the row-progression direction and last in the column progression direction to the diagonally opposite corner, or both specifying that a pair of lines drawn through it from each corner of the cell to the diagonally opposite corner. | ||
Symbols butt, round, or square specifying the cap style for the line. | ||
A list of one or more lengths that specifies the dash pattern of the line. The first length specifies the number component of the CurrentDashPattern graphics state variable in ISO/IEC 10180. The remaining lengths specify the vector component of the CurrentDashPattern graphics state variable. | ||
A length that specifies the thickness of the line or lines. | ||
A strictly positive integer that specifies the number of parallel lines to be drawn. | ||
A length that gives the distance between the centers of parallel lines. | ||
A Boolean which if true specifies that sideline attachments on the content of the cells shall be detached from the cells and attached to the table instead. | ||
A Boolean which if true specifies that marginalia attachments on the content of cells shall be detached from the cells and attached to the table instead. | ||
A Boolean which if true specifies that line-number attachments on the content of cells shall be detached from the cells and attached to the table instead. | ||
A table border flow object is used to specify the border of a table cell or of the table as a whole. The width of borders does not affect the width of cells, nor the positioning of the contents of cells, nor the width of the table, nor the size of the area produced by the table. In particular, the width of the table, as specified by the table-width: characteristic on the table, is equal to the sum of the widths of the cells. | ||
An integer that determines how conflicts between border specifications are resolved. When there are two table-border flow objects that apply to a particular segment of a border, then the one that has the largest priority will be used. | ||
A symbol specifying the alignment of the borders line relative to the position of the border. Symbols center, specifying that the line shall be centered with respect to the position of the border, outside specifying that the edge of the line that is an outer edge of the box shall be aligned with the position of the border and inside, specifying that the edge of the line that is an inner edge of the box shall be aligned with the position of the border. | ||
A Boolean specifying whether the border shall be present. | ||
A Boolean specifying whether the border shall be omitted if adjacent to a break in the table. | ||
An object of type color that specifies the color in which the flow object's marks should be made. | ||
An integer specifying the layer of the marks of the areas resulting from the flow object. | ||
Symbols butt, round, or square specifying the cap style for the line. | ||
A list of one or more lengths that specifies the dash pattern of the line. The first length specifies the number component of the CurrentDashPattern graphics state variable in ISO/IEC 10180. The remaining lengths specify the vector component of the CurrentDashPattern graphics state variable. | ||
A length that specifies the thickness of the line or lines. | ||
A strictly positive integer that specifies the number of parallel lines to be drawn. | ||
A length that gives the distance between the centers of parallel lines. | ||
A number that specifies the miter limit for line joins. | ||
Symbols miter, round, or bevel specifying the join style of the line. | ||
A Vertical Scroll Flow Object Class is used for on-line display that does not divide output into pages. The horizontal size of the flow object is determined by the viewing environment. | ||
Symbols top-to-bottom, left-to-right, or right-to-left. It specifies the filling-direction of the area container. The filling-direction of the area container may be perpendicular to the placement direction. | ||
Symbols left-to-right, right-to-left, or top-to-bottom. The direction determined by the writing-mode shall be perpendicular to the placement direction. This is used to determine to which side of the flow object the start-margin and end-margin characteristics apply. | ||
An object of type color that specifies the color in which marks for the flow object's background shall be made. | ||
An integer specifying the layer of the marks of the areas resulting from the background of a flow object. | ||
A public identifier specifying an image that should be repeated to cover the background of the vertical scroll. | ||
A length specification specifying the distance from the edge of the resulting area that is first in the writing-mode direction to the nearest edge of the text area. | ||
A length specification specifying the distance from the edge of the resulting area that is last in the writing-mode direction to the nearest edge of the text area. | ||
A multi-mode flow object is a flow object with two or more modes of presentation. The flow object can be switched between these modes of presentation in a system-dependent way. An implementation might present a menu of the different modes. Alternatively, clicking on the formatted flow object might cycle through the modes. | ||
A list. The number of members of the list gives the number of modes of presentation. The list shall have at least two members. Each member of the list can be a specification of a port or a list consisting of a specification of a port and a string giving a description of the mode. | ||
A Boolean specifying whether the principal mode is simultaneous with the other modes. If it is, then when the current presentation mode is a mode other than the principal mode, both the content of the port for the principal mode and the content of the port for the current mode shall be displayed. | ||
A link flow object represents a hypertext link that can be interactively traversed, typically by clicking on the areas representing the flow object and its content. A link has a single principal port, which can contain both inlined and displayed flow objects. Link flow objects can be nested, and the innermost link is effective. | ||
An object of type address or a list of one or more objects of type address. | ||
The Marginalia Flow Object Class is used to contain flow objects whose resulting areas shall be attachment areas for the line in which the marginalia flow object occurs. A marginalia flow object shall have an ancestor flow object that is of class paragraph. The behavior when there is more than one marginalia area attached to a single line is system-dependent. | ||
A length specification that specifies the separation for the attachment. | ||
Symbols start or end specifying to which side of the line the marginalia shall be attached. | ||
Specified whether the marginalia shall be associated with the last area of the previous flow object instead of the first area resulting from the following flow object. |
Margin Headings | ||
Running Heads | ||
Security Classification | ||
TM Identification Number | ||
Binding Edge | ||
Outer Edge | ||
Running Feet | ||
Page Number | ||
System/Subsystem Number | ||
Issue Indicator | ||
Security Classification | ||
Foldout Figure Number and Title | ||
Technical Manual Identification Number | ||
Page Numbering, Tables, Illustrations, Footnotes and Appendices | ||
Blank Page Numbers | ||
Title Pages | ||
Warning Pages | ||
List of Effective Pages | ||
Verification Status Page | ||
Front Matter | ||
Foldout Figure Numbers | ||
Foldout Page Numbers | ||
Footnotes | ||
Appendices | ||
Glossary Pages | ||
Index Pages | ||
Headings | ||
Foldout Pages | ||
Multisheet Illustrations | ||
Emergency Page Markings | ||
Indentations | ||
Table Outline | ||
Table Titles | ||
Boxhead Titles and Rules | ||
Continued Table Material | ||
Table Footnotes | ||
Illustration Outline | ||
Figure Titles | ||
Illustration Legends | ||
System/Subsystem Numbers | ||
Divisions | ||
Volumes | ||
Parts | ||
Chapters | ||
Sections | ||
Paragraphs | ||
Paragraph Headings | ||
Primary Sideheads | ||
Subordinate Paragraphs | ||
Decimal Paragraph Numbering | ||
Procedural Steps | ||
Appendices | ||
Glossaries | ||
Index | ||
Style of Writing | ||
References | ||
Material Duplication | ||
Readability | ||
Abbreviations/Acronyms | ||
Metric Symbols | ||
Military Terms | ||
Tables, Charts, and Graphs | ||
Tabular Material | ||
Warnings, Cautions, and Notes | ||
Security Classification Markings | ||
Front Matter | ||
Cover/Title Page | ||
Title | ||
Title Warning | ||
Type of Manual | ||
Maintenance Levels | ||
Prime Title | ||
Subtitle | ||
Manufacturer | ||
Contract Number | ||
Seal | ||
Supercedure Notice | ||
Supplement Notice | ||
Volume Notice | ||
Disclosure Notice | ||
Distribution Statement | ||
| ||
Export Control Notice | ||
Destruction Notice | ||
Publication Date | ||
Change Number/Letter/Date | ||
Warning Page | ||
List of Effective Pages | ||
Identifying Change Numbers / Dates | ||
Acquiring Service Identification | ||
Multivolume Manuals | ||
Verification Status Page | ||
Change Record | ||
Table of Contents | ||
List of Illustrations | ||
List of Tables | ||
Foreword/Preface/Introduction | ||
International Standardization Agreements | ||
List of Related Publications | ||
List of Time Compliant Technical Orders | ||
Record of Applicable Technical Directives | ||
Safety Summary/General Precautions | ||
Illustrations | ||
Scale | ||
Letter Size | ||
Photographs/Line Drawings | ||
Photographs | ||
Continuous Tone Artwork | ||
Combination Artwork | ||
Diagrams/Wire Run Lists | ||
Exploded Views | ||
Engineering Drawings | ||
Multisection Illustrations | ||
Cartoons | ||
Color in Illustrations | ||
Border Rules | ||
Credits | ||
Callouts | ||
Index Numbers | ||
Nomenclature | ||
Leader Lines/Arrowheads | ||
Legends | ||
Steps | ||
Reference Designations | ||
Crop Size Marks | ||
Mounting of Artwork | ||
Idenitifying Artwork | ||
Covering of Artwork | ||
Changes | ||
Advanced Change Pages | ||
Changes to Cover and Title Page | ||
Numbering of Changes | ||
Numbering of Added Material | ||
Difference Data Sheets | ||
Transmittal Cover Sheets | ||
Illustration Changes | ||
Index Number Changes | ||
Deleted Paragraphs/Steps/Tables | ||
Change Designator | ||
Change Symbols for Text/Tables | ||
Change Symbols for Illustrations | ||
Changes to Looseleaf Publications | ||
Changes to Permanently Bound Publications | ||
Deletions | ||
Additions | ||
Text Suppression | ||
Minor Changes | ||
Changes to Tabular Material | ||
Revisions | ||
Renumbering and Removal | ||
Revision Change Symbols | ||
Supplements | ||
Classified Supplements | ||
Safety Supplements | ||
Operational Supplements | ||
Routine Supplements | ||
Incorporation of Supplements into Manuals | ||
Technical Order Page Supplements | ||
Brief Manuals | ||
#F | Stands for "False" |
#T | Stands for "True" |
CALS | Continuous Acquisition and Life-Cycle Support |
CD-ROM | Compact Disk with Read Only Memory |
CSMP | CALS Standards Management Plan |
DART | DSSSL Assessment Repository Tool |
DCN | Department of Defense (DoD) Continuous Acquisition and Life-Cycle Support (CALS) Network |
DoD | Department of Defense |
DSSSL | Document Style Semantics and Specification Language |
DTD | Document Type Definition |
e-i-c | Elements in Context |
EPC | Electronic Publishing Committee |
ETM | Electronic Technical Manual |
FOSI | Formatting Output Specification Instances |
FPSI | Formatting Presentation Specification Instance |
ICN | International CALS Network |
IETM | Interactive Electronic Technical Manual |
ISG | Industry Steering Group |
ISO | International Organization for Standardization |
JCALS | Joint Continuous Acquisition and Life-Cycle Support |
MORE | Multimedia-Oriented Reuse Environment |
OS | Output Specification |
PS | Presentation Specification |
SDQL | Standard Document Query Language |
SGML | Standard Generalized Markup Language |
sosofo | Specification of Sequence of Flow Objects |
SPDL | Standard Page Description Language instance |
TCL | Tool Command Language |
URL | Uniform Resource Locator |
WYSIWYG | What You See Is What You Get |