Another abandoned server code base... this is kind of an ancestor of taskrambler.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

19258 lines
2.1 MiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="EN"><head><title>Extensible Stylesheet Language (XSL) Version 2.0</title><style type="text/css">
code { font-family: monospace; }
div.constraint,
div.issue,
div.note,
div.notice { margin-left: 2em; }
ol.enumar { list-style-type: decimal; }
ol.enumla { list-style-type: lower-alpha; }
ol.enumlr { list-style-type: lower-roman; }
ol.enumua { list-style-type: upper-alpha; }
ol.enumur { list-style-type: upper-roman; }
div.exampleInner pre { margin-left: 1em;
margin-top: 0em; margin-bottom: 0em}
div.exampleOuter {border: 4px double gray;
margin: 0em; padding: 0em}
div.exampleInner { background-color: #d5dee3;
border-top-width: 4px;
border-top-style: double;
border-top-color: #d3d3d3;
border-bottom-width: 4px;
border-bottom-style: double;
border-bottom-color: #d3d3d3;
padding: 4px; margin: 0em }
div.exampleWrapper { margin: 4px }
div.exampleHeader { font-weight: bold;
margin: 4px}
</style><link rel="stylesheet" href="xslfo.css" type="text/css"/><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-WD.css"/><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/></head><body><div class="head"><p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"/></a></p>
<h1><a name="title" id="title"/>Extensible Stylesheet Language (XSL) Version 2.0</h1>
<h2><a name="w3c-doctype" id="w3c-doctype"/>W3C Working Draft 27 September 2011</h2><dl><dt>This version:</dt><dd>
<a href="http://www.w3.org/TR/2011/WD-xslfo20-20110927/">http://www.w3.org/TR/2011/WD-xslfo20-20110927/</a>
</dd><dt>Latest version:</dt><dd>
<a href="http://www.w3.org/TR/xslfo20/">http://www.w3.org/TR/xslfo20/</a>
</dd><dt>Previous version:</dt><dd>
<a href="http://www.w3.org/TR/2010/WD-xslfo20-20101216/">http://www.w3.org/TR/2010/WD-xslfo20-20101216/</a>
</dd><dt>Editor:</dt><dd>Dave Pawson. </dd></dl><p>This document is also available in these non-normative formats: <a href="http://www.w3.org/TR/2011/WD-xslfo20-20110927/xslspec.xml">XML file</a>.</p><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2011 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr/><div>
<h2><a name="abstract" id="abstract"/>Abstract</h2><p>This specification defines the features and syntax for
the Extensible Stylesheet Language (XSL),
a language for expressing stylesheets. It consists of two
parts:</p><ol class="enumar"><li><p>a language for transforming XML documents (XSLT, a separate specification), and</p></li><li><p>an XML vocabulary for specifying formatting
semantics (XSL-FO, this document).</p></li></ol><p>XSL-FO is a template-based XML vocabulary and expresison language
for formatting. It is intended that people first
transform their XML documents into XSL-FO, for example using XSLT,
and then use an XSL-FO formatter to generate a rendered result,
for example in PDF. In this way arbitrary XML documents can
be formatted. XSL-FO uses Cascading Style Sheet (CSS) properties,
extended where necessary, for the actual format, but also
supplies the concept of page templates (page masters, in
XSL-FO terminology), and also supports relatively sophisticated
document formatting, including index generation.
</p></div><div>
<h2><a name="status" id="status"/>Status of this Document</h2><p><em>This section describes the status of this document at the
time of its publication. Other documents may supersede this document.
A list of current W3C publications and the latest revision of this
technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
http://www.w3.org/TR/.</em></p><p>This document is a Working-Group Draft containing proposals for an
eventual XSL-FO 2.0 Recommendation. This is the first
document that incorporates both the previous XSL-FO 1.1
specification and new work. Because of limited resources,
this draft does not yet contain all of the work that was
in the previous version, published as Design Notes.
This does not reflect an intent to drop that work.</p><p>Comments on this document should be made using bugzilla, at
<a href="http://www.w3.org/Bugs/Public/">bugzilla</a>;
comments can also be sent by email to
<a href="mailto:xsl-editors@w3.org">xsl-editors@w3.org</a>
(see the
<a href="http://lists.w3.org/Archives/Public/xsl-editors/">public archive</a>),
and members
of the XSL-FO Task Force will enter them into bugzilla;
see <a href="http://www.w3.org/XML/2008/01/xsl-fo-bugzilla.html">www.w3.org/XML/2008/xsl-fo-bugzilla.html</a> for
instructions on using bugzilla to report issues.</p><p>Publication as a Working Draft does not imply endorsement by the W3C
Membership. This is a draft document and may be updated, replaced or
obsoleted by other documents at any time. It is inappropriate to cite
this document as other than work in progress.</p><p>This document has been produced as part of the <a href="http://www.w3.org/XML/Activity">W3C XML Activity</a> by the
<a href="http://www.w3.org/XML/XPPL">XML Print and Page Layout Working Group</a>.</p><p>General public discussion of XSL takes place on the <a href="http://www.mulberrytech.com/xsl/xsl-list/index.html">XSL-List</a> and on the
<a href="http://lists.w3.org/Archives/Public/www-xsl-fo/">www-xsl-fo@w3.org</a> mailing
lists; the www-xsl-fo list is probaby most appropriate for
general questions about the 2.0 work.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/47107/status">public list of any patent
disclosures</a> made in connection with the deliverables of the group;
that page also includes instructions for disclosing a patent. An
individual who has actual knowledge of a patent which the individual
believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must
disclose the information in accordance with section <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">6 of the W3C Patent
Policy</a>.</p></div><div class="toc">
<h2><a name="contents" id="contents"/>Table of Contents</h2><p class="toc">1 <a href="#d2e127">Introduction and Overview</a><br/>
    1.1 <a href="#d2e136">Processing a Stylesheet</a><br/>
        1.1.1 <a href="#d2e176">Tree Transformations</a><br/>
        1.1.2 <a href="#d2e201">Formatting</a><br/>
    1.2 <a href="#d2e324">Benefits of XSL</a><br/>
        1.2.1 <a href="#d2e337">Paging and Scrolling</a><br/>
        1.2.2 <a href="#d2e407">Selectors and Tree Construction</a><br/>
        1.2.3 <a href="#d2e414">An Extended Page Layout Model</a><br/>
        1.2.4 <a href="#d2e423">A Comprehensive Area Model</a><br/>
        1.2.5 <a href="#d2e432">Internationalization and Writing-Modes</a><br/>
        1.2.6 <a href="#d2e472">Linking</a><br/>
2 <a href="#d2e487">XSL Transformation</a><br/>
    2.1 <a href="#d2e490">Tree Construction</a><br/>
    2.2 <a href="#xsl-namespace">XSL Namespace</a><br/>
3 <a href="#fo-jc-intro">Introduction to Formatting</a><br/>
    3.1 <a href="#d2e624">Conceptual Procedure</a><br/>
4 <a href="#area_model">Area Model</a><br/>
    4.1 <a href="#area-intro">Introduction</a><br/>
    4.2 <a href="#area-rect">Rectangular Areas</a><br/>
        4.2.1 <a href="#d2e882">Area Types</a><br/>
        4.2.2 <a href="#area-common">Common Traits</a><br/>
        4.2.3 <a href="#area-geo">Geometric Definitions</a><br/>
        4.2.4 <a href="#area-treeorder">Tree Ordering</a><br/>
        4.2.5 <a href="#area-stackcon">Stacking Constraints</a><br/>
        4.2.6 <a href="#area-font">Font Baseline Tables</a><br/>
    4.3 <a href="#spacecond">Spaces and Conditionality</a><br/>
        4.3.1 <a href="#area-space">Space-resolution Rules</a><br/>
        4.3.2 <a href="#bpd-slack">Overconstrained space-specifiers</a><br/>
    4.4 <a href="#area-block">Block-areas</a><br/>
        4.4.1 <a href="#area-stackblock">Stacked Block-areas</a><br/>
        4.4.2 <a href="#verticalpositioning">Positioning in the block-progression direction</a><br/>
            4.4.2.1 <a href="#feathering">Feathering</a><br/>
            4.4.2.2 <a href="#correlating-vertical-position">Correlating position in the block-progression direction</a><br/>
            4.4.2.3 <a href="#column-vertical-alignment">Vertical alignment within a page or column</a><br/>
            4.4.2.4 <a href="#pagecolumnverticaljustification">Vertical justification across pages and columns</a><br/>
        4.4.3 <a href="#intrusadjust">Intrusion Adjustments</a><br/>
    4.5 <a href="#area-line">Line-areas</a><br/>
    4.6 <a href="#area-inline">Inline-areas</a><br/>
        4.6.1 <a href="#area-stackinline">Stacked Inline-areas</a><br/>
        4.6.2 <a href="#area-glyph">Glyph-areas</a><br/>
    4.7 <a href="#area-order">Ordering Constraints</a><br/>
        4.7.1 <a href="#area-genorder">General Ordering Constraints</a><br/>
        4.7.2 <a href="#area-linebuild">Line-building</a><br/>
        4.7.3 <a href="#area-inlinebuild">Inline-building</a><br/>
    4.8 <a href="#keepbreak">Keeps and Breaks</a><br/>
    4.9 <a href="#rendmodel">Rendering Model</a><br/>
        4.9.1 <a href="#rend-geo">Geometry</a><br/>
        4.9.2 <a href="#rend-view">Viewport Geometry</a><br/>
        4.9.3 <a href="#rend-vis">Visibility</a><br/>
        4.9.4 <a href="#rend-border">Border, Padding, and Background</a><br/>
        4.9.5 <a href="#rend-intrinsic">Intrinsic Marks</a><br/>
        4.9.6 <a href="#rend-layer">Layering and Conflict of Marks</a><br/>
    4.10 <a href="#area-tree-sample">Sample Area Tree</a><br/>
    4.11 <a href="#copyfitting">Copyfitting</a><br/>
        4.11.1 <a href="#copyfitting-summary">Summary</a><br/>
        4.11.2 <a href="#copyfitting-approach">Copyfit: basic approach and definitions</a><br/>
        4.11.3 <a href="#d2e5340">Copyfit Examples</a><br/>
        4.11.4 <a href="#d2e5507">Content Adjusting Strategies</a><br/>
5 <a href="#refinement">Property Refinement / Resolution</a><br/>
    5.1 <a href="#speccomact">Specified, Computed, and Actual Values, and Inheritance</a><br/>
        5.1.1 <a href="#d2e5600">Specified Values</a><br/>
        5.1.2 <a href="#d2e5620">Computed Values</a><br/>
        5.1.3 <a href="#d2e5685">Actual Values</a><br/>
        5.1.4 <a href="#inheritance">Inheritance</a><br/>
    5.2 <a href="#shortexpan">Shorthand Expansion</a><br/>
    5.3 <a href="#compcorr">Computing the Values of Corresponding Properties</a><br/>
        5.3.1 <a href="#refine-border-padding">Border and Padding Properties</a><br/>
        5.3.2 <a href="#refine-margin-space-indent">Margin, Space, and Indent Properties</a><br/>
        5.3.3 <a href="#d2e6147">Height, and Width Properties</a><br/>
        5.3.4 <a href="#overcons_geom">Overconstrained Geometry</a><br/>
    5.4 <a href="#d2e6534">Simple Property to Trait Mapping</a><br/>
        5.4.1 <a href="#d2e6555">Background-position-horizontal and background-position-vertical Properties</a><br/>
        5.4.2 <a href="#d2e6569">Column-number Property</a><br/>
        5.4.3 <a href="#d2e6574">Text-align Property</a><br/>
        5.4.4 <a href="#d2e6588">Text-align-last Property</a><br/>
        5.4.5 <a href="#d2e6602">z-index Property</a><br/>
        5.4.6 <a href="#d2e6610">Language Property</a><br/>
    5.5 <a href="#d2e6621">Complex Property to Trait Mapping</a><br/>
        5.5.1 <a href="#d2e6626">Word spacing and Letter spacing Properties</a><br/>
        5.5.2 <a href="#refine-reference-orientation">Reference-orientation Property</a><br/>
        5.5.3 <a href="#refine-writing-mode">Writing-mode and Direction Properties</a><br/>
        5.5.4 <a href="#refine-absolute-pos">Absolute-position Property</a><br/>
        5.5.5 <a href="#refine-relative-pos">Relative-position Property</a><br/>
        5.5.6 <a href="#refine-text-decoration">Text-decoration Property</a><br/>
        5.5.7 <a href="#fontprops">Font Properties</a><br/>
    5.6 <a href="#d2e6980">Non-property Based Trait Generation</a><br/>
    5.7 <a href="#d2e6989">Property Based Transformations</a><br/>
        5.7.1 <a href="#d2e6992">Text-transform Property</a><br/>
    5.8 <a href="#d2e7006">Unicode BIDI Processing</a><br/>
    5.9 <a href="#d2e7316">Expressions</a><br/>
        5.9.1 <a href="#d2e7324">Property Context</a><br/>
        5.9.2 <a href="#d2e7361">Evaluation Order</a><br/>
        5.9.3 <a href="#d2e7389">Basics</a><br/>
        5.9.4 <a href="#d2e7432">Function Calls</a><br/>
        5.9.5 <a href="#numbers">Numerics</a><br/>
        5.9.6 <a href="#d2e7718">Absolute Numerics</a><br/>
        5.9.7 <a href="#d2e7740">Relative Numerics</a><br/>
            5.9.7.1 <a href="#d2e7747">Percents</a><br/>
            5.9.7.2 <a href="#relative.lengths">Relative Lengths</a><br/>
        5.9.8 <a href="#d2e7791">Strings</a><br/>
        5.9.9 <a href="#d2e7805">Colors</a><br/>
        5.9.10 <a href="#d2e7819">Keywords</a><br/>
            5.9.10.1 <a href="#d2e7824">inherit</a><br/>
        5.9.11 <a href="#d2e7835">Lexical Structure</a><br/>
        5.9.12 <a href="#expr.value.conv">Expression Value Conversions</a><br/>
        5.9.13 <a href="#d2e8119">Definitions of Units of Measure</a><br/>
            5.9.13.1 <a href="#pixels">Pixels</a><br/>
    5.10 <a href="#d2e8237">Core Function Library</a><br/>
        5.10.1 <a href="#d2e8240">Number Functions</a><br/>
        5.10.2 <a href="#expr-color-functions">Color Functions</a><br/>
            5.10.2.1 <a href="#uncalibrated-device-color">Uncalibrated device color</a><br/>
        5.10.3 <a href="#d2e8445">Font Functions</a><br/>
        5.10.4 <a href="#d2e8473">Property Value Functions</a><br/>
    5.11 <a href="#datatype">Property Datatypes</a><br/>
6 <a href="#fo-section">Formatting Objects</a><br/>
    6.1 <a href="#d2e9034">Introduction to Formatting Objects</a><br/>
        6.1.1 <a href="#define-returned-by">Definitions Common to Many Formatting Objects</a><br/>
    6.2 <a href="#d2e9247">Formatting Object Content</a><br/>
    6.3 <a href="#d2e9289">Formatting Objects Summary</a><br/>
    6.4 <a href="#d2e10122">Declarations and Pagination and Layout Formatting Objects</a><br/>
        6.4.1 <a href="#pag-intro">Introduction</a><br/>
            6.4.1.1 <a href="#d2e10191">Page-sequence-masters</a><br/>
            6.4.1.2 <a href="#d2e10229">Page-masters</a><br/>
            6.4.1.3 <a href="#d2e10334">Page Generation</a><br/>
            6.4.1.4 <a href="#fafm">Flows and Flow Mapping</a><br/>
            6.4.1.5 <a href="#d2e10454">Constraints on Page Generation</a><br/>
            6.4.1.6 <a href="#d2e10490">Pagination Tree Structure</a><br/>
            6.4.1.7 <a href="#d2e10503">Example Flow Maps</a><br/>
                6.4.1.7.1 <a href="#d2e10511">Two flows mapping into their own regions</a><br/>
                6.4.1.7.2 <a href="#d2e10540">A flow mapping into two regions</a><br/>
                6.4.1.7.3 <a href="#d2e10555">Two flows mapping into a region</a><br/>
                6.4.1.7.4 <a href="#d2e10570">Two flows mapping into two regions</a><br/>
            6.4.1.8 <a href="#initialcaps">Initial Caps</a><br/>
        6.4.2 <a href="#fo_root">fo:root</a><br/>
        6.4.3 <a href="#fo_declarations">fo:declarations</a><br/>
        6.4.4 <a href="#fo_color-profile">fo:color-profile</a><br/>
        6.4.5 <a href="#fo_page-sequence">fo:page-sequence</a><br/>
        6.4.6 <a href="#fo_page-sequence-wrapper">fo:page-sequence-wrapper</a><br/>
        6.4.7 <a href="#fo_layout-master-set">fo:layout-master-set</a><br/>
        6.4.8 <a href="#fo_page-sequence-master">fo:page-sequence-master</a><br/>
        6.4.9 <a href="#fo_single-page-master-reference">fo:single-page-master-reference</a><br/>
        6.4.10 <a href="#fo_repeatable-page-master-reference">fo:repeatable-page-master-reference</a><br/>
        6.4.11 <a href="#fo_repeatable-page-master-alternatives">fo:repeatable-page-master-alternatives</a><br/>
        6.4.12 <a href="#fo_conditional-page-master-reference">fo:conditional-page-master-reference</a><br/>
        6.4.13 <a href="#fo_page-master">fo:page-master</a><br/>
        6.4.14 <a href="#fo_simple-page-master">fo:simple-page-master</a><br/>
        6.4.15 <a href="#fo_page-master">fo:page-master</a><br/>
        6.4.16 <a href="#fo_region-body">fo:region-body</a><br/>
        6.4.17 <a href="#fo_region-before">fo:region-before</a><br/>
        6.4.18 <a href="#fo_region-after">fo:region-after</a><br/>
        6.4.19 <a href="#fo_region-start">fo:region-start</a><br/>
        6.4.20 <a href="#fo_region-end">fo:region-end</a><br/>
        6.4.21 <a href="#fo_region">fo:region</a><br/>
        6.4.22 <a href="#fo_extension-region">Extension Regions</a><br/>
        6.4.23 <a href="#fo_extension-region-start">fo:extension-region-start</a><br/>
        6.4.24 <a href="#fo_extension-region-end">fo:extension-region-end</a><br/>
        6.4.25 <a href="#fo_shape-path-specifier">fo:shape-path-specifier</a><br/>
        6.4.26 <a href="#fo_shape-background-specifier">fo:shape-background-specifier</a><br/>
        6.4.27 <a href="#fo_shape-border-specifier">fo:shape-border-specifier</a><br/>
        6.4.28 <a href="#fo_flow">fo:flow</a><br/>
        6.4.29 <a href="#fo_static-content">fo:static-content</a><br/>
        6.4.30 <a href="#fo_title">fo:title</a><br/>
        6.4.31 <a href="#fo_flow-map">fo:flow-map</a><br/>
        6.4.32 <a href="#fo_flow-assignment">fo:flow-assignment</a><br/>
        6.4.33 <a href="#fo_flow-source-list">fo:flow-source-list</a><br/>
        6.4.34 <a href="#fo_flow-name-specifier">fo:flow-name-specifier</a><br/>
        6.4.35 <a href="#fo_flow-target-list">fo:flow-target-list</a><br/>
        6.4.36 <a href="#fo_region-name-specifier">fo:region-name-specifier</a><br/>
    6.5 <a href="#d2e14662">Block-level Formatting Objects</a><br/>
        6.5.1 <a href="#d2e14665">Introduction</a><br/>
            6.5.1.1 <a href="#d2e14676">Example</a><br/>
        6.5.2 <a href="#fo_block">fo:block</a><br/>
        6.5.3 <a href="#fo_block-container">fo:block-container</a><br/>
        6.5.4 <a href="#fo_alternative-copyfit-content">fo:alternative-copyfit-content</a><br/>
    6.6 <a href="#d2e15199">Inline-level Formatting Objects</a><br/>
        6.6.1 <a href="#d2e15202">Introduction</a><br/>
            6.6.1.1 <a href="#d2e15226">Examples</a><br/>
                6.6.1.1.1 <a href="#d2e15229">First Line of Paragraph in Small-caps</a><br/>
                6.6.1.1.2 <a href="#d2e15244">Figure with a Photograph</a><br/>
                6.6.1.1.3 <a href="#d2e15264">Page numbering and page number reference</a><br/>
                6.6.1.1.4 <a href="#d2e15281">Table of Contents with Leaders</a><br/>
        6.6.2 <a href="#fo_bidi-override">fo:bidi-override</a><br/>
        6.6.3 <a href="#fo_character">fo:character</a><br/>
        6.6.4 <a href="#fo_initial-property-set">fo:initial-property-set</a><br/>
        6.6.5 <a href="#fo_external-graphic">fo:external-graphic</a><br/>
        6.6.6 <a href="#fo_instream-foreign-object">fo:instream-foreign-object</a><br/>
        6.6.7 <a href="#fo_inline">fo:inline</a><br/>
        6.6.8 <a href="#fo_inline-container">fo:inline-container</a><br/>
        6.6.9 <a href="#fo_leader">fo:leader</a><br/>
        6.6.10 <a href="#fo_page-number">fo:page-number</a><br/>
        6.6.11 <a href="#fo_page-number-citation">fo:page-number-citation</a><br/>
        6.6.12 <a href="#fo_page-number-citation-last">fo:page-number-citation-last</a><br/>
        6.6.13 <a href="#fo_folio-prefix">fo:folio-prefix</a><br/>
        6.6.14 <a href="#fo_folio-suffix">fo:folio-suffix</a><br/>
        6.6.15 <a href="#fo_scaling-value-citation">fo:scaling-value-citation</a><br/>
    6.7 <a href="#d2e17500">Formatting Objects for Tables</a><br/>
        6.7.1 <a href="#d2e17503">Introduction</a><br/>
            6.7.1.1 <a href="#d2e17544">Examples</a><br/>
                6.7.1.1.1 <a href="#d2e17547">Simple Table, Centered and Indented</a><br/>
                6.7.1.1.2 <a href="#d2e17570">Simple Table with Relative Column-width Specifications</a><br/>
        6.7.2 <a href="#fo_table-and-caption">fo:table-and-caption</a><br/>
        6.7.3 <a href="#fo_table">fo:table</a><br/>
        6.7.4 <a href="#fo_table-column">fo:table-column</a><br/>
        6.7.5 <a href="#fo_table-caption">fo:table-caption</a><br/>
        6.7.6 <a href="#fo_table-header">fo:table-header</a><br/>
        6.7.7 <a href="#fo_table-footer">fo:table-footer</a><br/>
        6.7.8 <a href="#fo_table-body">fo:table-body</a><br/>
        6.7.9 <a href="#fo_table-row">fo:table-row</a><br/>
        6.7.10 <a href="#fo_table-cell">fo:table-cell</a><br/>
    6.8 <a href="#d2e19627">Formatting Objects for Lists</a><br/>
        6.8.1 <a href="#d2e19630">Introduction</a><br/>
            6.8.1.1 <a href="#d2e19778">Examples</a><br/>
                6.8.1.1.1 <a href="#d2e19781">Enumerated List</a><br/>
                6.8.1.1.2 <a href="#d2e19806">HTML-style "dl" lists</a><br/>
        6.8.2 <a href="#fo_list-block">fo:list-block</a><br/>
        6.8.3 <a href="#fo_list-item">fo:list-item</a><br/>
        6.8.4 <a href="#fo_list-item-body">fo:list-item-body</a><br/>
        6.8.5 <a href="#fo_list-item-label">fo:list-item-label</a><br/>
    6.9 <a href="#d2e20357">Dynamic Effects: Link and Multi Formatting Objects</a><br/>
        6.9.1 <a href="#d2e20360">Introduction</a><br/>
            6.9.1.1 <a href="#d2e20447">Examples</a><br/>
                6.9.1.1.1 <a href="#d2e20450">Expandable/Collapsible Table of Contents</a><br/>
                6.9.1.1.2 <a href="#d2e20492">Styling an XLink Based on the Active State</a><br/>
        6.9.2 <a href="#fo_basic-link">fo:basic-link</a><br/>
        6.9.3 <a href="#fo_multi-switch">fo:multi-switch</a><br/>
        6.9.4 <a href="#fo_multi-case">fo:multi-case</a><br/>
        6.9.5 <a href="#fo_multi-toggle">fo:multi-toggle</a><br/>
        6.9.6 <a href="#fo_multi-properties">fo:multi-properties</a><br/>
        6.9.7 <a href="#fo_multi-property-set">fo:multi-property-set</a><br/>
    6.10 <a href="#d2e21222">Formatting Objects for Indexing</a><br/>
        6.10.1 <a href="#d2e21225">Introduction</a><br/>
            6.10.1.1 <a href="#d2e21284">Example</a><br/>
                6.10.1.1.1 <a href="#d2e21404">Associating Index Keys with Formatting Objects</a><br/>
                6.10.1.1.2 <a href="#d2e21437">Building the Index</a><br/>
            6.10.1.2 <a href="#d2e21488">Processing the Example Index</a><br/>
                6.10.1.2.1 <a href="#ix-leave-separate">merge-pages-across-index-key-references="leave-separate"</a><br/>
                6.10.1.2.2 <a href="#ix-merge">merge-pages-across-index-key-references="merge"</a><br/>
            6.10.1.3 <a href="#d2e21672">Example Index</a><br/>
        6.10.2 <a href="#fo_index-page-number-prefix">fo:index-page-number-prefix</a><br/>
        6.10.3 <a href="#fo_index-page-number-suffix">fo:index-page-number-suffix</a><br/>
        6.10.4 <a href="#fo_index-range-begin">fo:index-range-begin</a><br/>
        6.10.5 <a href="#fo_index-range-end">fo:index-range-end</a><br/>
        6.10.6 <a href="#fo_index-key-reference">fo:index-key-reference</a><br/>
        6.10.7 <a href="#fo_index-page-citation-list">fo:index-page-citation-list</a><br/>
        6.10.8 <a href="#fo_index-page-citation-list-separator">fo:index-page-citation-list-separator</a><br/>
        6.10.9 <a href="#fo_index-page-citation-range-separator">fo:index-page-citation-range-separator</a><br/>
    6.11 <a href="#d2e22567">Formatting Objects for Bookmarks</a><br/>
        6.11.1 <a href="#fo_bookmark-tree">fo:bookmark-tree</a><br/>
        6.11.2 <a href="#fo_bookmark">fo:bookmark</a><br/>
        6.11.3 <a href="#fo_bookmark-title">fo:bookmark-title</a><br/>
    6.12 <a href="#d2e22776">Out-of-Line Formatting Objects</a><br/>
        6.12.1 <a href="#d2e22779">Introduction</a><br/>
            6.12.1.1 <a href="#d2e22782">Floats</a><br/>
            6.12.1.2 <a href="#d2e22829">Footnotes</a><br/>
            6.12.1.3 <a href="#pg-out-of-line">Conditional Sub-Regions</a><br/>
            6.12.1.4 <a href="#d2e22944">Examples</a><br/>
                6.12.1.4.1 <a href="#d2e22947">Floating Figure</a><br/>
                6.12.1.4.2 <a href="#d2e22967">Footnote</a><br/>
        6.12.2 <a href="#fo_float">fo:float</a><br/>
        6.12.3 <a href="#fo_marginalia">fo:marginalia</a><br/>
        6.12.4 <a href="#fo_marginalia-body">fo:marginalia-body</a><br/>
        6.12.5 <a href="#fo_footnote">fo:footnote</a><br/>
        6.12.6 <a href="#fo_footnote-body">fo:footnote-body</a><br/>
    6.13 <a href="#d2e23663">Other Formatting Objects</a><br/>
        6.13.1 <a href="#d2e23666">Introduction</a><br/>
            6.13.1.1 <a href="#d2e23669">Examples</a><br/>
                6.13.1.1.1 <a href="#d2e23672">Wrapper</a><br/>
                6.13.1.1.2 <a href="#d2e23697">Table Markers</a><br/>
        6.13.2 <a href="#fo_change-bar-begin">fo:change-bar-begin</a><br/>
        6.13.3 <a href="#fo_change-bar-end">fo:change-bar-end</a><br/>
        6.13.4 <a href="#fo_wrapper">fo:wrapper</a><br/>
        6.13.5 <a href="#fo_marker">fo:marker</a><br/>
        6.13.6 <a href="#fo_retrieve-marker">fo:retrieve-marker</a><br/>
        6.13.7 <a href="#fo_retrieve-table-marker">fo:retrieve-table-marker</a><br/>
7 <a href="#pr-section">Formatting Properties</a><br/>
    7.1 <a href="#d2e25211">Description of Property Groups</a><br/>
    7.2 <a href="#cssbox">XSL Areas and the CSS Box Model</a><br/>
    7.3 <a href="#percrule">Reference Rectangle for Percentage Computations</a><br/>
    7.4 <a href="#cssdatat">Additional CSS Datatypes</a><br/>
    7.5 <a href="#common-accessibility-properties">Common Accessibility Properties</a><br/>
        7.5.1 <a href="#source-document">source-document</a><br/>
        7.5.2 <a href="#role">role</a><br/>
    7.6 <a href="#common-absolute-position-properties">Common Absolute Position Properties</a><br/>
        7.6.1 <a href="#absolute-position">absolute-position</a><br/>
        7.6.2 <a href="#bottom">bottom</a><br/>
        7.6.3 <a href="#left">left</a><br/>
        7.6.4 <a href="#right">right</a><br/>
        7.6.5 <a href="#top">top</a><br/>
    7.7 <a href="#common-aural-properties">Common Aural Properties</a><br/>
        7.7.1 <a href="#azimuth">azimuth</a><br/>
        7.7.2 <a href="#cue-after">cue-after</a><br/>
        7.7.3 <a href="#cue-before">cue-before</a><br/>
        7.7.4 <a href="#elevation">elevation</a><br/>
        7.7.5 <a href="#pause-after">pause-after</a><br/>
        7.7.6 <a href="#pause-before">pause-before</a><br/>
        7.7.7 <a href="#pitch">pitch</a><br/>
        7.7.8 <a href="#pitch-range">pitch-range</a><br/>
        7.7.9 <a href="#play-during">play-during</a><br/>
        7.7.10 <a href="#richness">richness</a><br/>
        7.7.11 <a href="#speak">speak</a><br/>
        7.7.12 <a href="#speak-header">speak-header</a><br/>
        7.7.13 <a href="#speak-numeral">speak-numeral</a><br/>
        7.7.14 <a href="#speak-punctuation">speak-punctuation</a><br/>
        7.7.15 <a href="#speech-rate">speech-rate</a><br/>
        7.7.16 <a href="#stress">stress</a><br/>
        7.7.17 <a href="#voice-family">voice-family</a><br/>
        7.7.18 <a href="#volume">volume</a><br/>
    7.8 <a href="#common-border-padding-and-background-properties">Common Border, Padding, and Background Properties</a><br/>
        7.8.1 <a href="#background-attachment">background-attachment</a><br/>
        7.8.2 <a href="#background-color">background-color</a><br/>
        7.8.3 <a href="#background-image">background-image</a><br/>
        7.8.4 <a href="#background-position-horizontal">background-position-horizontal</a><br/>
        7.8.5 <a href="#background-position-vertical">background-position-vertical</a><br/>
        7.8.6 <a href="#background-repeat">background-repeat</a><br/>
        7.8.7 <a href="#border-after-color">border-after-color</a><br/>
        7.8.8 <a href="#border-after-style">border-after-style</a><br/>
        7.8.9 <a href="#border-after-width">border-after-width</a><br/>
        7.8.10 <a href="#border-before-color">border-before-color</a><br/>
        7.8.11 <a href="#border-before-style">border-before-style</a><br/>
        7.8.12 <a href="#border-before-width">border-before-width</a><br/>
        7.8.13 <a href="#border-bottom-color">border-bottom-color</a><br/>
        7.8.14 <a href="#border-bottom-style">border-bottom-style</a><br/>
        7.8.15 <a href="#border-bottom-width">border-bottom-width</a><br/>
        7.8.16 <a href="#border-end-color">border-end-color</a><br/>
        7.8.17 <a href="#border-end-style">border-end-style</a><br/>
        7.8.18 <a href="#border-end-width">border-end-width</a><br/>
        7.8.19 <a href="#border-left-color">border-left-color</a><br/>
        7.8.20 <a href="#border-left-style">border-left-style</a><br/>
        7.8.21 <a href="#border-left-width">border-left-width</a><br/>
        7.8.22 <a href="#border-right-color">border-right-color</a><br/>
        7.8.23 <a href="#border-right-style">border-right-style</a><br/>
        7.8.24 <a href="#border-right-width">border-right-width</a><br/>
        7.8.25 <a href="#border-start-color">border-start-color</a><br/>
        7.8.26 <a href="#border-start-style">border-start-style</a><br/>
        7.8.27 <a href="#border-start-width">border-start-width</a><br/>
        7.8.28 <a href="#border-top-color">border-top-color</a><br/>
        7.8.29 <a href="#border-top-style">border-top-style</a><br/>
        7.8.30 <a href="#border-top-width">border-top-width</a><br/>
        7.8.31 <a href="#padding-after">padding-after</a><br/>
        7.8.32 <a href="#padding-before">padding-before</a><br/>
        7.8.33 <a href="#padding-bottom">padding-bottom</a><br/>
        7.8.34 <a href="#padding-end">padding-end</a><br/>
        7.8.35 <a href="#padding-left">padding-left</a><br/>
        7.8.36 <a href="#padding-right">padding-right</a><br/>
        7.8.37 <a href="#padding-start">padding-start</a><br/>
        7.8.38 <a href="#padding-top">padding-top</a><br/>
    7.9 <a href="#common-font-properties">Common Font Properties</a><br/>
        7.9.1 <a href="#font-model">Fonts and Font Data</a><br/>
        7.9.2 <a href="#font-family">font-family</a><br/>
        7.9.3 <a href="#font-selection-strategy">font-selection-strategy</a><br/>
        7.9.4 <a href="#font-size">font-size</a><br/>
        7.9.5 <a href="#font-size-adjust">font-size-adjust</a><br/>
        7.9.6 <a href="#font-stretch">font-stretch</a><br/>
        7.9.7 <a href="#font-style">font-style</a><br/>
        7.9.8 <a href="#font-variant">font-variant</a><br/>
        7.9.9 <a href="#font-weight">font-weight</a><br/>
    7.10 <a href="#common-hyphenation-properties">Common Hyphenation Properties</a><br/>
        7.10.1 <a href="#country">country</a><br/>
        7.10.2 <a href="#hyphenate">hyphenate</a><br/>
        7.10.3 <a href="#hyphenation-character">hyphenation-character</a><br/>
        7.10.4 <a href="#hyphenation-push-character-count">hyphenation-push-character-count</a><br/>
        7.10.5 <a href="#hyphenation-remain-character-count">hyphenation-remain-character-count</a><br/>
        7.10.6 <a href="#language">language</a><br/>
        7.10.7 <a href="#script">script</a><br/>
        7.10.8 <a href="#hyphenation-push-syllable-count">hyphenation-push-syllable-count
</a><br/>
        7.10.9 <a href="#hyphenation-remain-syllable-count">hyphenation-remain-syllable-count</a><br/>
        7.10.10 <a href="#syllable-widows">syllable-widows</a><br/>
        7.10.11 <a href="#hyphenation-exceptions">hyphenation-exceptions</a><br/>
        7.10.12 <a href="#word-widows">word-widows</a><br/>
        7.10.13 <a href="#min-length-of-last-line">min-length-of-last-line</a><br/>
    7.11 <a href="#common-margin-properties-block">Common Margin Properties-Block</a><br/>
        7.11.1 <a href="#end-indent">end-indent</a><br/>
        7.11.2 <a href="#margin-bottom">margin-bottom</a><br/>
        7.11.3 <a href="#margin-left">margin-left</a><br/>
        7.11.4 <a href="#margin-right">margin-right</a><br/>
        7.11.5 <a href="#margin-top">margin-top</a><br/>
        7.11.6 <a href="#space-after">space-after</a><br/>
        7.11.7 <a href="#space-before">space-before</a><br/>
        7.11.8 <a href="#start-indent">start-indent</a><br/>
    7.12 <a href="#common-margin-properties-inline">Common Margin Properties-Inline</a><br/>
        7.12.1 <a href="#d2e33324">margin-bottom</a><br/>
        7.12.2 <a href="#d2e33332">margin-left</a><br/>
        7.12.3 <a href="#d2e33340">margin-right</a><br/>
        7.12.4 <a href="#d2e33348">margin-top</a><br/>
        7.12.5 <a href="#space-end">space-end</a><br/>
        7.12.6 <a href="#space-start">space-start</a><br/>
    7.13 <a href="#common-relative-position-properties">Common Relative Position Properties</a><br/>
        7.13.1 <a href="#d2e33531">bottom</a><br/>
        7.13.2 <a href="#d2e33539">left</a><br/>
        7.13.3 <a href="#d2e33547">right</a><br/>
        7.13.4 <a href="#relative-position">relative-position</a><br/>
        7.13.5 <a href="#d2e33618">top</a><br/>
    7.14 <a href="#common-wrap-properties">Common Wrap Properties</a><br/>
        7.14.1 <a href="#wrap">wrap</a><br/>
        7.14.2 <a href="#wrap-path">wrap-path</a><br/>
        7.14.3 <a href="#wrap-side">wrap-side</a><br/>
    7.15 <a href="#area-alignment">Area Alignment Properties</a><br/>
        7.15.1 <a href="#alignment-adjust">alignment-adjust</a><br/>
        7.15.2 <a href="#alignment-baseline">alignment-baseline</a><br/>
        7.15.3 <a href="#block-unit">block-unit</a><br/>
        7.15.4 <a href="#baseline-shift">baseline-shift</a><br/>
        7.15.5 <a href="#display-align">display-align</a><br/>
        7.15.6 <a href="#display-align-last">display-align-last</a><br/>
        7.15.7 <a href="#display-align-last-column">display-align-last-column</a><br/>
        7.15.8 <a href="#dominant-baseline">dominant-baseline</a><br/>
        7.15.9 <a href="#relative-align">relative-align</a><br/>
        7.15.10 <a href="#marginalia-relative-align">marginalia-relative-align</a><br/>
    7.16 <a href="#d2e35985">Area Dimension Properties</a><br/>
        7.16.1 <a href="#allowed-height-scale">allowed-height-scale</a><br/>
        7.16.2 <a href="#allowed-width-scale">allowed-width-scale</a><br/>
        7.16.3 <a href="#block-progression-dimension">block-progression-dimension</a><br/>
        7.16.4 <a href="#content-height">content-height</a><br/>
        7.16.5 <a href="#content-width">content-width</a><br/>
        7.16.6 <a href="#height">height</a><br/>
        7.16.7 <a href="#inline-progression-dimension">inline-progression-dimension</a><br/>
        7.16.8 <a href="#max-height">max-height</a><br/>
        7.16.9 <a href="#max-width">max-width</a><br/>
        7.16.10 <a href="#min-height">min-height</a><br/>
        7.16.11 <a href="#min-width">min-width</a><br/>
        7.16.12 <a href="#scaling">scaling</a><br/>
        7.16.13 <a href="#scaling-method">scaling-method</a><br/>
        7.16.14 <a href="#width">width</a><br/>
    7.17 <a href="#d2e37500">Block and Line-related Properties</a><br/>
        7.17.1 <a href="#hyphenation-keep">hyphenation-keep</a><br/>
        7.17.2 <a href="#hyphenation-ladder-count">hyphenation-ladder-count</a><br/>
        7.17.3 <a href="#last-line-end-indent">last-line-end-indent</a><br/>
        7.17.4 <a href="#line-height">line-height</a><br/>
        7.17.5 <a href="#line-height-shift-adjustment">line-height-shift-adjustment</a><br/>
        7.17.6 <a href="#line-stacking-strategy">line-stacking-strategy</a><br/>
        7.17.7 <a href="#linefeed-treatment">linefeed-treatment</a><br/>
        7.17.8 <a href="#text-align">text-align</a><br/>
        7.17.9 <a href="#text-align-last">text-align-last</a><br/>
        7.17.10 <a href="#text-indent">text-indent</a><br/>
        7.17.11 <a href="#white-space-collapse">white-space-collapse</a><br/>
        7.17.12 <a href="#white-space-treatment">white-space-treatment</a><br/>
        7.17.13 <a href="#wrap-option">wrap-option</a><br/>
        7.17.14 <a href="#initial-cap-lines">initial-cap-lines</a><br/>
        7.17.15 <a href="#initial-cap-lines-before">initial-cap-lines-before</a><br/>
        7.17.16 <a href="#initial-cap-kern-lines">initial-cap-kern-lines</a><br/>
        7.17.17 <a href="#initial-cap-indent">initial-cap-indent</a><br/>
    7.18 <a href="#d2e39174">Character Properties</a><br/>
        7.18.1 <a href="#character">character</a><br/>
        7.18.2 <a href="#letter-spacing">letter-spacing</a><br/>
        7.18.3 <a href="#suppress-at-line-break">suppress-at-line-break</a><br/>
        7.18.4 <a href="#text-decoration">text-decoration</a><br/>
        7.18.5 <a href="#text-shadow">text-shadow</a><br/>
        7.18.6 <a href="#text-transform">text-transform</a><br/>
        7.18.7 <a href="#treat-as-word-space">treat-as-word-space</a><br/>
        7.18.8 <a href="#word-spacing">word-spacing</a><br/>
    7.19 <a href="#d2e40039">Color-related Properties</a><br/>
        7.19.1 <a href="#color">color</a><br/>
        7.19.2 <a href="#color-profile-name">color-profile-name</a><br/>
        7.19.3 <a href="#rendering-intent">rendering-intent</a><br/>
    7.20 <a href="#d2e40230">Float-related Properties</a><br/>
        7.20.1 <a href="#clear">clear</a><br/>
        7.20.2 <a href="#float">float</a><br/>
        7.20.3 <a href="#intrusion-displace">intrusion-displace</a><br/>
    7.21 <a href="#d2e40926">Keeps and Breaks Properties</a><br/>
        7.21.1 <a href="#break-after">break-after</a><br/>
        7.21.2 <a href="#break-before">break-before</a><br/>
        7.21.3 <a href="#keep-together">keep-together</a><br/>
        7.21.4 <a href="#keep-with-next">keep-with-next</a><br/>
        7.21.5 <a href="#keep-with-previous">keep-with-previous</a><br/>
        7.21.6 <a href="#orphans">orphans</a><br/>
        7.21.7 <a href="#widows">widows</a><br/>
    7.22 <a href="#d2e41515">Layout-related Properties</a><br/>
        7.22.1 <a href="#clip">clip</a><br/>
        7.22.2 <a href="#overflow">overflow</a><br/>
        7.22.3 <a href="#reference-orientation">reference-orientation</a><br/>
        7.22.4 <a href="#span">span</a><br/>
        7.22.5 <a href="#bleed-box">
bleed-box</a><br/>
        7.22.6 <a href="#trim-box">
trim-box</a><br/>
    7.23 <a href="#d2e42160">Leader and Rule Properties</a><br/>
        7.23.1 <a href="#leader-alignment">leader-alignment</a><br/>
        7.23.2 <a href="#leader-pattern">leader-pattern</a><br/>
        7.23.3 <a href="#leader-pattern-width">leader-pattern-width</a><br/>
        7.23.4 <a href="#leader-length">leader-length</a><br/>
        7.23.5 <a href="#rule-style">rule-style</a><br/>
        7.23.6 <a href="#rule-thickness">rule-thickness</a><br/>
    7.24 <a href="#d2e42652">Properties for Dynamic Effects Formatting Objects</a><br/>
        7.24.1 <a href="#active-state">active-state</a><br/>
        7.24.2 <a href="#auto-restore">auto-restore</a><br/>
        7.24.3 <a href="#case-name">case-name</a><br/>
        7.24.4 <a href="#case-title">case-title</a><br/>
        7.24.5 <a href="#destination-placement-offset">destination-placement-offset</a><br/>
        7.24.6 <a href="#external-destination">external-destination</a><br/>
        7.24.7 <a href="#indicate-destination">indicate-destination</a><br/>
        7.24.8 <a href="#internal-destination">internal-destination</a><br/>
        7.24.9 <a href="#show-destination">show-destination</a><br/>
        7.24.10 <a href="#starting-state">starting-state</a><br/>
        7.24.11 <a href="#switch-to">switch-to</a><br/>
        7.24.12 <a href="#target-presentation-context">target-presentation-context</a><br/>
        7.24.13 <a href="#target-processing-context">target-processing-context</a><br/>
        7.24.14 <a href="#target-stylesheet">target-stylesheet</a><br/>
    7.25 <a href="#d2e43670">Properties for Indexing</a><br/>
        7.25.1 <a href="#index-class">index-class</a><br/>
        7.25.2 <a href="#index-key">index-key</a><br/>
        7.25.3 <a href="#page-number-treatment">page-number-treatment</a><br/>
        7.25.4 <a href="#merge-ranges-across-index-key-references">merge-ranges-across-index-key-references</a><br/>
        7.25.5 <a href="#merge-sequential-page-numbers">merge-sequential-page-numbers</a><br/>
        7.25.6 <a href="#merge-pages-across-index-key-references">merge-pages-across-index-key-references</a><br/>
        7.25.7 <a href="#ref-index-key">ref-index-key</a><br/>
    7.26 <a href="#d2e44093">Properties for Markers</a><br/>
        7.26.1 <a href="#marker-class-name">marker-class-name</a><br/>
        7.26.2 <a href="#retrieve-boundary-within-table">retrieve-boundary-within-table</a><br/>
        7.26.3 <a href="#retrieve-class-name">retrieve-class-name</a><br/>
        7.26.4 <a href="#retrieve-boundary">retrieve-boundary</a><br/>
        7.26.5 <a href="#retrieve-position">retrieve-position</a><br/>
        7.26.6 <a href="#retrieve-position-within-table">retrieve-position-within-table</a><br/>
    7.27 <a href="#d2e44672">Properties for Number to String Conversion</a><br/>
        7.27.1 <a href="#format">format</a><br/>
        7.27.2 <a href="#grouping-separator">grouping-separator</a><br/>
        7.27.3 <a href="#grouping-size">grouping-size</a><br/>
        7.27.4 <a href="#letter-value">letter-value</a><br/>
    7.28 <a href="#d2e44846">Pagination and Layout Properties</a><br/>
        7.28.1 <a href="#blank-or-not-blank">blank-or-not-blank</a><br/>
        7.28.2 <a href="#column-count">column-count</a><br/>
        7.28.3 <a href="#column-gap">column-gap</a><br/>
        7.28.4 <a href="#distance">distance</a><br/>
        7.28.5 <a href="#extent">extent</a><br/>
        7.28.6 <a href="#flow-map-name">flow-map-name</a><br/>
        7.28.7 <a href="#flow-map-reference">flow-map-reference</a><br/>
        7.28.8 <a href="#flow-name">flow-name</a><br/>
        7.28.9 <a href="#flow-name-reference">flow-name-reference</a><br/>
        7.28.10 <a href="#force-page-count">force-page-count</a><br/>
        7.28.11 <a href="#initial-page-number">initial-page-number</a><br/>
        7.28.12 <a href="#master-name">master-name</a><br/>
        7.28.13 <a href="#master-reference">master-reference</a><br/>
        7.28.14 <a href="#maximum-repeats">maximum-repeats</a><br/>
        7.28.15 <a href="#media-usage">media-usage</a><br/>
        7.28.16 <a href="#odd-or-even">odd-or-even</a><br/>
        7.28.17 <a href="#page-height">page-height</a><br/>
        7.28.18 <a href="#page-position">page-position</a><br/>
        7.28.19 <a href="#page-width">page-width</a><br/>
        7.28.20 <a href="#precedence">precedence</a><br/>
        7.28.21 <a href="#region-name">region-name</a><br/>
        7.28.22 <a href="#region-name-reference">region-name-reference</a><br/>
        7.28.23 <a href="#sequence-repeats">sequence-repeats</a><br/>
        7.28.24 <a href="#adjustable-properties">adjustable-properties</a><br/>
            7.28.24.1 <a href="#d2e46775">Value list simplification</a><br/>
            7.28.24.2 <a href="#d2e46827">Priority</a><br/>
            7.28.24.3 <a href="#alternative-copyfit-content">fo:alternative-copyfit-content</a><br/>
        7.28.25 <a href="#marginalia-destination-area">marginalia-destination-area</a><br/>
    7.29 <a href="#d2e46976">Table Properties</a><br/>
        7.29.1 <a href="#border-after-precedence">border-after-precedence</a><br/>
        7.29.2 <a href="#border-before-precedence">border-before-precedence</a><br/>
        7.29.3 <a href="#border-collapse">border-collapse</a><br/>
        7.29.4 <a href="#border-end-precedence">border-end-precedence</a><br/>
        7.29.5 <a href="#border-separation">border-separation</a><br/>
        7.29.6 <a href="#border-start-precedence">border-start-precedence</a><br/>
        7.29.7 <a href="#caption-side">caption-side</a><br/>
        7.29.8 <a href="#column-number">column-number</a><br/>
        7.29.9 <a href="#column-width">column-width</a><br/>
        7.29.10 <a href="#empty-cells">empty-cells</a><br/>
        7.29.11 <a href="#ends-row">ends-row</a><br/>
        7.29.12 <a href="#number-columns-repeated">number-columns-repeated</a><br/>
        7.29.13 <a href="#number-columns-spanned">number-columns-spanned</a><br/>
        7.29.14 <a href="#number-rows-spanned">number-rows-spanned</a><br/>
        7.29.15 <a href="#starts-row">starts-row</a><br/>
        7.29.16 <a href="#table-layout">table-layout</a><br/>
        7.29.17 <a href="#table-omit-footer-at-break">table-omit-footer-at-break</a><br/>
        7.29.18 <a href="#table-omit-header-at-break">table-omit-header-at-break</a><br/>
    7.30 <a href="#writing-mode-related">Writing-mode-related Properties</a><br/>
        7.30.1 <a href="#direction">direction</a><br/>
        7.30.2 <a href="#glyph-orientation-horizontal">glyph-orientation-horizontal</a><br/>
        7.30.3 <a href="#glyph-orientation-vertical">glyph-orientation-vertical</a><br/>
        7.30.4 <a href="#text-altitude">text-altitude</a><br/>
        7.30.5 <a href="#text-depth">text-depth</a><br/>
        7.30.6 <a href="#unicode-bidi">unicode-bidi</a><br/>
        7.30.7 <a href="#writing-mode">writing-mode</a><br/>
    7.31 <a href="#d2e49951">Miscellaneous Properties</a><br/>
        7.31.1 <a href="#change-bar-class">change-bar-class</a><br/>
        7.31.2 <a href="#change-bar-color">change-bar-color</a><br/>
        7.31.3 <a href="#change-bar-offset">change-bar-offset</a><br/>
        7.31.4 <a href="#change-bar-placement">change-bar-placement</a><br/>
        7.31.5 <a href="#change-bar-style">change-bar-style</a><br/>
        7.31.6 <a href="#change-bar-width">change-bar-width</a><br/>
        7.31.7 <a href="#content-type">content-type</a><br/>
        7.31.8 <a href="#id">id</a><br/>
        7.31.9 <a href="#intrinsic-scale-value">intrinsic-scale-value</a><br/>
        7.31.10 <a href="#page-citation-strategy">page-citation-strategy</a><br/>
        7.31.11 <a href="#provisional-distance-between-starts">provisional-distance-between-starts</a><br/>
        7.31.12 <a href="#provisional-label-separation">provisional-label-separation</a><br/>
        7.31.13 <a href="#ref-id">ref-id</a><br/>
        7.31.14 <a href="#scale-option">scale-option</a><br/>
        7.31.15 <a href="#score-spaces">score-spaces</a><br/>
        7.31.16 <a href="#src">src</a><br/>
        7.31.17 <a href="#visibility">visibility</a><br/>
        7.31.18 <a href="#z-index">z-index</a><br/>
        7.31.19 <a href="#xml.base">xml:base</a><br/>
        7.31.20 <a href="#output-base-uri">output-base-uri</a><br/>
    7.32 <a href="#d2e51362">Shorthand Properties</a><br/>
        7.32.1 <a href="#background">background</a><br/>
        7.32.2 <a href="#background-position">background-position</a><br/>
        7.32.3 <a href="#border">border</a><br/>
        7.32.4 <a href="#border-bottom">border-bottom</a><br/>
        7.32.5 <a href="#border-color">border-color</a><br/>
        7.32.6 <a href="#border-left">border-left</a><br/>
        7.32.7 <a href="#border-right">border-right</a><br/>
        7.32.8 <a href="#border-spacing">border-spacing</a><br/>
        7.32.9 <a href="#border-style">border-style</a><br/>
        7.32.10 <a href="#border-top">border-top</a><br/>
        7.32.11 <a href="#border-width">border-width</a><br/>
        7.32.12 <a href="#cue">cue</a><br/>
        7.32.13 <a href="#font">font</a><br/>
        7.32.14 <a href="#margin">margin</a><br/>
        7.32.15 <a href="#padding">padding</a><br/>
        7.32.16 <a href="#page-break-after">page-break-after</a><br/>
        7.32.17 <a href="#page-break-before">page-break-before</a><br/>
        7.32.18 <a href="#page-break-inside">page-break-inside</a><br/>
        7.32.19 <a href="#pause">pause</a><br/>
        7.32.20 <a href="#position">position</a><br/>
        7.32.21 <a href="#size">size</a><br/>
        7.32.22 <a href="#vertical-align">vertical-align</a><br/>
        7.32.23 <a href="#white-space">white-space</a><br/>
        7.32.24 <a href="#xml.lang">xml:lang</a><br/>
8 <a href="#conform">Conformance</a><br/>
</p>
<h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#FO-summary">Formatting Object Summary</a><br/>
    A.1 <a href="#d2e54528">Declaration and Pagination and Layout Formatting Objects</a><br/>
    A.2 <a href="#d2e54857">Block Formatting Objects</a><br/>
    A.3 <a href="#d2e54892">Inline Formatting Objects</a><br/>
    A.4 <a href="#d2e55097">Table Formatting Objects</a><br/>
    A.5 <a href="#d2e55282">List Formatting Objects</a><br/>
    A.6 <a href="#ConfMulti">Link and Multi Formatting Objects</a><br/>
    A.7 <a href="#d2e55436">Out-of-line Formatting Objects</a><br/>
    A.8 <a href="#d2e55494">Formatting Objects for Indexing</a><br/>
    A.9 <a href="#d2e55625">Formatting Objects for Bookmarks</a><br/>
    A.10 <a href="#d2e55687">Other Formatting Objects</a><br/>
B <a href="#property-index">Property Summary</a><br/>
    B.1 <a href="#trmval">Explanation of Trait Mapping Values</a><br/>
    B.2 <a href="#prtab1">Property Table: Part I</a><br/>
    B.3 <a href="#prtab2">Property Table: Part II</a><br/>
    B.4 <a href="#prapply">Properties and the FOs they apply to</a><br/>
C <a href="#d2e72986">References</a><br/>
    C.1 <a href="#d2e72989">Normative References</a><br/>
    C.2 <a href="#d2e73117">Other References</a><br/>
D <a href="#d2e73171">Property Index</a><br/>
E <a href="#change11">Changes from XSL 1.1</a> (Non-Normative)<br/>
F <a href="#d2e74068">Acknowledgements</a> (Non-Normative)<br/>
</p></div><hr/><div class="body"><div class="div1">
<h2><a name="d2e127" id="d2e127"/>1 Introduction and Overview</h2><p>This specification defines the Extensible Stylesheet Language
(XSL). XSL is a language for expressing stylesheets. Given a class of
arbitrarily structured XML <a href="#XML">[XML]</a> or <a href="#XML11">[XML 1.1]</a> documents or data files, designers use an XSL stylesheet
to express their intentions about how that structured content should
be presented; that is, how the source content should be styled, laid
out, and paginated onto some presentation medium, such as a window in
a Web browser or a hand-held device, or a set of physical pages in a
catalog, report, pamphlet, or book.
</p><div class="div2">
<h3><a name="d2e136" id="d2e136"/>1.1 Processing a Stylesheet</h3><p>
An XSL <b>stylesheet processor</b> accepts a document or data in
XML and an XSL stylesheet and produces the presentation of that XML
source content that was intended by the designer of that
stylesheet. There are two aspects of this presentation process: first,
constructing a result tree from the XML source tree and second,
interpreting the result tree to produce formatted results suitable for
presentation on a display, on paper, in speech, or onto other
media. The first aspect is called <b>tree transformation</b> and
the second is called <b>formatting</b>. The process of
formatting is performed by the <b>formatter.</b> This formatter
may simply be a rendering engine inside a browser.
</p><p>Tree transformation allows the structure of the result tree to be
significantly different from the structure of the source tree. For
example, one could add a table-of-contents as a filtered selection of
an original source document, or one could rearrange source data into a
sorted tabular presentation. In constructing the result tree, the
tree transformation process also adds the information necessary to
<a href="#format" class="property">format</a> that result tree.
</p><p>Formatting is enabled by including formatting semantics in the
result tree. Formatting semantics are expressed in terms of a catalog
of classes of <b>formatting objects.</b> The nodes of the result
tree are formatting objects. The classes of formatting objects denote
typographic abstractions such as page, paragraph, table, and so
forth. Finer control over the presentation of these abstractions is
provided by a set of <b>formatting properties</b>, such as those
controlling indents, word- and letter spacing, and widow, orphan, and
hyphenation control. In XSL, the classes of formatting objects and
formatting properties provide the vocabulary for expressing
presentation intent.
</p><p>The XSL processing model is intended to be conceptual only. An
implementation is not mandated to provide these as separate processes.
Furthermore, implementations are free to process the source document
in any way that produces the same result as if it were processed using
the conceptual XSL processing model. A diagram depicting the detailed
conceptual model is shown below.</p><div style="margin-left: 3em;">
<img src="figures/two-process.gif" alt="Diagram of XSL conceptual model, showing a source tree, transformed in a result tree with new element and attribute nodes, itself rendered by the XSL formatting on devices including printers, a cell phone and a Web browser." title="The XSL two processes: transformation and formatting"/>
<p><b>Figure 1. </b>XSL Two Processes: Transformation &amp; Formatting</p>
</div><div class="div3">
<h4><a name="d2e176" id="d2e176"/>1.1.1 Tree Transformations</h4><p>Tree transformation constructs the result tree. In XSL, this tree
is called the <b>element and attribute tree,</b> with objects
primarily in the "formatting object" namespace. In this tree, a
formatting object is represented as an XML element, with the
properties represented by a set of XML attribute-value pairs. The
content of the formatting object is the content of the XML
element. Tree transformation is defined in the XSLT Recommendation
<a href="#XSLT">[XSLT]</a>. A diagram depicting this conceptual process is
shown below.</p><div style="margin-left: 3em;">
<img src="figures/tree1-2.gif" alt="Detail of the previous diagram, showing the conceptual source and result trees, and describing that the transformation process can produce a result tree that has a quite different structure than that of the source tree." title="The XSL Transformation process"/>
<p><b>Figure 2. </b>Transform to Another Vocabulary</p>
</div><p>The XSL stylesheet is used in tree transformation. A stylesheet
contains a set of tree construction rules. The tree construction rules
have two parts: a pattern that is matched against elements in the
source tree and a template that constructs a portion of the result
tree. This allows a stylesheet to be applicable to a wide class of
documents that have similar source tree structures.
</p><p>In some implementations of XSL/XSLT, the result of tree
construction can be output as an XML document. This would allow an XML
document which contains formatting objects and formatting properties
to be output. This capability is neither necessary for an XSL
processor nor is it encouraged. There are, however, cases where this
is important, such as a server preparing input for a known client; for
example, the way that a WAP (<a href="http://www.wapforum.org/faqs/index.htm">http://www.wapforum.org/faqs/index.htm</a>)
server prepares specialized input for a WAP capable hand held
device. To preserve accessibility, designers of Web systems should not
develop architectures that require (or use) the transmission of
documents containing formatting objects and properties unless either
the transmitter knows that the client can accept formatting objects
and properties or the transmitted document contains a reference to the
source document(s) used in the construction of the document with the
formatting objects and properties.
</p></div><div class="div3">
<h4><a name="d2e201" id="d2e201"/>1.1.2 Formatting</h4><p>
Formatting interprets the result tree in its formatting object tree
form to produce the presentation intended by the designer
of the stylesheet from which the XML element and attribute
tree in the "fo" namespace was constructed.
</p><p>
The vocabulary of formatting objects supported by XSL - the set of
<code>fo:</code> element types - represents the set of
typographic abstractions available to the
designer. Semantically, each formatting object represents a
specification for a part of the pagination, layout, and styling
information that will be applied to the content of that formatting
object as a result of formatting the whole result tree. Each
formatting object class represents a particular kind of formatting
behavior. For example, the block formatting object class represents
the breaking of the content of a paragraph into lines. Other parts of
the specification may come from other formatting objects; for
example, the formatting of a paragraph (block formatting
object)
depends on both the specification of properties on the block
formatting object and the specification of the layout structure into
which the block is placed by the formatter.
</p><p>
The properties associated with an instance of a formatting object
control the formatting of that object. Some of the properties, for
example "<a href="#color" class="property">color</a>", directly specify the formatted result.
Other properties, for example '<a href="#space-before" class="property">space-before</a>', only constrain the set
of possible formatted results without specifying any particular
formatted result. The formatter may make choices among other
possible considerations such as esthetics.
</p><p>
Formatting consists of the generation of a tree
of geometric areas, called the <b>area tree</b>. The
geometric areas are
positioned on a sequence of one or more pages (a browser typically
uses a single page). Each geometric area has a <a href="#position" class="property">position</a> on the page, a
specification of what to display in that area and may have a
<a href="#background" class="property">background</a>, <a href="#padding" class="property">padding</a>, and borders. For example, formatting a
single
<a href="#character" class="property">character</a> generates an area sufficiently large enough to hold the
glyph that is used to present the <a href="#character" class="property">character</a> visually and the glyph is
what is displayed in this area. These areas may be nested. For
example, the glyph may be positioned within a line, within a
block, within a page.
</p><p>
Rendering
takes the area tree, the abstract model of the presentation (in terms
of pages and their collections of areas), and causes a
presentation to appear on the relevant medium, such as a browser
window on a computer display screen or sheets of paper. The semantics
of rendering are not described in detail in this specification.
</p><p>
The first step in formatting is to "objectify" the element
and attribute
tree obtained via an XSLT transformation.
Objectifying the tree basically consists of turning the
elements in the
tree into formatting object nodes and the
attributes into property specifications. The result of this step is
the <b>formatting object tree</b>.
</p><div style="margin-left: 3em;">
<img src="figures/tree2-3.gif" alt="Diagram showing how the Formatting Objects tree is 'objectified': new nodes are created as characters are converted to character FOs." title="Objectification of the FO tree"/>
<p><b>Figure 3. </b>Build the XSL Formatting Object Tree</p>
</div><p>
As part of the step of objectifying, the characters that occur in
the result tree are replaced by <a href="#fo_character" class="el">fo:character</a> nodes.
Characters in text nodes which consist
solely of white space characters and
which are children of elements whose corresponding formatting objects do
not permit <a href="#fo_character" class="el">fo:character</a> nodes as children are ignored. Other characters
within elements whose corresponding formatting objects do not permit
<a href="#fo_character" class="el">fo:character</a> nodes as children are errors.
</p><p>The content of the <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>
is not objectified;
instead the object representing the <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>
element points to the appropriate node in the element and
attribute tree.
Similarly any non-XSL namespace child element
of <a href="#fo_declarations" class="el">fo:declarations</a> is not objectified; instead the object representing
the <a href="#fo_declarations" class="el">fo:declarations</a> element points to the appropriate node in the
element and attribute tree.
</p><p>
The second phase in formatting is to refine the formatting
object tree
to produce the <b>refined formatting object tree</b>.
The refinement process handles the mapping from properties
to traits. This consists of: (1) shorthand expansion into
individual properties, (2) mapping of corresponding
properties, (3) determining computed values (may include
expression evaluation),
(4) handling <a href="#white-space-treatment" class="property">white-space-treatment</a> and <a href="#linefeed-treatment" class="property">linefeed-treatment</a>
property effects, and (5) inheritance.
Details on
refinement are found in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p><p>The refinement step is depicted in the diagram below.
</p><div style="margin-left: 3em;">
<img src="figures/tree3-4.gif" alt="Diagram showing the refinement process of the FO tree: traits are computed from properties using the inheritance model and evaluation of expressions." title="Refinement of the FO tree"/>
<p><b>Figure 4. </b>Refine the Formatting Object Tree</p>
</div><p>
The third step in formatting is the construction of the area
tree. The
area tree is generated as described in the semantics of each
formatting object. The traits applicable to each formatting
object
class control how the areas are generated. Although every
formatting property may be specified on every formatting object, for
each formatting object class, only a subset of the formatting
properties are used to determine the traits for objects of
that class.
</p><p>Area generation is depicted in the diagram below.
</p><div style="margin-left: 3em;">
<img src="figures/trees4-5.gif" alt="This figure shows the last step in the XSL process: a source tree of FOs transforms into a result tree of areas which is rendered on various devices (printer, phone, screen)." title="Area tree generation"/>
<p><b>Figure 5. </b>Generate the Area Tree</p>
</div><div style="margin-left: 3em;">
<img src="figures/process-sum.gif" alt="This diagram summarizes the XSL process for a sample formatting object block and two attributes: objectification turns the block element to the block FO and its attributes into properties. After refinement, properties become traits (units are normalized), and the last step makes a block area from the block FO." title="FO-to-area process summary"/>
<p><b>Figure 6. </b>Summary of the Process</p>
</div></div></div><div class="div2">
<h3><a name="d2e324" id="d2e324"/>1.2 Benefits of XSL</h3><p>Unlike the case of HTML, element names in XML have no intrinsic
presentation semantics. Absent a stylesheet, a processor could not
possibly know how to render the content of an XML document other
than as an undifferentiated string of characters. XSL provides
a comprehensive model and a vocabulary for writing such stylesheets using XML syntax.
</p><p>
This document is intended for implementors of such XSL processors.
Although it can be used as a reference manual for writers of XSL
stylesheets, it is not tutorial in nature. </p><p>
XSL builds on the prior work on Cascading Style Sheets
<a href="#CSS2">[CSS2]</a> and
the Document Style Semantics and Specification Language
<a href="#DSSSL">[DSSSL]</a>.
While many of XSL's formatting objects and properties correspond
to the common set of properties, this would not be
sufficient by
itself to accomplish all the goals of XSL. In particular, XSL introduces
a model for pagination and layout that extends what is currently available
and that can in turn be extended, in a straightforward way, to page
structures beyond the simple page models described in this specification.
</p><div class="div3">
<h4><a name="d2e337" id="d2e337"/>1.2.1 Paging and Scrolling</h4><p>Doing both scrollable document windows and pagination introduces
new complexities to the styling (and pagination) of XML content.
Because pagination introduces arbitrary boundaries
(pages or regions on pages) on the content, concepts such as
the control
of spacing at page, region, and block boundaries become
extremely important. There are also concepts related to
adjusting the spaces between lines (to adjust the page
vertically)
and between words and letters (to justify the lines of text).
These do not always arise with simple scrollable document
windows, such as those found in today's browsers. However, there
is a correspondence between a page with multiple regions, such as a body,
header, footer, and <a href="#left" class="property">left</a> and <a href="#right" class="property">right</a> sidebars, and a Web
presentation using "frames". The distribution of content into the regions
is basically the same in both cases, and XSL handles both
cases in an analogous fashion.</p><p>
XSL was developed to give designers control over the features
needed when documents are paginated as well as to provide an
equivalent "frame" based structure for browsing on the Web.
To achieve this control, XSL has extended the set of formatting
objects and formatting properties beyond those available in
either CSS2 or DSSSL.
In addition, the selection
of XML source components that can be styled (elements,
attributes, text nodes, comments, and processing
instructions) is based on XSLT and
XPath <a href="#XPATH">[XPath]</a>,
thus providing the
user with an extremely powerful selection mechanism. </p><p>
The design of the formatting objects and properties extensions
was first inspired by DSSSL. The actual extensions, however, do not
always look like the DSSSL constructs on which they were based. To either
conform more closely with the CSS2 specification or to
handle cases more simply than in DSSSL, some extensions have diverged from DSSSL.
</p><p>
There are several ways in which extensions were made. In some cases,
it sufficed to add new values, as in the case of those added to reflect
a variety of writing-modes, such as top-to-bottom and bottom-to-top, rather
than just left-to-right and right-to-left.
</p><p>
In other cases, common properties that are expressed in CSS2
as one property with multiple simultaneous values, were split into
several new properties to provide independent control over independent
aspects of the property. For example, the "<a href="#white-space" class="property">white-space</a>" property was
split into four properties:
a "<a href="#white-space-treatment" class="property">white-space-treatment</a>" property that
controls how white space is processed, a "<a href="#linefeed-treatment" class="property">linefeed-treatment</a>" property that controls
how line feeds are processed,
a "<a href="#white-space-collapse" class="property">white-space-collapse</a>" property that controls
how multiple consecutive spaces are collapsed,
and a "<a href="#wrap-option" class="property">wrap-option</a>" property
that controls whether lines are automatically wrapped when
they encounter a boundary, such as the edge of a column.
The effect of splitting a property into two or more
(sub-)properties is to make the equivalent existing CSS2
property a "shorthand" for the set of sub-properties it subsumes.
</p><p>
In still other cases, it was necessary to create new properties.
For example, there are a number of new properties that control how
hyphenation is done. These include identifying the <a href="#script" class="property">script</a> and <a href="#country" class="property">country</a>
the text is from as well as such properties as "<a href="#hyphenation-character" class="property">hyphenation-character</a>"
(which varies from <a href="#script" class="property">script</a> to <a href="#script" class="property">script</a>).
</p><p>
Some of the formatting objects and many of the properties in XSL
come from the CSS2 specification, ensuring compatibility
between the two.</p><p>
There are four classes of XSL properties that can be identified as:</p><ol class="enumar"><li><p>
CSS properties by copy (unchanged from their CSS2
semantics)</p></li><li><p>
CSS properties with extended values</p></li><li><p>
CSS properties broken apart and/or extended</p></li><li><p>
XSL-only properties</p></li></ol></div><div class="div3">
<h4><a name="d2e407" id="d2e407"/>1.2.2 Selectors and Tree Construction</h4><p>
As mentioned above, XSL uses XSLT and XPath for tree construction
and pattern selection, thus providing a high degree of control
over how portions of the source content are presented, and what
properties are associated with those content portions, even where
mixed namespaces are involved.
</p><p>
For example, the patterns of XPath allow the selection of a portion
of a string or the Nth text node in a paragraph. This allows
users to have a rule that makes all third paragraphs in
procedural steps appear in bold, for instance. In addition,
properties can be associated with a content portion based on the
numeric value of that content portion or attributes on the
containing element. This allows one to have a style rule
that makes negative values appear in "red" and positive
values appear in "black". Also, text can be generated
depending on a particular context in the source tree,
or portions of the source tree may be presented
multiple times with different styles.
</p></div><div class="div3">
<h4><a name="d2e414" id="d2e414"/>1.2.3 An Extended Page Layout Model</h4><p>
There is a set of formatting objects in XSL to describe both the
layout structure of a page or "frame"
(how big is the body; are there multiple columns;
are there headers, footers, or sidebars; how big are these)
and the rules by which the XML source content is placed into these "containers".
</p><p>
The layout structure is defined in terms of one or more instances
of a "simple-page-master" formatting object. This formatting
object allows one to define independently filled regions for
the body (with multiple columns), a header, a footer, and sidebars
on a page. These simple-page-masters can be used in page sequences
that specify in which order the various simple-page-masters shall be used.
The page sequence also specifies how styled content is to fill those pages.
This model allows one to specify a sequence of simple-page-masters
for a book chapter where the page instances are automatically
generated by the formatter or an explicit sequence of pages
such as used in a magazine layout. Styled content is assigned
to the various regions on a page by associating the name of the
region with names attached to styled content in the result tree.
</p><p>
In addition to these layout formatting objects and properties,
there are properties designed to provide the level of control
over formatting that is typical of paginated documents.
This includes control over hyphenation, and expanding the control over
text that is kept with other text in the same line, column,
or on the same page.
</p></div><div class="div3">
<h4><a name="d2e423" id="d2e423"/>1.2.4 A Comprehensive Area Model</h4><p>
The extension of the properties and formatting objects,
particularly in the area on control over the spacing of blocks, lines,
and page regions and within lines, necessitated an extension of the
CSS2 box formatting model. This extended model is described
in <a href="#area_model"><b>4 Area Model</b></a> of this
specification. The CSS2 box model is a
subset of this model. See the mapping of the CSS2 box model
terminology to the XSL Area Model terminology in
<a href="#cssbox"><b>7.2 XSL Areas and the CSS Box Model</b></a>.
The area model provides a vocabulary for describing
the relationships and space-adjustment between
letters, words, lines, and blocks.</p></div><div class="div3">
<h4><a name="d2e432" id="d2e432"/>1.2.5 Internationalization and Writing-Modes</h4><p>
There are some scripts, in particular in the Far East, that are
typically set with words proceeding from top-to-bottom and
lines proceeding either from right-to-left (most common) or
from left-to-right. Other directions are also
used. Properties expressed in terms of a fixed,
absolute frame of reference (using top, bottom, left, and right)
and which apply only to a notion of words proceeding from left to right
or right to left do not generalize well to
text written in those scripts.
</p><p>
For this reason XSL (and before it DSSSL) uses a relative frame of
reference for the formatting object and property descriptions. Just as
the CSS2 frame of reference has four directions (top, bottom, left and right),
so does the XSL relative frame of reference have four directions
(before, after, start, and end), but these are relative to the "<a href="#writing-mode" class="property">writing-mode</a>". The
"<a href="#writing-mode" class="property">writing-mode</a>" property is a way of controlling the
directions needed by a formatter to correctly place
glyphs, words, lines, blocks, etc. on the page or screen.
The "<a href="#writing-mode" class="property">writing-mode</a>" expresses the basic directions noted
above. There are writing-modes for "left-to-right - top-to-bottom"
(denoted as "lr-tb"), "right-to-left - top-to-bottom" (denoted as "rl-tb"),
"top-to-bottom - right-to-left" (denoted as "tb-rl") and more. See <a href="#writing-mode"><b>7.30.7 writing-mode</b></a>
for the description of the "<a href="#writing-mode" class="property">writing-mode</a>" property.
Typically, the <a href="#writing-mode" class="property">writing-mode</a> value specifies two directions:
the first is the inline-progression-direction which determines
the direction in which words will
be placed and the second is the block-progression-direction
which determines the direction in which blocks (and lines)
are placed one after another.
In addition, the inline-progression-direction
for a sequence of characters may be implicitly determined using
bidirectional <a href="#character" class="property">character</a> types for those characters from the
Unicode Character Database <a href="#UNICODE-CD">[UNICODE Character Database]</a>
for those characters and the Unicode bidirectional (BIDI) algorithm <a href="#UNICODE-TR9">[UNICODE UAX #9]</a>.
</p><p>
Besides the directions that are explicit in the name of the
value of the "<a href="#writing-mode" class="property">writing-mode</a>" property, the <a href="#writing-mode" class="property">writing-mode</a> determines
other directions needed by the formatter, such as the
shift-direction (used for subscripts and superscripts), etc.
</p></div><div class="div3">
<h4><a name="d2e472" id="d2e472"/>1.2.6 Linking</h4><p>
Because XML, unlike HTML, has no built-in semantics,
there is no built-in notion of a hypertext link.
In this context, "link" refers
to "hypertext link" as defined in
<a href="http://www.w3.org/TR/html401/struct/links.html#h-12.1">http://www.w3.org/TR/html401/struct/links.html#h-12.1</a>
as well as some of the aspects of "link" as defined in
<a href="http://www.w3.org/TR/xlink/#intro">http://www.w3.org/TR/xlink/#intro</a>,
where "link is a relationship between two or more resources or
portions of resources, made explicit by an XLink linking element".
Therefore,
XSL has a formatting object that expresses the dual semantics of
formatting the content of the link reference and the
semantics of following the link.</p><p>
XSL provides a few mechanisms for changing the presentation
of a link target that is being visited. One of these mechanisms
permits indicating the link target as such;
another allows for control over the placement of the link
target in the viewing area; still another permits some degree of
control over the way the link target is displayed in relationship
to the originating link anchor.</p><p>XSL also provides a general mechanism for changing the way elements
are formatted depending on their active state. This is particularly
useful in relation to links, to indicate whether a given link
reference has already been visited, or to apply a given style
depending on whether the mouse, for instance, is hovering over
the link reference or not.</p></div></div></div><div class="div1">
<h2><a name="d2e487" id="d2e487"/>2 XSL Transformation</h2><div class="div2">
<h3><a name="d2e490" id="d2e490"/>2.1 Tree Construction</h3><p>The Tree Construction is described in
"XSL Transformations" <a href="#XSLT">[XSLT]</a>.
The data model in XSLT is capable of representing either an
XML 1.0 document
(conforming to <a href="#XML">[XML]</a> and <a href="#XMLNAMES">[XML Names]</a>)
or an XML 1.1 document
(conforming to <a href="#XML11">[XML 1.1]</a> and <a href="#XMLNAMES11">[XML Names 1.1]</a>),
and it makes no distinction between the two.
In principle, therefore, XSL 1.1 can be used with either of these XML versions;
the only differences arise outside the boundary of the transformation proper,
while creating the data model from textual XML (parsing).</p><p>The provisions in "XSL Transformations" form an integral part of
this Recommendation and are considered normative.
Because the data model is the same whether the original document was
XML 1.0 or XML 1.1, the semantics of XSLT processing
do not depend on the version of XML used by the original document.
There is no reason in principle why all the documents
used in a single transformation must conform to the same version of XML.</p></div><div class="div2">
<h3><a name="xsl-namespace" id="xsl-namespace"/>2.2 XSL Namespace</h3><p>The XSL namespace has the URI <code>http://www.w3.org/1999/XSL/Format</code>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The <code>1999</code> in the URI indicates the year in which
the URI was allocated by the W3C. It does not indicate the version of
XSL being used.</p></div><p>XSL processors must use the XML namespaces mechanism
(<a href="#XMLNAMES">[XML Names]</a> or <a href="#XMLNAMES11">[XML Names 1.1]</a>)
to recognize elements and attributes from this
namespace. Elements from the XSL namespace are recognized only in the
stylesheet, not in the source document.
Implementors must not extend the XSL
namespace with additional elements or attributes. Instead, any
extension must be in a separate namespace.
The expanded-name of extension elements must have a
non-null namespace URI.</p><p>This specification uses the prefix <code>fo:</code> for referring
to elements in the XSL namespace. However, XSL stylesheets are free
to use any prefix, provided that there is a namespace declaration that
binds the prefix to the URI of the XSL namespace.</p><p>An element from the XSL namespace may have any attribute not from
the XSL namespace, provided that the <a href="http://www.w3.org/TR/xpath#dt-expanded-name">expanded-name</a> of the
attribute has a non-null namespace URI. The presence of such
attributes must not change the behavior of XSL elements and functions
defined in this document.
This means that an extension attribute may change the processing of
an FO, but only provided that the constraints specified by XSL on
that FO remain satisfied.
Thus, an XSL processor is always free to
ignore such attributes, and must ignore such attributes without giving
an error if it does not recognize the namespace URI. Such attributes
can provide, for example, unique identifiers, optimization hints, or
documentation.</p><p>It is an error for an element from the XSL namespace to have
attributes with expanded-names that have null namespace URIs
(i.e., attributes with unprefixed names) other than
attributes defined in this document.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The conventions used for the names of XSL elements,
attributes, and functions are as follows:
names are all lowercase,
hyphens are used to separate words, dots are used to
separate names for the components of complex datatypes,
and abbreviations are used only if they already
appear in the syntax of a related language such as XML or
HTML.</p></div></div></div><div class="div1">
<h2><a name="fo-jc-intro" id="fo-jc-intro"/>3 Introduction to Formatting</h2><p>The aim of this section is to describe the general process
of formatting, enough to read the area model and the
formatting object descriptions and properties and to
understand the process of refinement.</p><p><em>Formatting</em> is the process of turning the result of an XSL
transformation into a tangible form for the reader or listener. This
process comprises several steps, some of which depend on others in a
non-sequential way.
Our model for formatting will be the construction of an
<b>area tree</b>, which is an ordered tree containing
geometric information
for the placement of every glyph, shape, and image in the document,
together with information embodying spacing constraints and other rendering
information; this information is referred to under the rubric of
<em>traits</em>, which are to areas what properties are to formatting objects
and attributes are to XML elements.
<a href="#area_model"><b>4 Area Model</b></a> will
describe the area tree and
define the default placement constraints on stacked areas. However, this is
an abstract model which need not be actually implemented in this way
in a formatter, so long as the resulting tangible form obeys the implied constraints.
Constraints might conflict to the point where it is
impossible to satisfy them all. In that case, it is
implementation-defined which constraints should be relaxed
and in what order to satisfy the others.
</p><p><em>Formatting objects</em> are elements in the formatting object tree, whose
names are from the XSL namespace; a formatting object belongs to a
<em>class</em> of formatting objects identified by its element name. The
formatting behavior of each class of formatting objects is described in
terms of what areas are created by a formatting object of that class, how
the traits of the areas are established, and how the areas are
structured hierarchically with respect to areas created by other formatting
objects. <a href="#fo-section"><b>6 Formatting Objects</b></a> and
<a href="#pr-section"><b>7 Formatting Properties</b></a>
describe formatting objects and their properties.</p><p>Some formatting objects are <em>block-level</em> and others are
<em>inline-level</em>. This refers to the types of areas which they generate,
which in turn refer to their default placement method. Inline-areas (for
example, glyph-areas) are collected into lines and the <a href="#direction" class="property">direction</a> in which
they are stacked is the inline-progression-direction. Lines are a type of
block-area and these are stacked in a <a href="#direction" class="property">direction</a> perpendicular to the
inline-progression-direction, called the block-progression-direction. See
<a href="#area_model"><b>4 Area Model</b></a> for detailed decriptions
of these area types and directions.</p><p>In Western writing systems, the block-progression-direction is
"top-to-bottom" and the inline-progression-direction is
"left-to-right". This specification treats other writing systems
as well and introduces the terms "block" and "inline"
instead of using absolute indicators like "vertical" and
"horizontal". Similarly this specification tries to give
relatively-specified directions ("before" and "after"
in the block-progression-direction, "start" and "end"
in the inline-progression-direction) where appropriate, either in addition
to or in place of absolutely-specified directions such as "top",
"<a href="#bottom" class="property">bottom</a>", "<a href="#left" class="property">left</a>", and "<a href="#right" class="property">right</a>". These are
interpreted according to the value of the <a href="#writing-mode" class="property">writing-mode</a> property.</p><p>Central to this model of formatting is <em>refinement</em>.
This is a computational
process which finalizes the specification of properties based on the attribute
values in the XML result tree. Though the XML result tree and the formatting object
tree have very similar structure, it is helpful to think of them as
separate conceptual entities. Refinement involves</p><ul><li><p>propagating the various inherited values
of properties (both implicitly and those with an attribute value of "inherit"),
</p></li><li><p>evaluating expressions in property value specifications into actual
values, which
are then used to determine the value of the properties,</p></li><li><p>converting relative numerics to absolute numerics,</p></li><li><p>constructing some composite properties from more than one attribute</p></li></ul><p>Some of these operations (particularly evaluating expressions) depend on knowledge
of the area tree. Thus refinement is not necessarily a straightforward, sequential
procedure, but may involve look-ahead, back-tracking, or control-splicing with
other processes in the formatter. Refinement is described more fully in
<a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.</p><p>To summarize, formatting proceeds by constructing an area tree
(containing areas and their traits) which satisfies constraints based on
information contained in the XML result tree (containing
element nodes and their
attributes). Conceptually, there are intermediate steps of
constructing a formatting object tree (containing formatting objects and their
properties) and refinement;
these steps may proceed in an interleaved fashion during the
construction of the area tree.</p><div class="div2">
<h3><a name="d2e624" id="d2e624"/>3.1 Conceptual Procedure</h3><p>This subsection contains a conceptual description of how
formatting could work. This conceptual
procedure does not mandate any particular algorithms or data structures as
long as the result obeys the implied constraints.</p><p>The procedure works by processing formatting objects. Each object,
while being processed, may initiate processing of other objects. While the
objects are hierarchically structured, the processing is not; processing of
a given object is rather like a co-routine which may pass control to other
processes, but pick up again later where it <a href="#left" class="property">left</a> off. The procedure starts
by initiating the processing of the <a href="#fo_root" class="el">fo:root</a>
formatting object.</p><p>Unless otherwise specified, processing a formatting object creates areas
and returns
them to its parent to be placed in the area tree. Like a co-routine, when
given control, it initiates, then continues
formatting of its own children (if
any), or some subset of them. The formatting object supplies parameters to its
children
based on the traits of areas already in the area tree, possibly including
areas generated by the formatting object or its ancestors. It then disposes of the
areas
returned by its formatting object children. It might simply
return such an area to its
parent (and will always do this if it does not generate areas itself), or
alternatively it might arrange the area in the area tree according to the
semantics of the formatting object; this may involve changing its geometric position.
It
terminates processing when all its children have terminated processing (if
initiated) and it is finished generating areas.</p><p>Some formatting objects do not themselves generate areas; instead these
formatting objects simply
return the areas returned to them by their children. Alternatively, a formatting object
may continue to generate (and return) areas based on information discovered
while formatting its own children; for example, the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object
will continue generating pages as long as it contains a flow with
unprocessed descendants.</p><p>Areas returned to an <a href="#fo_root" class="el">fo:root</a> formatting object are
page-viewport-areas, and are simply placed as
children of the area tree root in the order in which they are returned,
with no geometrical implications.</p><p>As a general rule, the order of the area tree parallels the order of the
formatting object tree. That is, if one formatting object
precedes another in the depth-first
traversal of the formatting object tree, with neither
containing the other, then
all the areas generated by the first will precede all the areas generated
by the second in the depth-first traversal of the area tree, unless
otherwise specified. Typical exceptions to this rule would be things like
side floats, before floats, and footnotes.</p><p>At the end of the procedure, the areas and their traits have been
constructed, and they are required to satisfy constraints described in the
definitions of their associated formatting objects, and in the area model
section. In particular, <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of the areas will be subject to
the placement and spacing constraints described in the area model, unless
the formatting object definition indicates otherwise.</p><p>The formatting object definitions, property descriptions, and area model
are not algorithms. Thus, the formatting object semantics do not specify how
the line-breaking algorithm must work in collecting characters into words,
positioning words within lines, shifting lines within a container, etc.
Rather this specification assumes that the formatter has done these things
and describes the constraints which the result is supposed to
satisfy.
Thus, the constraints do not specify at what time an implementation
makes use of that information; the constraints only specify what must
be true after processing has been completed.
An actual implementation may well make use of some constraints at a
time other than when formatting the formatting object for which the
constraint applies. For example, the constraint given by the
"<a href="#hyphenate" class="property">hyphenate</a>" property on an <a href="#fo_character" class="el">fo:character</a> would typically be used during
line-building, rather than when progessing the <a href="#fo_character" class="el">fo:character</a>.
Other examples include constraints for keeps and breaks.</p></div></div><div class="div1">
<h2><a name="area_model" id="area_model"/>4 Area Model</h2><p>In XSL, one creates a tree of formatting objects that serve as inputs or
specifications to a formatter. The formatter generates a hierarchical arrangement
of areas which comprise the formatted result. This section defines the general
model of these areas and how they interact. The purpose is to present an abstract
framework which is used in describing the semantics of formatting objects.
It should be seen as describing a series of constraints for
conforming implementations,
and not as prescribing particular algorithms.</p><div class="div2">
<h3><a name="area-intro" id="area-intro"/>4.1 Introduction</h3><p>The formatter generates an ordered tree, the <b>area tree,</b> which
describes a geometric structuring of the output medium. The terms
<b>child, sibling, parent, descendant,</b> and <b>ancestor</b>
refer to this tree structure. The tree has a <b>root node</b>.</p><p>Each area tree node other than the root is called an <b>area</b> and is
associated to a rectangular portion of the output medium. Areas are
not formatting objects; rather, a formatting object generates zero or more
rectangular areas, and normally each area is generated by a unique object in the
formatting object tree.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The only exceptions to this rule are when several leaf nodes of the formatting object
tree are combined
to generate a single area, for example when several characters
in sequence generate a single ligature
glyph. In all such cases, relevant properties such as
<span class="trait">font-family</span> and <span class="trait">font-size</span> must be the same for
all the generating formatting objects (see section <a href="#area-linebuild"><b>4.7.2 Line-building</b></a>).</p></div><p>An area has a <b>content-rectangle</b>,
the portion in which its child areas are assigned, and optional
<b><a href="#padding" class="property">padding</a></b> and <b><a href="#border" class="property">border</a></b>. The diagram shows
how these portions are related to one another. The outer bound of the <a href="#border" class="property">border</a>
is called the <b>border-rectangle</b>, and the outer
bound of the
<a href="#padding" class="property">padding</a> is called the <b>padding-rectangle</b>.</p><img src="figures/RectsOnlyForModel.gif" alt="Nested rectangles showing the components of an area: innermost is the content rectangle, nested within the padding rectangle, itself nested within the border rectangle." title="Elements of an area"/><p>Each area has a set of <b>traits</b>, a mapping of names to values,
in the way elements have attributes and formatting objects have properties.
Individual traits are used either
for rendering the area or for defining constraints on the result of formatting,
or both. Traits used strictly for formatting purposes or for defining
constraints may be called <b>formatting traits</b>, and traits used for
rendering may be called <b>rendering traits</b>.
Traits whose values are copied or derived from a property
of the same or a corresponding
name are listed in <a href="#property-index"><b>B Property Summary</b></a> and <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>;
other traits are listed below.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Traits are also associated with FOs during the process of refinement.
Some traits are assigned during formatting, while others are already present after
refinement.</p></div><p>The semantics of each type of formatting object that generates areas are
given in terms of which areas it generates and their place in the area-tree
hierarchy. This may be further modified by interactions between the various
types of formatting
objects. The properties of the formatting object determine what areas are
generated and how the formatting object's content is distributed among them.
(For example, a word that is not to be hyphenated may not have its glyphs
distributed into areas on two separate line-areas.)</p><p>The traits of an area are either:</p><p><b>directly-derived</b>: the values of directly-derived traits are the computed
value of a property of the same or a corresponding name on the generating formatting object, or</p><p><b>indirectly-derived</b>: the values of indirectly-derived traits are the
result of a computation involving the computed values of one or more properties
on the generating formatting object, other traits on this area or other
interacting areas (ancestors, parent, siblings, and/or children) and/or
one or more values constructed by the formatter. The calculation formula
may depend on the type of the formatting object.</p><p>This description assumes that refined values have been computed for all
properties of formatting objects in the result tree, i.e.,
all relative and corresponding values have been computed and the inheritable
values have been propagated as described in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>. This
allows the
process of inheritance to be described once and avoids a need to repeat
information on computing values
in this description.</p><p>The indirectly-derived traits are:
<span class="trait">block-progression-direction</span>,
<span class="trait">inline-progression-direction</span>,
<span class="trait">shift-direction</span>,
<span class="trait">glyph-orientation</span>,
<span class="trait">is-reference-area</span>,
<span class="trait">is-viewport-area</span>,
<span class="trait">left-position</span>,
<span class="trait">right-position</span>,
<span class="trait">top-position</span>,
<span class="trait">bottom-position</span>,
<span class="trait">left-offset</span>,
<span class="trait">top-offset</span>,
<span class="trait">is-first</span>,
<span class="trait">is-last</span>,
<span class="trait">alignment-point</span>,
<span class="trait">area-class</span>,
<span class="trait">start-intrusion-adjustment</span>,
<span class="trait">end-intrusion-adjustment</span>,
<span class="trait">generated-by</span>,
<span class="trait">returned-by</span>,
<span class="trait">folio-number</span>,
<span class="trait">blink</span>,
<span class="trait">underline-score</span>,
<span class="trait">overline-score</span>,
<span class="trait">through-score</span>,
<span class="trait">underline-score-color</span>,
<span class="trait">overline-score-color</span>,
<span class="trait">through-score-color</span>,
<span class="trait">alignment-baseline</span>,
<span class="trait">baseline-shift</span>,
<span class="trait">nominal-font</span>,
<span class="trait">dominant-baseline-identifier</span>,
<span class="trait">actual-baseline-table</span>, and
<span class="trait">script</span>.
</p></div><div class="div2">
<h3><a name="area-rect" id="area-rect"/>4.2 Rectangular Areas</h3><div class="div3">
<h4><a name="d2e882" id="d2e882"/>4.2.1 Area Types</h4><p>There are two types of areas: <b>block-areas</b> and
<b>inline-areas</b>. These differ according to how
they are typically stacked by the formatter. An area can have
block-area children or inline-area children as determined
by the generating formatting object, but a given area's children must all be of
one type. Although block-areas and inline-areas are
typically stacked, some areas can be explicitly positioned.</p><p>A <b>line-area</b> is a special kind of block-area whose children
are all inline-areas. A <b>glyph-area</b> is a special kind of
inline-area which has no child areas, and has a single
glyph image as its content.</p><p>Typical examples of areas are: a paragraph rendered by using
an <a href="#fo_block" class="el">fo:block</a> formatting object,
which generates block-areas,
and a <a href="#character" class="property">character</a> rendered by using an <a href="#fo_character" class="el">fo:character</a>
formatting object,
which generates an inline-area (in fact, a glyph-area).</p></div><div class="div3">
<h4><a name="area-common" id="area-common"/>4.2.2 Common Traits</h4><p>Associated with any area are two directions, which are derived from the
generating
formatting object's <span class="trait">writing-mode</span> and
<span class="trait">reference-orientation</span> properties: the
<b>block-progression-direction</b> is the <a href="#direction" class="property">direction</a> for stacking block-area
descendants of the area, and the
<b>inline-progression-direction</b> is the <a href="#direction" class="property">direction</a> for stacking inline-area
descendants of the area. Another
trait, the <b>shift-direction</b>, is present on inline-areas and refers to
the <a href="#direction" class="property">direction</a> in which baseline
shifts are applied. Also the <b>glyph-orientation</b> defines the orientation
of glyph-images in the rendered result.</p><p>If the <a href="#reference-orientation" class="property">reference-orientation</a> for an area is 0, then the
top, <a href="#bottom" class="property">bottom</a>, <a href="#left" class="property">left</a>, and <a href="#right" class="property">right</a> edges of the content are parallel to those of
the area's parent and consistent with them. Otherwise the edges are rotated
from those of the area's parent as described in <a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a>.
The inline-progression-direction and block-progression-direction are determined
by the location of these edges as described in <a href="#writing-mode"><b>7.30.7 writing-mode</b></a>.</p><p>The Boolean trait <span class="trait">is-reference-area</span> determines
whether or not an area establishes a coordinate system for
specifying indents. An area for which this trait is <code>true</code>
is called a <b>reference-area</b>.
Only a reference-area may have a block-progression-direction which is different from
that of its parent.
A reference-area may be either a
block-area or an inline-area.
Only specific formatting objects generate reference areas.</p><p>The Boolean trait <span class="trait">is-viewport-area</span> determines
whether or not an area establishes an opening through which its
descendant areas can be viewed, and can be used to
present clipped or scrolled material; for example, in printing
applications where bleed and trim is desired.
An area for which this trait is <code>true</code>
is called a <b>viewport-area</b>.
A viewport-area also has the value <code>true</code>
for the <span class="trait">is-reference-area</span> trait.</p><p>A common construct is a <b>viewport/reference pair</b>.
This is a
viewport-area <var>V</var> and a block-area
reference-area <var>R</var>, where <var>R</var> is the sole child
of <var>V</var> and where the start-edge and end-edge of the
content-rectangle of <var>R</var> are parallel to the start-edge and
end-edge of the content-rectangle of <var>V</var>.</p><p>Each area has the traits <b>top-position</b>, <b>bottom-position</b>,
<b>left-position</b>, and <b>right-position</b> which represent the distance
from the edges of its content-rectangle to the like-named edges of the
nearest ancestor reference-area (or the page-viewport-area
in the
case of areas generated by descendants of formatting objects
whose <a href="#absolute-position" class="property">absolute-position</a> is <code>fixed</code>); the <b>left-offset</b>
and <b>top-offset</b> determine the amount by which
a relatively-positioned area is shifted for rendering. These traits receive
their values during the formatting process, or in the case
of absolutely positioned areas, during refinement.</p><p>The <b><a href="#block-progression-dimension" class="property">block-progression-dimension</a></b> and
<b><a href="#inline-progression-dimension" class="property">inline-progression-dimension</a></b> of an area represent the
<a href="#extent" class="property">extent</a> of the content-rectangle of that area in each of the two
relative directions.</p><p>Other traits include:</p><ul><li><p>the <span class="trait">is-first</span> and <span class="trait">is-last</span> traits, which are Boolean traits
indicating the order in which areas are generated and returned
(See <a href="#define-returned-by"><b>6.1.1 Definitions Common to Many Formatting Objects</b></a>)
by a given
formatting object.
<span class="trait">is-first</span> is <code>true</code>
for the first area (or only area) generated and returned by a formatting object,
and <span class="trait">is-last</span>
is <code>true</code> for the last area (or only area);</p></li><li><p>the amount of space outside the border-rectangle: <b><a href="#space-before" class="property">space-before</a></b>,
<b><a href="#space-after" class="property">space-after</a></b>, <b><a href="#space-start" class="property">space-start</a></b>, and <b><a href="#space-end" class="property">space-end</a></b>
(though some of these may be required to be zero on certain classes of area);</p><div class="note"><p class="prefix"><b>Note:</b></p><p>"Before", "after", "start",
and "end" refer to relative directions and are defined
below.</p></div></li><li><p>the thickness of each of the four sides of the padding: <b><a href="#padding-before" class="property">padding-before</a></b>,
<b><a href="#padding-after" class="property">padding-after</a></b>, <b><a href="#padding-start" class="property">padding-start</a></b>, and <b><a href="#padding-end" class="property">padding-end</a></b>;</p></li><li><p>the style, thickness, and color of each of the
four sides of the border: <b>border-before</b>, etc.;</p></li><li><p>the <a href="#background" class="property">background</a> rendering of the
area: <b><a href="#background-color" class="property">background-color</a></b>, <b><a href="#background-image" class="property">background-image</a></b>, and
other <a href="#background" class="property">background</a> traits; and</p></li><li><p>the <span class="trait">nominal-font</span> for an area, as
determined by the <a href="#font" class="property">font</a> properties and the <a href="#character" class="property">character</a> descendants of the
area's generating formatting object.
(see <a href="#fontprops"><b>5.5.7 Font Properties</b></a>)</p></li></ul><p>Unless otherwise specified, the traits of a
formatting object are present on each of its generated areas,
and with the same value. (However, see sections
<a href="#area-linebuild"><b>4.7.2 Line-building</b></a> and <a href="#rend-border"><b>4.9.4 Border, Padding, and Background</b></a>.)
The <span class="trait">id</span> trait is computed for formatting objects but
is not present on areas.</p></div><div class="div3">
<h4><a name="area-geo" id="area-geo"/>4.2.3 Geometric Definitions</h4><p>As described above, the <b>content-rectangle</b> is the rectangle
bounding the inside of the <a href="#padding" class="property">padding</a> and is used to describe
the constraints on the positions of descendant areas. It is possible that
marks from descendant glyphs or other areas may appear outside the
content-rectangle.</p><p>Related to this is the <b>allocation-rectangle</b>
of an area,
which is used to describe the constraints on the <a href="#position" class="property">position</a> of
the area within its parent area. For an inline-area this is either the
<b>normal-allocation-rectangle</b> or the <b>large-allocation-rectangle</b>.
The <b>normal-allocation-rectangle</b>
extends
to the content-rectangle
in the block-progression-direction and to the border-rectangle in the
inline-progression-direction. The <b>large-allocation-rectangle</b>
is the border-rectangle. Unless
otherwise specified, the allocation-rectangle for an area is the
normal-allocation-rectangle.
</p><div style="margin-left: 3em;">
<img src="figures/AllocationRectInline.4.gif" alt="This diagram shows the position of the normal allocation rectangle of an inline area, as described in the text." title="Normal-allocation-rectangle of an inline-area"/>
<p><b>Figure 7. </b>Normal-allocation-rectangle of an inline-area</p>
</div><div style="margin-left: 3em;">
<img src="figures/AllocationRectInline-Large.gif" alt="This diagram shows the position of the large allocation rectangle of an inline area, which is the same at the border rectangle." title="Large-allocation-rectangle of an inline-area"/>
<p><b>Figure 8. </b>Large-allocation-rectangle of an inline-area</p>
</div><p>For a block-area, the allocation-rectangle extends to the border-rectangle in
the block-progression-direction and outside the content-rectangle
in the inline-progression-direction by an amount equal to
the <span class="trait">end-indent</span>,
and in the opposite <a href="#direction" class="property">direction</a> by an amount equal to the <span class="trait">start-indent</span>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The inclusion of space outside the border-rectangle of a block-area
in the inline-progression-direction does not affect
placement constraints, and
is intended to promote compatibility with the CSS box model.</p></div><div style="margin-left: 3em;">
<img src="figures/AllocationRect.2.gif" alt="This diagram shows the position of the allocation rectangle of a block area, as described in the text." title="Allocation- and content-rectangles of a block-area"/>
<p><b>Figure 9. </b>Allocation- and content-rectangles of a block-area</p>
</div><p>The edges of a rectangle are designated as follows:</p><ul><li><p>the <b>before-edge</b> is the edge occurring first in the
block-progression-direction and perpendicular
to it;</p></li><li><p>the <b>after-edge</b> is the edge opposite
the before-edge;</p></li><li><p>the <b>start-edge</b> is the edge occurring
first in the inline-progression-direction and perpendicular
to it,</p></li><li><p>the <b>end-edge</b> is the edge opposite the
start-edge.</p></li></ul><p>For purposes of this definition, the content-rectangle of an area uses the
inline-progression-direction and block-progression-direction of that area;
but the border-rectangle, padding-rectangle, and
allocation-rectangle use the
directions of its parent area. Thus the edges designated for the
content-rectangle may not correspond to the same-named edges
on the padding-, border-,
and allocation-rectangles. This is important in the case of
nested areas with different writing-modes or reference-orientation.</p><p>The following diagram shows the correspondence between the various edge
names for a mixed <a href="#writing-mode" class="property">writing-mode</a> example:</p><img src="figures/japaneseblock3.gif" alt="Example of nested areas with different writing modes: a block with English text (writing mode: left-to-right, top-to-bottom) contains a block with Japanese text (writing-mode: top-to-bottom, right-to-left). The position of relative edges (start, end, before and after) is shown on each area." title="Embedded areas with different writing-modes"/><p>Each inline-area has an <b>alignment-point</b> determined by the formatter,
on the start-edge
of its allocation-rectangle; for a glyph-area, this is
a point on the start-edge of the glyph on its alignment baseline (see below).
This is script-dependent and does not necessarily correspond to the
(0,0) coordinate point used for the data describing the glyph shape.</p></div><div class="div3">
<h4><a name="area-treeorder" id="area-treeorder"/>4.2.4 Tree Ordering</h4><p>In the area tree, the set of areas with a given parent is ordered.
The terms <b>initial, final, preceding</b>, and
<b>following</b> refer to this ordering.</p><p>In any ordered tree, this sibling order extends to an ordering of the entire tree
in at least two ways.</p><ul><li><p>In the <b>pre-order traversal order</b> of a tree, the children
of each node (their order unchanged relative to one another) follow the node, but
precede any following siblings of the node or of its ancestors.</p></li><li><p>In the <b>post-order traversal order</b> of a tree, the children of
each node precede the node, but follow any preceding siblings of the node or of its
ancestors.</p></li></ul><p>"Preceding" and "following", when applied to non-siblings, will depend on the
extension order used, which must be specified. However, in either of these given orders,
the leaves of the tree (nodes without children) are unambiguously ordered.</p></div><div class="div3">
<h4><a name="area-stackcon" id="area-stackcon"/>4.2.5 Stacking Constraints</h4><p>This section defines the notion of <b>block-stacking constraints</b> and
<b>inline-stacking constraints</b> involving areas. These are defined as
ordered relations, i.e., if <var>A</var> and <var>B</var>
have a stacking constraint
it does not necessarily mean that <var>B</var> and <var>A</var> have a stacking
constraint. These definitions are recursive in nature and some cases may depend
upon simpler cases of the same definition. This is not circularity but rather a
consequence of recursion. The intention of the
definitions is to identify areas at any level of the
tree which may have only space between them.</p><p>The <span class="trait">area-class</span> trait is an enumerated value which is
<code>xsl-normal</code> for an area which is stacked with
other areas in sequence. A <b>normal</b> area is an
area for which this trait is <code>xsl-normal</code>. A
<b>page-level-out-of-line</b>
area is an area with area-class <code>xsl-footnote</code>,
<code>xsl-before-float</code>,
or <code>xsl-fixed</code>; placement of these areas is controlled
by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
ancestor of its generating formatting object. A <b>reference-level-out-of-line</b>
area is an area with area-class
<code>xsl-side-float</code> or <code>xsl-absolute</code>;
placement of these areas is controlled by the formatting object generating
the relevant reference-area. An <b>anchor</b>
area is an area with area-class
<code>xsl-anchor</code>;
placement of these areas is arbitrary and does not affect stacking.
Areas with area-class equal to one of
<code>xsl-normal</code>,
<code>xsl-footnote</code>, or
<code>xsl-before-float</code> are defined to be
<b>stackable</b>,
indicating that they are supposed to be properly stacked.
</p><p><em>Block-stacking constraints</em></p><p>If <var>P</var> is a block-area, then there is a <b>fence preceding</b>
<var>P</var> if <var>P</var> is a reference-area or if the
<a href="#border-before-width" class="property">border-before-width</a>
or padding-before-width of <var>P</var> are non-zero.
Similarly, there is a
<b>fence following</b> <var>P</var> if <var>P</var> is a
reference-area
or if the <a href="#border-after-width" class="property">border-after-width</a> or padding-after-width of <var>P</var> are non-zero.</p><p>If <var>A</var> and <var>B</var> are stackable areas, and <var>S</var> is
a sequence of space-specifiers (see <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>),
it is defined that <var>A</var> and <var>B</var>
have block-stacking constraint <var>S</var> if
any of the following conditions holds:</p><ol class="enumar"><li><p><var>B</var> is a block-area which is the first normal
child of <var>A</var>, and <var>S</var> is the sequence consisting of the
<a href="#space-before" class="property">space-before</a> of <var>B</var>.</p></li><li><p><var>A</var> is a block-area which is the last normal
child of <var>B</var>, and <var>S</var> is the sequence consisting of the
<a href="#space-after" class="property">space-after</a> of <var>A</var>.</p></li><li><p><var>A</var> and <var>B</var> are both block-areas, and either</p><p>a. <var>B</var> is the next stackable sibling area of <var>A</var>,
and <var>S</var> is the sequence consisting of the <a href="#space-after" class="property">space-after</a> of <var>A</var>
and the <a href="#space-before" class="property">space-before</a> of <var>B</var>;</p><p>b. <var>B</var> is the first normal child of a block-area
<var>P</var>,
<var>B</var> is not a line-area,
there is no fence preceding <var>P</var>,
<var>A</var> and
<var>P</var> have a block-stacking constraint <var>S</var>', and <var>S</var>
consists of <var>S</var>' followed by the <a href="#space-before" class="property">space-before</a> of <var>B</var>; or</p><p>c. <var>A</var> is the last normal child of a block-area
<var>P</var>,
<var>A</var> is not a line-area,
there is no fence following <var>P</var>,
<var>P</var> and
<var>B</var> have a block-stacking constraint <var>S</var>'', and <var>S</var>
consists of the <a href="#space-after" class="property">space-after</a> of <var>A</var> followed by <var>S</var>''.</p><p>d.
<var>A</var> has a block-stacking constraint <var>S'</var> with a
block-area <var>E</var>, <var>E</var> has a block-stacking constraint <var>S''</var>
with <var>B</var>, <var>E</var> is
<b>empty</b> (i.e., it has zero <a href="#border" class="property">border</a>,
<a href="#padding" class="property">padding</a>, and <a href="#block-progression-dimension" class="property">block-progression-dimension</a>, and no normal children), and
<var>S</var> consists of <var>S'</var> followed by
<var>S''</var>.</p></li></ol><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of "stackable" in two places in the above definition allows
block-stacking constraints to apply between areas of area-class
<code>xsl-before-float</code>
or <code>xsl-footnote</code>.</p></div><div style="margin-left: 3em;">
<img src="figures/block-stacking-constraints.gif" alt="Five examples that illustrate each of the possible cases of block-stacking constraints listed above. In each case, the adjacent edge of the blocks is outlined." title="Adjacent Edges with Block-stacking"/>
<p><b>Figure 10. </b>Adjacent Edges with Block-stacking</p>
</div><p>When <var>A</var> and <var>B</var> have a block-stacking constraint, the
<b>adjacent edges</b> of <var>A</var> and <var>B</var> are an ordered
pair recursively defined as:</p><ul><li><p>In case 1, the before-edge of the
content-rectangle of <var>A</var>
and the before-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 2, the after-edge of the allocation-rectangle
of <var>A</var> and
the after-edge of the content-rectangle of <var>B</var>.</p></li><li><p>In case 3a, the after-edge of the
allocation-rectangle of <var>A</var>
and the before-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 3b, the first of the adjacent edges of <var>A</var> and <var>P</var>,
and the before-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 3c, the after-edge of the
allocation-rectangle of <var>A</var>
and the second of the adjacent edges of <var>P</var> and <var>B</var>.</p></li><li><p>In
case 3d, the first of the adjacent edges of <var>A</var> and <var>E</var>,
and the second of the adjacent edges of <var>E</var> and <var>B</var>.</p></li></ul><p><em>Example</em>. In this diagram each node represents a block-area.
Assume that all <a href="#padding" class="property">padding</a>
and <a href="#border" class="property">border</a> widths are zero, and none of the areas are
reference-areas. Then <var>P</var>
and <var>A</var> have a block-stacking constraint, as do <var>A</var>
and <var>B</var>, <var>A</var> and
<var>C</var>, <var>B</var> and <var>C</var>, <var>C</var> and <var>D</var>,
<var>D</var> and <var>B</var>,
<var>B</var> and
<var>E</var>, <var>D</var> and
<var>E</var>, and <var>E</var> and
<var>P</var>; these
are the only pairs in the diagram having block-stacking constraints. If
<var>B</var> had non-zero <a href="#padding-after" class="property">padding-after</a>, then <var>D</var>
and <var>E</var> would not have any block-stacking constraint (though <var>B</var>
and <var>E</var> would continue to have a block-stacking constraint).</p><div style="margin-left: 3em;">
<img src="figures/mantree.gif" alt="Diagram of the tree used as an example in the text. A root node P has three children: A, B and E. B has two childrem: C and D." title="Block-stacking constraint example"/>
<p><b>Figure 11. </b>Block-stacking constraint example</p>
</div><p><em>Inline-stacking constraints.</em></p><p>This section will recursively define the
inline-stacking constraints between two areas (either two inline-areas or one inline-area
and one line-area),
together with the notion of
<b>fence preceding</b> and <b>fence following</b>; these definitions are interwoven with one another.
This parallels the definition for block-stacking
constraints, but with the additional complication that we may have a stacking
constraint between inline-areas which are stacked in opposite inline-progression-directions.
(This is not an issue for block-stacking constraints because
a block-area which is not a reference-area may not have a
block-progression-direction
different from that of its parent.)</p><p>If <var>P</var> and <var>Q</var> have an inline-stacking constraint, then
<var>P</var> has a <b>fence preceding</b> <var>Q</var> if <var>P</var> is
a reference-area or has non-zero <a href="#border-width" class="property">border-width</a> or padding-width at the first
adjacent edge of <var>P</var> and <var>Q</var>. Similarly, <var>Q</var> has
a <b>fence following</b> <var>P</var> if <var>Q</var> is a reference-area
or has non-zero <a href="#border-width" class="property">border-width</a> or padding-width at the second
adjacent edge of
<var>P</var> and <var>Q</var>.</p><p>If <var>A</var> and <var>B</var> are normal areas, and <var>S</var>
is a sequence of space-specifiers, it is defined that <var>A</var> and
<var>B</var> have inline-stacking constraint <var>S</var> if any of the
following conditions holds:</p><ol class="enumar"><li><p><var>A</var> is an inline-area or line-area, <var>B</var> is an inline-area which is the first normal child of
<var>A</var>, and <var>S</var> is the sequence consisting of the <a href="#space-start" class="property">space-start</a> of
<var>B</var>.</p></li><li><p><var>B</var> is an inline-area or line-area, <var>A</var> is an inline-area which is the last normal child of
<var>B</var>, and <var>S</var> is the sequence consisting of the <a href="#space-end" class="property">space-end</a> of
<var>A</var>.</p></li><li><p><var>A</var> and <var>B</var> are each either an inline-area or a line-area, and either</p><p>a. both <var>A</var> and <var>B</var> are inline-areas,
<var>B</var> is the next normal sibling area of <var>A</var>,
and <var>S</var> is the sequence consisting of the <a href="#space-end" class="property">space-end</a> of <var>A</var>
and the <a href="#space-start" class="property">space-start</a> of <var>B</var>;</p><p>b. <var>B</var> is an inline-area which is the first normal child of an inline-area <var>P</var>,
<var>P</var> has no fence following <var>A</var>,
<var>A</var> and <var>P</var> have an
inline-stacking constraint <var>S</var>', the inline-progression-direction of
<var>P</var> is the same as the inline-progression-direction of the nearest
common ancestor area of <var>A</var> and <var>P</var>, and <var>S</var> consists of
<var>S</var>' followed by the <a href="#space-start" class="property">space-start</a> of <var>B</var>.</p><p>c. <var>A</var> is an inline-area which is the last normal child of an inline-area <var>P</var>,
<var>P</var> has no fence preceding <var>B</var>,
<var>P</var> and <var>B</var> have an
inline-stacking constraint <var>S</var>'', the inline-progression-direction of
<var>P</var> is the same as the inline-progression-direction of the nearest
common ancestor area of <var>P</var> and <var>B</var>, and <var>S</var> consists of the
<a href="#space-end" class="property">space-end</a> of <var>A</var> followed by <var>S</var>''.</p><p>d. <var>B</var> is an inline-area which is the last normal child of an inline-area <var>P</var>,
<var>P</var> has no fence following <var>A</var>,
<var>A</var> and <var>P</var> have an
inline-stacking constraint <var>S</var>', the inline-progression-direction of
<var>P</var> is opposite to the inline-progression-direction of the nearest
common ancestor area of <var>A</var> and <var>P</var>, and <var>S</var> consists of
<var>S</var>' followed by the <a href="#space-end" class="property">space-end</a> of <var>B</var>.</p><p>e. <var>A</var> is an inline-area which is the first normal child of an inline-area <var>P</var>,
<var>P</var> has no fence preceding <var>B</var>,
<var>P</var> and <var>B</var> have an
inline-stacking constraint <var>S</var>'', the inline-progression-direction of
<var>P</var> is opposite to the inline-progression-direction of the nearest
common ancestor area of <var>P</var> and <var>B</var>, and <var>S</var> consists of the
<a href="#space-start" class="property">space-start</a> of <var>A</var> followed by <var>S</var>''.</p></li></ol><div style="margin-left: 3em;">
<img src="figures/inline-stacking1.gif" alt="Two examples of inline-stacking constraints, illustrating cases 1 and 2 above. The first shows an inline area A containing another area B (A's first child). The left edges of both A and B are outlined. In the second, B contains A, as its last child, and both right edges are outlined." title="Adjacent Edges with Inline-stacking"/>
<p><b>Figure 12. </b>Adjacent Edges with Inline-stacking</p>
</div><div style="margin-left: 3em;">
<img src="figures/inline-stacking2.gif" alt="Three examples of inline-stacking constraints. The first (case 3a) shows two glyph areas A (left) and B (right) next to each other. The right edge of A and the left edge of B are outlined. The second case (3b) shows four adjacent glyph areas (containing an English word and a space A), followed by another inline area containing Devanagari glyphs. The right edge of the space glyph and the left edge of the leftmost Devanagari glyph are outlined. The third case (3c) shows an inline area P containing the word 'bold', to the left of an white space area B. The glyph 'd' is in a glyph area A. The right edge of A and the left edge of B are outlined. " title="Adjacent Edges with Inline-stacking, continued"/>
<p><b>Figure 13. </b>Adjacent Edges with Inline-stacking, continued</p>
</div><div style="margin-left: 3em;">
<img src="figures/inline-stacking3.gif" alt="This diagram illustrates case 3d. Four adjacent glyph areas (three Roman letters and a space A) followed by a inline area P containing Arabic glyph areas, the leftmost of which is labelled B. The right edge of A and the left edge of B are outlined. The diagram also shows a tree view of this structure. The root node has five children: the three Roman letters, the space and the Arabic word. The latter is itself a node containing each Arabic glyph, in document order, i.e. reversed from rendered order." title="Adjacent Edges with Inline-stacking, continued"/>
<p><b>Figure 14. </b>Mixed English and Arabic</p>
</div><div style="margin-left: 3em;">
<img src="figures/inline-stacking4.gif" alt="Case 3e: an inline block P containin Arabic glyph areas is followed by a space glyph B and two other glyphs (Roman). The right edge of the rightmost arabic glyph A and the left edge of B are outlined. A tree view of this structure has a root node with 4 children: the Arabic wordm the space, and the two Roman glyphs. The arabic word is itself a node whose children are glyphs in reverse order than the corresponding areas." title="Adjacent Edges with Inline-stacking, continued"/>
<p><b>Figure 15. </b>Mixed English and Arabic</p>
</div><p>When <var>A</var> and <var>B</var> have an inline-stacking constraint,
the <b>adjacent edges</b> of <var>A</var> and <var>B</var> are an ordered
pair defined as:</p><ul><li><p>In case 1, the start-edge of the
content-rectangle of <var>A</var>
and the start-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 2, the end-edge of the allocation-rectangle of <var>A</var> and
the end-edge of the content-rectangle of <var>B</var>.</p></li><li><p>In case 3a, the end-edge of the
allocation-rectangle of <var>A</var> and
the start-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 3b, the first of the adjacent edges of <var>A</var> and
<var>P</var>, and the start-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 3c, the end-edge of the
allocation-rectangle of <var>A</var>
and the second of the adjacent edges of <var>P</var> and <var>B</var>.</p></li><li><p>In case 3d, the first of the adjacent edges of <var>A</var> and
<var>P</var>, and the end-edge of the allocation-rectangle of <var>B</var>.</p></li><li><p>In case 3e, the start-edge of the
allocation-rectangle of <var>A</var>
and the second of the adjacent edges of <var>P</var> and <var>B</var>.</p></li></ul><p>Two areas are <b>adjacent</b> if they have a block-stacking constraint
or an inline-stacking constraint. It follows from the definitions that areas of the same
type (inline or block) can be adjacent only if all their non-common ancestors
are also of the same type (up to but not including their nearest common ancestor).
Thus, for example, two inline-areas which reside in different line-areas are never
adjacent.</p><p>An area <var>A</var> <b>begins</b> an area <var>P</var> if
<var>A</var> is a
descendant of <var>P</var> and <var>P</var> and <var>A</var> have either a
block-stacking constraint or an inline-stacking constraint,
provided that no descendant of <var>P</var> which is an ancestor
of <var>A</var> has a <a href="#space-before" class="property">space-before</a> (in the case of a block-stacking constraint)
or a <a href="#space-start" class="property">space-start</a> (in the case of an inline-stacking constraint)
whose computed minimum, maximum, or optimum values
are nonzero.
In this case the
second of the adjacent edges of <var>P</var> and <var>A</var> is defined
to be
a <b>leading edge</b> in <var>P</var>. A space-specifier which
applies to
the leading edge is also defined to <b>begin</b> <var>P</var>.</p><p>Similarly, An area <var>A</var> <b>ends</b> an area
<var>P</var> if <var>A</var> is a
descendant of <var>P</var> and <var>A</var> and <var>P</var> have either a
block-stacking constraint or an inline-stacking constraint,
provided that no descendant of <var>P</var> which is an ancestor
of <var>A</var> has a <a href="#space-after" class="property">space-after</a> (in the case of a block-stacking constraint)
or a <a href="#space-end" class="property">space-end</a> (in the case of an inline-stacking constraint)
whose computed minimum, maximum, or optimum values
are nonzero.
In this case the
first of the adjacent edges of <var>A</var> and <var>P</var> is defined
to be
a <b>trailing edge</b> in <var>P</var>. A space-specifier which
applies to
the trailing edge is also defined to <b>end</b> <var>P</var>.</p></div><div class="div3">
<h4><a name="area-font" id="area-font"/>4.2.6 Font Baseline Tables</h4><p>Each <a href="#script" class="property">script</a> has its preferred "baseline" for aligning glyphs from that script.
Western scripts typically use an "alphabetic" baseline that touches at or near the
<a href="#bottom" class="property">bottom</a> of capital letters. Further, for each <a href="#font" class="property">font</a> there is a
preferred way of aligning embedded glyphs from different scripts, e.g., for a
Western <a href="#font" class="property">font</a> there are separate baselines for aligning embedded ideographic or Indic
glyphs.</p><p>Each block-area and inline-area has a
<span class="trait">dominant-baseline-identifier</span> trait whose value is a baseline identifier
corresponding to the type of alignment expected for inline-area descendants of that area,
and each inline-area has an <span class="trait">alignment-baseline</span> which specifies how the
area is aligned to its parent. These traits are interpreted as described in section
<a href="#font-model"><b>7.9.1 Fonts and Font Data</b></a>.</p><p>For each <a href="#font" class="property">font</a>, an <span class="trait">actual-baseline-table</span> maps these identifiers
to points on the start-edge of the area. By
abuse of terminology, the line in the inline-progression-direction
through the point corresponding to the dominant-baseline-identifier is called
the "dominant baseline."</p></div></div><div class="div2">
<h3><a name="spacecond" id="spacecond"/>4.3 Spaces and Conditionality</h3><p>A space-specifier is a compound datatype whose components are minimum, optimum,
maximum, conditionality, and precedence.</p><p><b>Minimum</b>, <b>optimum</b>, and <b>maximum</b> are lengths
and can be used to define a constraint
on a distance, namely that the distance should preferably be the optimum,
and in any case no less than the minimum nor more than the maximum. Any of these
values may be negative, which can (for
example) cause areas to overlap, but in any case the minimum should be less
than or equal to the optimum value, and the optimum less than or equal to
the maximum value.</p><p><b>Conditionality</b> is an enumerated value which controls whether a
space-specifier has effect at the beginning or end of a reference-area or a
line-area. Possible values are <code>retain</code> and
<code>discard</code>;
a <b>conditional</b> space-specifier is one for which this value is
<code>discard</code>.</p><p><b>Precedence</b> has a value which is either an integer or the special
token <code>force</code>. A <b>forcing</b> space-specifier
is one for which this value is <code>force</code>.</p><p>Space-specifiers occurring in sequence may interact with each other. The
constraint imposed by a sequence of space-specifiers is computed by
calculating for each space-specifier
its associated <b>resolved space-specifier</b> in accordance with
their conditionality and <a href="#precedence" class="property">precedence</a>, as
shown below in the space-resolution rules.</p><p>The constraint imposed on a distance by a sequence of resolved space-specifiers
is additive; that is, the distance is constrained to be no less than the
sum of the resolved minimum values and no larger than the sum of the resolved
maximum values.</p><div class="div3">
<h4><a name="area-space" id="area-space"/>4.3.1 Space-resolution Rules</h4><p>The
resolved space-specifier of a given space-specifier <var>S</var> is
computed as follows. Consider the maximal inline-stacking constraint or
block-stacking constraint <var>S''</var> containing the space-specifier
<var>S</var> as an element of the sequence (<var>S''</var> is a sequence
of space-specifiers; see <a href="#area-stackcon"><b>4.2.5 Stacking Constraints</b></a>). Define
<var>S'</var> to be a subsequence of <var>S''</var> as follows:</p><ul><li><p>if <var>S</var> is the <a href="#space-before" class="property">space-before</a> or <a href="#space-after" class="property">space-after</a> of a line-area,
then <var>S'</var> is the maximal subsequence of <var>S''</var> containing
<var>S</var> such that all the space-specifiers in <var>S'</var> are traits
of line-areas,</p></li><li><p>if <var>S</var> is the <a href="#space-before" class="property">space-before</a> or <a href="#space-after" class="property">space-after</a> of a block-area
which is not a line-area, then <var>S'</var> is the maximal subsequence
of <var>S''</var> containing <var>S</var> such that all the space-specifiers
in <var>S'</var> are traits of block-areas which are not
line-areas,</p></li><li><p>if <var>S</var> is the <a href="#space-start" class="property">space-start</a> or <a href="#space-end" class="property">space-end</a> of an inline-area,
then <var>S'</var> is all of <var>S''</var>.</p></li></ul><p>The resolved space-specifier of <var>S</var> is a non-conditional,
forcing space-specifier computed in terms of the
sequence <var>S'</var>.</p><ol class="enumar"><li><p>If any of the space-specifiers in <var>S'</var> is conditional,
and begins a reference-area or line-area, then it is
<b>suppressed</b>,
which means that its resolved space-specifier is zero. Further, any conditional
space-specifiers which consecutively follow it in the sequence are also suppressed.
For purposes of this rule, a space-specifier <var>U</var>
<b>consecutively follows</b> a space-specifier <var>V</var> if it
<var>U</var> follows <var>V</var> and <var>U</var> and <var>V</var> are separated in
the sequence only by conditional space-specifiers and/or
space-specifiers whose computed minimum, maximum, and optimum values are
zero.</p><p>If a conditional space-specifier ends a reference-area or line-area, then it
is suppressed together with any other conditional space-specifiers which
consecutively precede it in the sequence.
For purposes of this rule, a space-specifier <var>U</var>
<b>consecutively precedes </b> a space-specifier <var>V</var> if
it <var>U</var> precedes <var>V</var> and <var>U</var> and <var>V</var>
are separated in
the sequence only by conditional space-specifiers and/or
space-specifiers whose computed minimum, maximum, and optimum values are
zero.</p></li><li><p>If any of the remaining space-specifiers in <var>S'</var> is forcing, all non-forcing
space-specifiers are suppressed, and the value of each of the forcing space-specifiers
is taken as its resolved value.</p></li><li><p>Alternatively if all of the remaining space-specifiers in <var>S'</var> are non-forcing,
then the resolved space-specifier is defined in terms of those non-suppressed space-specifiers
whose <a href="#precedence" class="property">precedence</a> is numerically highest, and among these those whose optimum value is the
greatest. All other space-specifiers are suppressed. If there is only one of
these then its value is taken as its resolved value.</p><p>Otherwise, follow these rules when there are
two or more
space-specifiers all of the same highest <a href="#precedence" class="property">precedence</a> and the same
(largest) optimum: The resolved space-specifier of the last
space-specifier in the sequence is derived from these spaces by
taking their common optimum value as its optimum. The greatest of
their minimum values is its minimum. The least of their maximum
values is its maximum. All other space-specifiers are suppressed.</p></li><li><p>If
<var>S</var> is subject to overconstrainment relaxing,
then its maximum value is set to the actual <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
containing block-area. See <a href="#bpd-slack"><b>4.3.2 Overconstrained space-specifiers</b></a></p></li></ol><p><em>Example</em>. Suppose the sequence of space values occurring at the
beginning of a reference-area is:
first, a space with value 10 points (that is
minimum, optimum, and maximum all equal to 10 points) and conditionality
<code>discard</code>; second, a space with value 4 points and
conditionality <code>retain</code>; and third, a space
with value 5 points and conditionality <code>discard</code>;
all three spaces having <a href="#precedence" class="property">precedence</a> zero. Then the first (10 point) space is
suppressed under rule 1, and the
second (4 point) space is suppressed under rule 3. The resolved value of the
third space is a non-conditional 5 points, even though
it originally came from a conditional space.</p><p>The <a href="#padding" class="property">padding</a> of a block-area does not interact with any
space-specifier
(except that by definition, the presence of <a href="#padding" class="property">padding</a> at the before- or after-edge
prevents areas on either side of it from having a stacking constraint.)</p><p>The <a href="#border" class="property">border</a> or <a href="#padding" class="property">padding</a> at the before-edge or after-edge of a block-area <var>B</var> may
be specified as conditional. If so, then it is set to zero if its associated
edge is a leading edge in a reference-area, and the is-first trait of <var>B</var>
is false, or if its associated
edge is a trailing edge in a reference-area, and the is-last trait of <var>B</var>
is false. In either of these cases, the <a href="#border" class="property">border</a>
or <a href="#padding" class="property">padding</a> is taken to be zero for purposes of the stacking constraint definitions.</p><p>The <a href="#border" class="property">border</a> or <a href="#padding" class="property">padding</a> at the start-edge or end-edge of an inline-area <var>I</var> may
be specified as conditional. If so, then it is set to zero if its associated
edge is a leading edge in a line-area, and the is-first trait of <var>I</var>
is false, or if its associated
edge is a trailing edge in a line-area, and the is-last trait of <var>I</var>
is false. In either of these cases, the <a href="#border" class="property">border</a>
or <a href="#padding" class="property">padding</a> is taken to be zero for purposes of the stacking constraint definitions.</p></div><div class="div3">
<h4><a name="bpd-slack" id="bpd-slack"/>4.3.2 Overconstrained space-specifiers</h4><p>When
an area <var>P</var> is generated by a formatting object whose
<a href="#block-progression-dimension" class="property">block-progression-dimension</a>
is "auto", then the constraints involving the before-edge and after-edge of
the content-rectangle of <var>P</var>, together with the constraints between the
various descendants of <var>P</var>, result in a constraint on the actual value
of the block-progression-dimension. If the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> is instead
specified as a length, then this might result in an overconstrained area tree,
for example an incompletely-filled <a href="#fo_block" class="el">fo:block</a>
with a specified size. In that case some constraints between <var>P</var> and its
descendants should be relaxed; those that are eligible for this treatment are
said to be <em>subject to overconstrainment relaxing</em>, and treated as in
the previous section.</p><ul><li><p>If the <a href="#display-align" class="property">display-align</a> value is "after" or "center" and <var>P</var> is the first normal area generated
by the formatting object, then the <a href="#space-before" class="property">space-before</a> of the first normal child of <var>P</var>
is subject to overconstrainment relaxing.</p></li><li><p>If the <a href="#display-align" class="property">display-align</a> value is "before" or "center" and <var>P</var> is the last normal area generated
by the formatting object, then the <a href="#space-after" class="property">space-after</a> of the last normal child of <var>P</var>
is subject to overconstrainment relaxing.</p></li></ul></div></div><div class="div2">
<h3><a name="area-block" id="area-block"/>4.4 Block-areas</h3><p>Block-areas have several traits which typically affect the placement of their
children. The <b><a href="#line-height" class="property">line-height</a></b> is used in line placement calculations.
The <span class="trait">line-stacking-strategy</span> trait controls what kind of allocation
is used for descendant line-areas and has an enumerated value
(either <code>font-height</code>, <code>max-height</code>,
or <code>line-height</code>). This is all rigorously described below.
All areas have these traits,
but they only have relevance for areas which have stacked line-area children.</p><p>The <span class="trait">space-before</span> and <span class="trait">space-after</span> traits
determine the
distance between the block-area and surrounding block-areas.</p><p>A block-area which is not a line-area typically has its <a href="#size" class="property">size</a> in the
inline-progression-direction determined
by its <span class="trait">start-indent</span> and <span class="trait">end-indent</span> and by the <a href="#size" class="property">size</a> of its nearest ancestor
reference-area.
A block-area which is not a line-area must be properly stacked (as defined in
<a href="#area-stackblock"><b>4.4.1 Stacked Block-areas</b></a> below)
unless otherwise specified in the description of its generating formatting object.
In this case its <a href="#block-progression-dimension" class="property">block-progression-dimension</a> will be subject to constraints based
on the block-progression-dimensions and space-specifiers of its descendants.
See <a href="#bpd-slack"><b>4.3.2 Overconstrained space-specifiers</b></a></p><div class="div3">
<h4><a name="area-stackblock" id="area-stackblock"/>4.4.1 Stacked Block-areas</h4><p>Block-area children of an area are typically stacked in the
block-progression-direction
within their parent area, and this is the default method of
positioning block-areas. However, formatting objects
are free to specify other methods of positioning child areas of areas which
they generate, for example list-items or tables.</p><p>For a parent area <var>P</var> whose children are
block-areas, <var>P</var> is defined to be <b>properly
stacked</b> if all of the following conditions hold:</p><ol class="enumar"><li><p>For each block-area <var>B</var> which is a descendant of <var>P</var>,
the following hold:</p><ul><li><p>the before-edge and after-edge
of its allocation-rectangle are parallel to the before-edge and after-edges of the
content-rectangle of <var>P</var>,</p></li><li><p>the start-edge of its allocation-rectangle is parallel to the start-edge
of the content-rectangle of <var>R</var> (where <var>R</var> is the closest
ancestor reference-area of <var>B</var>), and offset from it inward
by a distance equal to
the block-area's <a href="#start-indent" class="property">start-indent</a> plus its
<span class="trait">start-intrusion-adjustment</span>
(as defined below), minus its border-start,
<a href="#padding-start" class="property">padding-start</a>, and <a href="#space-start" class="property">space-start</a> values, and</p></li><li><p>the end-edge of its allocation-rectangle is parallel to the
end-edge
of the content-rectangle of <var>R</var>, and offset from it inward
by a distance equal to
the block-area's <a href="#end-indent" class="property">end-indent</a> plus its
<span class="trait">end-intrusion-adjustment</span>
(as defined below),
minus its border-end, <a href="#padding-end" class="property">padding-end</a>, and <a href="#space-end" class="property">space-end</a>
values.</p></li></ul><div style="margin-left: 3em;">
<img src="figures/RectsForModel.gif" alt="This diagram shows a reference area, with all edges labeled: space-start, border-start and padding-start to the left, space-end, border-end and padding-end to the right, space-before, border-before and padding-before at the top, space-after, border-after and padding-after at the bottom. start-indent is shown, spanning space, border and padding on the left, as well as end-indent, spanning space, border and padding on the right." title="Metrics of a block area"/>
<p><b>Figure 16. </b>Content Rectangle of Reference Area</p>
</div><div class="note"><p class="prefix"><b>Note:</b></p><p>The notion of indent is intended to apply to the content-rectangle, but
the constraint is written in terms of the
allocation-rectangle, because as noted earlier
(<a href="#area-geo"><b>4.2.3 Geometric Definitions</b></a>)
the edges of the
content-rectangle may not
correspond to like-named edges of the
allocation-rectangle.</p><p>The <span class="trait">start-intrusion-adjustment</span> and
<span class="trait">end-intrusion-adjustment</span> are traits used to
deal with intrusions from
floats in the inline-progression-direction.</p><p>See also section <a href="#refine-margin-space-indent"><b>5.3.2 Margin, Space, and Indent Properties</b></a>
for how the <a href="#margin" class="property">margin</a> properties affect the indents.</p></div></li><li><p>For each pair of normal areas <var>B</var> and <var>B</var>'
in the subtree below <var>P</var>, if
<var>B</var> and <var>B</var>' have a block-stacking constraint <var>S</var>
and <var>B</var> is not empty (see <a href="#area-stackcon"><b>4.2.5 Stacking Constraints</b></a>),
then the distance between the adjacent edges of <var>B</var> and <var>B</var>'
is consistent with the
constraint imposed by the
resolved values of the space-specifiers in <var>S</var>.</p><img src="figures/spacebeforeafter.gif" alt="Four areas, P, A, B and C. P contains A and B, stacked vertically, and B contains C. Below A is a 3pt space, above B is a 1pt space, and above C (within B) is a 2pt space." title="Example of stacked areas"/><p><em>Example</em>. In the diagram, if area
<var>A</var>
has a <a href="#space-after" class="property">space-after</a> value of 3 points, <var>B</var> a
<a href="#space-before" class="property">space-before</a>
of 1 point, and <var>C</var> a <a href="#space-before" class="property">space-before</a> of 2 points, all
with
<a href="#precedence" class="property">precedence</a> of <code>force</code>, and with zero <a href="#border" class="property">border</a> and <a href="#padding" class="property">padding</a>,
then the constraints will place <var>B</var>'s
allocation-rectangle
4 points below that of <var>A</var>, and <var>C</var>'s
allocation-rectangle
6 points below that
of <var>A</var>. Thus the 4-point gap receives the
<a href="#background" class="property">background</a> color
from <var>P</var>, and the 2-point gap before <var>C</var>
receives the <a href="#background" class="property">background</a> color from <var>B</var>.</p></li></ol></div><div class="div3">
<h4><a name="verticalpositioning" id="verticalpositioning"/>4.4.2 Positioning in the block-progression direction</h4><p>A general comment: positioning (and justification) is connected
to regions and columns, and the interaction between them, and that
work is not yet complete. In addition, the term vertical in this
section should be taken to mean the block-progression direction.</p><div class="div4">
<h5><a name="feathering" id="feathering"/>4.4.2.1 Feathering</h5><p>Feathering is the process of fitting a block of text to available
space, such as the height of the page, for example by adding a small
(and ideally imperceptible) amount of space between each line of
text. The formatter adjusts the space-before and space-after traits of
the stacked block-areas and line-areas in order to fill the reference
area.</p><p>Feathering can be seen as a special case of vertical justification,
where the set of adjustable properties is fixed (line-height,
space-before and space-after).</p><p class="issues20">Thus, our proposal is to activate feathering by
indicating that vertical justification is done by adjusting those
properties. This can be done by setting the property
<a href="#display-align" class="property">display-align</a> to "justify" and by listing the
names <a href="#line-height" class="property">line-height</a>,
<a href="#space-before" class="property">space-before</a>, <a href="#space-after" class="property">space-after</a> in
the adjustable-properties property. The
short-hand "feathering" can be used as a value for this property
instead.</p><p class="issues20">Space-specifiers (minimum, optimum and maximum) are
used to specify constraints on the amount of space to be added, as
explained for vertical justification ([ADD LINK]).</p></div><div class="div4">
<h5><a name="correlating-vertical-position" id="correlating-vertical-position"/>4.4.2.2 Correlating position in the block-progression direction</h5><p>To address this we introduce a new property that specifies a
"normalized line height" that must be used as an atomic
unit of height. That property specifies a length that the
block-dimension of each generated area must be a multiple of.
Spaces are added before or after each generated area in order to
adjust the block-dimension. In a multi-column region, the same value
is used for all columns.</p><p class="issues20">A provisional name is
<a href="#block-unit" class="property">block-unit</a>, whose value is a length.</p></div><div class="div4">
<h5><a name="column-vertical-alignment" id="column-vertical-alignment"/>4.4.2.3 Vertical alignment within a page or column</h5><div class="note"><p class="prefix"><b>Note:</b></p><p class="issues20">This section does not yet
take new work on columns (elsewhere in this document) into
account.</p></div><p>For this, we use the existing <a href="#display-align" class="property">display-align</a> property:</p><p>In a multi-column region the same value is used for all columns,
apart from the last one (specified with the property
<a href="#display-align-last-column" class="property">display-align-last-column</a>).</p><p>Applies to: <a href="#fo_region-body" class="el">fo:region-body</a>, <a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>, <a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a> and <a href="#fo_block-container" class="el">fo:block-container</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Property "display-align" also applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>, and <a href="#fo_table-cell" class="el">fo:table-cell</a>. A similar issue exists for
vertical justification.</p></div></div><div class="div4">
<h5><a name="pagecolumnverticaljustification" id="pagecolumnverticaljustification"/>4.4.2.4 Vertical justification across pages and columns</h5><p>We extend the <a href="#display-align" class="property">display-align</a>
property with a new value "justify".</p><p>It is also important to allow users to specify which properties
should be modified in order to do vertical justification. Feathering
is one of the possibilities. Other solutions might include widening or
narrowing spaces before and after images and tables, stretching or
compressing text, changing word-spacing, adjusting the
character-spacing, or other strategies.</p><p>Thus, we propose the general approach of adjustable properties as
described under ‘copyfitting’ and introduce a property
adjustable-properties whose value is a list
of properties that the formatter is allowed to change.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The <a href="#display-align" class="property">display-align</a> property also applies to
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a> and
<a href="#fo_inline-container" class="el">fo:inline-container</a>.</p></div></div></div><div class="div3">
<h4><a name="intrusadjust" id="intrusadjust"/>4.4.3 Intrusion Adjustments</h4><p>Intrusion adjustments (both start- and end-) are defined to account for the
indentation that occurs as the result of side floats.</p><p>If <var>A</var> and <var>B</var> are areas which have the same nearest reference area ancestor, then <var>A</var>
and <var>B</var> are defined to be <b>inline-overlapping</b> if there is some line
parallel to the inline-progression-direction, which intersects both the
allocation-rectangle of <var>A</var> and the allocation-rectangle of <var>B</var>.</p><p>If
<var>A</var> is an area of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>start</code>", and <var>B</var> is a block-area, and <var>A</var> and <var>B</var>
have the same nearest reference area ancestor, then <var>A</var> is defined to <b>encroach</b> upon <var>B</var> if <var>A</var> and <var>B</var>
are inline-overlapping and the <a href="#start-indent" class="property">start-indent</a> of <var>B</var> is less than the sum of the <a href="#start-indent" class="property">start-indent</a> of <var>A</var>
and the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of <var>A</var>. The <b>start-encroachment</b> of <var>A</var> on <var>B</var> is then defined to
be amount by which the <a href="#start-indent" class="property">start-indent</a> of <var>B</var> is less than the sum of the <a href="#start-indent" class="property">start-indent</a> of <var>A</var> and
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of <var>A</var>.</p><p>If <var>A</var> is an area of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>end</code>", and <var>B</var> is a block-area, and <var>A</var> and <var>B</var>
have the same nearest reference area ancestor, then <var>A</var> is defined to <b>encroach</b> upon <var>B</var> if <var>A</var> and <var>B</var>
are inline-overlapping and the <a href="#end-indent" class="property">end-indent</a> of <var>B</var> is less than the sum of the <a href="#end-indent" class="property">end-indent</a> of <var>A</var>
and the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of <var>A</var>. The <b>end-encroachment</b> of <var>A</var> on <var>B</var> is then
defined to be amount by which the <a href="#end-indent" class="property">end-indent</a> of <var>B</var> is less than the sum of the <a href="#end-indent" class="property">end-indent</a> of <var>A</var> and
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of <var>A</var>.</p><p>If <var>B</var> is a block-area which is not a line-area, then its <b>local-start-intrusion-adjustment</b> is computed as the maximum of
the following lengths:</p><ol class="enumar"><li><p>zero;</p></li><li><p>if the parent of <var>B</var> is not a reference area: the start-intrusion-adjustment of the parent of <var>B</var>;
and</p></li><li><p>if <var>B</var> has <a href="#intrusion-displace" class="property">intrusion-displace</a>="<code>block</code>",
then for each area <var>A</var> of class <code>xsl-side-float</code>
with <a href="#float" class="property">float</a>="<code>start</code>" such that the generating formatting object of <var>A</var> is not a descendant of
the generating formatting object of <var>B</var>, and such that <var>A</var> encroaches upon some line-area child of
<var>B</var>: the start-encroachment of <var>A</var> on <var>B</var>;
and</p></li><li><p>if <var>B</var> has <a href="#intrusion-displace" class="property">intrusion-displace</a> = "<code>block</code>", then for each area <var>A</var> of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>start</code>"
such that <var>A</var> and <var>B</var> are inline-overlapping, and for each block-area ancestor <var>B'</var> of <var>B</var> which is
a descendant of the nearest reference area ancestor of <var>B</var>, such that <var>A</var> encroaches on a line-area
child of <var>B'</var>: the start-encroachment of <var>A</var> on <var>B'</var>.</p></li></ol><p>The start-intrusion-adjustment of a block-area <var>B</var> is then defined to be
the maximum of the local-start-intrusion-adjustments of the normal block-areas generated
and returned by the generating formatting object of <var>B</var>.</p><p>If <var>L</var> is a line-area, then its start-intrusion-adjustment is computed as the maximum of
the following lengths:</p><ol class="enumar"><li><p>the start-intrusion-adjustment of the parent of <var>L</var>;</p></li><li><p>for each area <var>A</var> of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>start</code>" such that <var>A</var> encroaches upon <var>L</var>:
the start-encroachment of <var>A</var> on <var>L</var>; and</p></li><li><p>if the parent of <var>L</var> has <a href="#intrusion-displace" class="property">intrusion-displace</a> = "<code>indent</code>",
then for each area <var>A</var> of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>start</code>" such that
<var>A</var> and <var>L</var> are inline-overlapping, and for each block-area ancestor <var>B'</var> of <var>L</var> which is
a descendant of the nearest reference area ancestor of <var>L</var>, such that <var>A</var> encroaches on some line-area
child <var>L'</var> of <var>B'</var>: the start-encroachment of <var>A</var> on <var>B'</var>.</p></li></ol><p>The end-intrusion-adjustment for a block-area is computed in a precisely analogous manner.
That is:</p><p>If <var>B</var> is a block-area which is not a line-area, then its <b>local-end-intrusion-adjustment</b> is computed as the maximum of
the following lengths:</p><ol class="enumar"><li><p>zero;</p></li><li><p>if the parent of <var>B</var> is not a reference area: the end-intrusion-adjustment of the parent of <var>B</var>;
and</p></li><li><p>if <var>B</var> has <a href="#intrusion-displace" class="property">intrusion-displace</a>="<code>block</code>",
then for each area <var>A</var> of class <code>xsl-side-float</code>
with <a href="#float" class="property">float</a>="<code>end</code>" such that the generating formatting object of <var>A</var> is not a descendant of
the generating formatting object of <var>B</var>, and such that <var>A</var> encroaches upon some line-area child of
<var>B</var>: the end-encroachment of <var>A</var> on <var>B</var>;
and</p></li><li><p>if <var>B</var> has <a href="#intrusion-displace" class="property">intrusion-displace</a> = "<code>block</code>", then for each area <var>A</var> of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>end</code>"
such that <var>A</var> and <var>B</var> are inline-overlapping, and for each block-area ancestor <var>B'</var> of <var>B</var> which is
a descendant of the nearest reference area ancestor of <var>B</var>, such that <var>A</var> encroaches on a line-area
child of <var>B'</var>: the end-encroachment of <var>A</var> on <var>B'</var>.</p></li></ol><p>The end-intrusion-adjustment of a block-area <var>B</var> is then defined to be
the maximum of the local-end-intrusion-adjustments of the normal block-areas generated
and returned by the generating formatting object of <var>B</var>.</p><p>If <var>L</var> is a line-area, then its end-intrusion-adjustment is computed as the maximum of
the following lengths:</p><ol class="enumar"><li><p>the end-intrusion-adjustment of the parent of <var>L</var>;</p></li><li><p>for each area <var>A</var> of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>end</code>" such that <var>A</var> encroaches upon <var>L</var>:
the end-encroachment of <var>A</var> on <var>L</var>; and</p></li><li><p>if the parent of <var>L</var> has <a href="#intrusion-displace" class="property">intrusion-displace</a> = "<code>indent</code>",
then for each area <var>A</var> of class <code>xsl-side-float</code> with <a href="#float" class="property">float</a>="<code>end</code>" such that
<var>A</var> and <var>L</var> are inline-overlapping, and for each block-area ancestor <var>B'</var> of <var>L</var> which is
a descendant of the nearest reference area ancestor of <var>L</var>, such that <var>A</var> encroaches on some line-area
child <var>L'</var> of <var>B'</var>: the end-encroachment of <var>A</var> on <var>B'</var>.</p></li></ol></div></div><div class="div2">
<h3><a name="area-line" id="area-line"/>4.5 Line-areas</h3><p>A line-area is a special type of block-area, and is generated by the same
formatting object which generated
its parent. Line-areas do not have borders and <a href="#padding" class="property">padding</a>, i.e., <a href="#border-before-width" class="property">border-before-width</a>,
padding-before-width, etc. are all zero. Inline-areas are stacked within a line-area
relative to a <b>baseline-start-point</b> which is a point determined by the
formatter, on the start-edge of the line area's content-rectangle.</p><p>The allocation-rectangle of a line is determined by the value of the
<span class="trait">line-stacking-strategy</span> trait: if the
value is <code>font-height</code>, the allocation-rectangle is
the <b>nominal-requested-line-rectangle</b>, defined below; if the value is
<code>max-height</code>, the allocation-rectangle is the
<b>maximum-line-rectangle</b>, defined below; and if
the value is
<code>line-height</code>, the allocation-rectangle is the
<b>per-inline-height-rectangle</b>, defined below.
If the <span class="trait">line-stacking-strategy</span> trait is <code>font-height</code>
or <code>max-height</code> the <span class="trait">space-before</span> and <span class="trait">space-after</span>
are both set to the half-leading value; otherwise they are both set to zero.</p><p>The <b>nominal-requested-line-rectangle</b> for a line-area is the rectangle
whose start-edge is parallel to the start-edge of the
content-rectangle of the nearest ancestor reference-area and offset from it by the sum
of the <a href="#start-indent" class="property">start-indent</a> and the start-intrusion-adjustment of the line area,
whose end-edge is parallel to the end-edge of the
content-rectangle of the nearest ancestor reference-area and offset from it by the sum
of the <a href="#end-indent" class="property">end-indent</a> and the end-intrusion-adjustment of the line area,
whose before-edge is separated from the
baseline-start-point by the <a href="#text-altitude" class="property">text-altitude</a> of the parent block-area, and whose after-edge is
separated from the baseline-start-point by the <a href="#text-depth" class="property">text-depth</a> of the parent block-area. It has the
same <a href="#block-progression-dimension" class="property">block-progression-dimension</a> for each line-area child of a block-area.</p><p>The <b>maximum-line-rectangle</b> for a line-area is the rectangle
whose start-edge and end-edge are parallel to and coincident with the start-edge
and end-edge of the nominal-requested-line-rectangle, and whose
<a href="#extent" class="property">extent</a> in the block-progression-direction is the minimum required to enclose both the
nominal-requested-line-rectangle and the allocation-rectangles of all the
inline-areas stacked within the line-area; this may vary depending on the
descendants of the line-area.</p><div style="margin-left: 3em;">
<img src="figures/InlineExampleMixed.2a.gif" alt="A horizontal alignment of inline areas (glyphs and graphics). The maximum-line-rectangle wraps all the glyph areas, the nominal-requested-line-rectangle wraps the glyph areas of the first three glyphs (which use the nominal font). The alignment baseline is shown, splitting the n-r-l-r horizontally. The text-altitude is the vertical distance between the baseline and the top of the n-r-l-r, and the text-depth is the distance between the baseline and the bottom of the n-r-l-r." title="Nominal and Maximum Line Rectangles"/>
<p><b>Figure 17. </b>Nominal and Maximum Line Rectangles</p>
</div><p>The <b>per-inline-height-rectangle</b> for a line-area is the rectangle
whose start-edge and end-edge are parallel to and coincident with the start-edge
and end-edge of the nominal-requested-line-rectangle, and whose <a href="#extent" class="property">extent</a> in the
<a href="#block-progression-dimension" class="property">block-progression-dimension</a> is determined as follows.</p><p>The <b>expanded-rectangle</b> of an inline-area is the rectangle with start-edge
and end-edge coincident with those of its allocation-rectangle, and whose
before-edge and after-edge are outside those of its allocation-rectangle by a
distance equal to either (a.) the half-leading, when the area's allocation-rectangle is
specified to be the normal-allocation-rectangle by the description of the generating
formatting object , or (b.) the <a href="#space-before" class="property">space-before</a> and <a href="#space-after" class="property">space-after</a> (respectively),
when the area's allocation-rectangle is specified to be the large-allocation-rectangle. The
<b>expanded-nominal-requested-line-rectangle</b> is the rectangle with start-edge
and end-edge coincident with those of the nominal-requested-line-rectangle, and whose
before-edge and after-edge are outside those of the nominal-requested-line-rectangle by a
distance equal to the half-leading.</p><p>The <a href="#extent" class="property">extent</a> of the
per-inline-height-rectangle in the block-progression-direction is then defined to
be the minimum required to enclose both
the expanded-nominal-requested-line-rectangle and the expanded-rectangles of all the
inline-areas stacked within the line-area; this may vary depending on the
descendants of the line-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
Using the nominal-requested-line-rectangle allows equal baseline-to-baseline
spacing. Using the maximum-line-rectangle allows constant space between line-areas.
Using the
per-inline-height-rectangle and zero <a href="#space-before" class="property">space-before</a> and <a href="#space-after" class="property">space-after</a> allows
CSS-style line box stacking. Also, the value of half-leading is included in the
expanded-rectangle regardless of conditionality, and thus a <a href="#line-height" class="property">line-height</a> conditionality
of "discard" does not have effect in this case.
</p></div></div><div class="div2">
<h3><a name="area-inline" id="area-inline"/>4.6 Inline-areas</h3><p>An inline-area has its own <span class="trait">line-height</span> trait, which may be
different from the <a href="#line-height" class="property">line-height</a> of its containing block-area. This may affect the
placement of its ancestor line-area when the <a href="#line-stacking-strategy" class="property">line-stacking-strategy</a>
is <code>line-height</code>. An inline-area has an
<span class="trait">actual-baseline-table</span>
for its <span class="trait">nominal-font</span>. It has
a <span class="trait">dominant-baseline-identifier</span> trait which determines how
its stacked inline-area descendants are to be aligned.</p><p>An inline-area may or may not have child areas, and if so it may or may not
be a reference-area. The dimensions of the content-rectangle for an inline-area
without children is computed as specified by the generating formatting object,
as are those of an inline-area with block-area children.</p><p>An inline-area with inline-area children has a content-rectangle
which extends from its dominant baseline (see
<a href="#area-font"><b>4.2.6 Font Baseline Tables</b></a>) by its
<a href="#text-depth" class="property">text-depth</a> in the block-progression-direction, and in the opposite
<a href="#direction" class="property">direction</a> by its <a href="#text-altitude" class="property">text-altitude</a>; in the inline-progression-direction it
extends from the start-edge of the allocation-rectangle of its first child to
the end-edge of the allocation-rectangle of its last child. The allocation-rectangle
of such an inline-area is the same as its content-rectangle.</p><p>The allocation-rectangle of an inline-area without children is either
the normal-allocation-rectangle or the large-allocation-rectangle, as specified
in the description of the generating formatting object.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>When the <a href="#line-stacking-strategy" class="property">line-stacking-strategy</a> is <code>line-height</code>,
allocation is done with respect to the expanded-rectangle.</p></div><p>Examples of inline-areas with children might include portions of inline
mathematical expressions or areas arising from mixed writing systems
(left-to-right within right-to-left, for example).</p><div class="div3">
<h4><a name="area-stackinline" id="area-stackinline"/>4.6.1 Stacked Inline-areas</h4><p>Inline-area children of an area are typically stacked in the
inline-progression-direction
within their parent area, and this is the default method of
positioning inline-areas.</p><p>Inline-areas are stacked relative to the <b>dominant baseline</b>,
as defined above
(<a href="#area-font"><b>4.2.6 Font Baseline Tables</b></a>).</p><p>For a parent area <var>P</var> whose children are inline-areas, <var>P</var>
is defined to be <b>properly stacked</b> if all of the following conditions
hold:</p><ol class="enumar"><li><p>For each inline-area descendant <var>I</var> of <var>P</var>, the
start-edge, end-edge, before-edge and after-edge of the allocation-rectangle
of <var>I</var> are parallel to corresponding edges of the content-rectangle
of the nearest ancestor reference-area of <var>I</var>.</p></li><li><p>For each pair of normal areas <var>I</var> and <var>I</var>'
in the subtree below <var>P</var>, if <var>I</var> and <var>I</var>' have
an inline-stacking constraint <var>S</var>, then the distance between the
adjacent edges of <var>I</var> and <var>I</var>' is consistent with the
constraint imposed by the resolved values of the space-specifiers in
<var>S</var>.</p></li><li><p>For any inline-area descendant <var>I</var> of <var>P</var>, the
distance in the shift-direction from the dominant baseline of the parent
<var>Q</var> of <var>I</var>, to the alignment-point of <var>I</var>
equals the offset between the dominant baseline of <var>Q</var> and
the baseline of <var>Q</var> corresponding to the <a href="#alignment-baseline" class="property">alignment-baseline</a>
trait of <var>I</var>, plus
the <a href="#baseline-shift" class="property">baseline-shift</a> for <var>I</var>.</p><p> The first summand is computed to compensate for
mixed writing systems with different baseline types, and the other
summands involve deliberate baseline shifts for things like superscripts
and subscripts.</p></li></ol></div><div class="div3">
<h4><a name="area-glyph" id="area-glyph"/>4.6.2 Glyph-areas</h4><p>The most common inline-area is a glyph-area, which contains the
representation for a <a href="#character" class="property">character</a> (or characters) in a particular font.</p><p>A glyph-area has an associated <b>nominal-font</b>, determined by
the area's typographic traits, which apply to its <a href="#character" class="property">character</a> data, and
a <b>glyph-orientation</b> determined by its <a href="#writing-mode" class="property">writing-mode</a> and
<a href="#reference-orientation" class="property">reference-orientation</a>, which determine the orientation of the glyph
when it is rendered.</p><p>The alignment-point and dominant-baseline-identifier of a glyph-area are assigned
according to the writing-system in use (e.g., the glyph baseline
in Western languages), and are used to control placement of inline-areas
descendants of a line-area. The formatter may generate inline-areas with
different inline-progression-directions from their parent to accommodate
correct inline-area stacking in the case of mixed writing systems.</p><p>A glyph-area has no children. Its <a href="#block-progression-dimension" class="property">block-progression-dimension</a> and
actual-baseline-table are the same for all glyphs in a font.
Conforming implementations may choose to
compute the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> for a glyph area based on the
actual glyph <a href="#size" class="property">size</a> rather than using a common <a href="#size" class="property">size</a> for all glyphs
in a font.</p></div></div><div class="div2">
<h3><a name="area-order" id="area-order"/>4.7 Ordering Constraints</h3><div class="div3">
<h4><a name="area-genorder" id="area-genorder"/>4.7.1 General Ordering Constraints</h4><p>A subset <var>S</var> of the areas returned to a formatting object is
called <b>properly ordered</b> if the areas in that
subset have the
same order as their generating formatting objects. Specifically, if <var>A</var><sub>1</sub>
and <var>A</var><sub>2</sub> are areas in <var>S</var>, returned by child
formatting objects <var>F</var><sub>1</sub> and <var>F</var><sub>2</sub>
where <var>F</var><sub>1</sub> precedes <var>F</var><sub>2</sub>,
then <var>A</var><sub>1</sub> must precede <var>A</var><sub>2</sub> in the
pre-order traversal order of the area tree. If <var>F</var><sub>1</sub>
equals <var>F</var><sub>2</sub> and <var>A</var><sub>1</sub> is
returned prior to <var>A</var><sub>2</sub>, then <var>A</var><sub>1</sub>
must precede <var>A</var><sub>2</sub> in the pre-order-traversal
of the area tree.
</p><p>For each formatting object <var>F</var> and each area-class <var>C</var>,
the subset consisting of the areas returned to <var>F</var> with area-class
<var>C</var> must be properly ordered, except where
otherwise specified.
</p></div><div class="div3">
<h4><a name="area-linebuild" id="area-linebuild"/>4.7.2 Line-building</h4><p>This section describes the ordering constraints that apply to formatting
an <a href="#fo_block" class="el">fo:block</a> or similar block-level object.</p><p>A block-level formatting object <var>F</var> which
constructs lines does so by
constructing block-areas which it returns to its parent
formatting object, and placing normal areas and/or anchor areas returned to
<var>F</var> by its child
formatting objects as children of those block-areas or of
line-areas
which it constructs as children of those block-areas.</p><p>For each such formatting object <var>F</var>, it must be
possible to form an
ordered partition <var>P</var> consisting of ordered subsets <var>S</var><sub>1</sub>,
<var>S</var><sub>2</sub>, ..., <var>S</var><sub>n</sub> of
the normal areas and anchor areas returned by the child formatting objects,
such that the following are all satisfied:</p><ol class="enumar"><li><p>Each subset consists of a sequence of inline-areas, or of a single
block-area.</p></li><li><p>The ordering of the partition follows the ordering of the
formatting object tree. Specifically, if <var>A</var> is in
<var>S</var><sub>i</sub>
and <var>B</var> is in <var>S</var><sub>j</sub> with
<var>i</var> &lt; <var>j</var>, or if <var>A</var> and <var>B</var> are both in the same subset
<var>S</var><sub>i</sub> with <var>A</var> before <var>B</var> in the
subset order, then either <var>A</var> is returned by a preceding sibling
formatting object of <var>B</var>, or <var>A</var> and
<var>B</var> are returned by the same
formatting object with <var>A</var> being returned before
<var>B</var>.</p></li><li><p>The partitioning occurs at legal line-breaks. Specifically, if <var>A</var> is
the last area of <var>S</var><sub>i</sub> and <var>B</var> is the first area of
<var>S</var><sub>i+1</sub>, then the rules of
the <a href="#language" class="property">language</a>, <a href="#script" class="property">script</a> and hyphenation constraints
(<a href="#common-hyphenation-properties"><b>7.10 Common Hyphenation Properties</b></a>,
<a href="#hyphenation-keep"><b>7.17.1 hyphenation-keep</b></a>, and
<a href="#hyphenation-ladder-count"><b>7.17.2 hyphenation-ladder-count</b></a>)
in effect must permit a line-break
between <var>A</var> and
<var>B</var>, within the context of all areas in <var>S</var><sub>i</sub>
and <var>S</var><sub>i+1</sub>.</p></li><li><p>Forced line-breaks are respected.
Specifically, if C is a descendant of F, and C is an <a href="#fo_character" class="el">fo:character</a>
whose Unicode <a href="#character" class="property">character</a> is U+000A, and A is the area generated by C,
then either C is a child of F and A is the last area in a subset S<sub>i</sub>,
or C is a descendant of a child C' of F, and A ends
(in the sense of 4.2.5) an area A' returned by C',
such that A' is the last area in a subset S<sub>i</sub>.</p></li><li id="linebuilding-5"><p>The partition follows the ordering of the area tree,
except for certain glyph substitutions and deletions.
Specifically, if B<sub>1</sub>, B<sub>2</sub>, ..., B<sub>p</sub> are
the normal child areas of the area or areas returned by F,
(ordered in the pre-order traversal order of the area tree),
then there is a one-to-one correspondence between these child areas
and the partition subsets (i.e. n = p), and for each i,</p><ul><li><p>S<sub>i</sub> consists of a single block-area and
B<sub>i</sub> is that block-area, or</p></li><li><p>S<sub>i</sub> consists of inline-areas and B<sub>i</sub> is a line-area
whose child areas are the same as the inline-areas in S<sub>i</sub>,
and in the same order, except that where the rules of the <a href="#language" class="property">language</a>
and <a href="#script" class="property">script</a> in effect call for glyph-areas to be substituted,
inserted, or deleted, then the substituted or inserted glyph-areas
appear in the area tree in the corresponding place, and the
deleted glyph-areas do not appear in the area tree.
For example, insertions and substitutions may occur because of
addition of hyphens or spelling changes due to hyphenation,
or glyph image construction from syllabification, or ligature formation.
Deletions occur as specified in <a href="#linebuilding-6">6.</a>,
below.</p></li></ul></li><li id="linebuilding-6"><p><a href="#white-space-treatment" class="property">white-space-treatment</a> is enforced. In particular,
deletions in <a href="#linebuilding-5">5.</a>
occur when there is a glyph area G such that</p><p>(a.) the <a href="#white-space-treatment" class="property">white-space-treatment</a> of G is "ignore" and the <a href="#character" class="property">character</a> of G
is classified as white space in XML; or</p><p>(b.) the <a href="#white-space-treatment" class="property">white-space-treatment</a> of G is "ignore-if-before-linefeed" or
"ignore-if-surrounding-linefeed", the <a href="#suppress-at-line-break" class="property">suppress-at-line-break</a> of G is
"suppress", and G would end a line-area; or</p><p>(c.) the <a href="#white-space-treatment" class="property">white-space-treatment</a> of G is "ignore-if-after-linefeed" or
"ignore-if-surrounding-linefeed", the <a href="#suppress-at-line-break" class="property">suppress-at-line-break</a> of G is
"suppress", and G would begin a line-area.</p><p>In these cases the area G is deleted; this may cause the condition in
clauses (b.) or (c.) to become true and lead to further deletions.</p></li></ol><p>Substitutions that replace a sequence of glyph-areas with a single
glyph-area should only occur when the <a href="#margin" class="property">margin</a>, <a href="#border" class="property">border</a>, and <a href="#padding" class="property">padding</a> in the
inline-progression-direction (start- and end-), <a href="#baseline-shift" class="property">baseline-shift</a>, and
<a href="#letter-spacing" class="property">letter-spacing</a> values are zero, <a href="#treat-as-word-space" class="property">treat-as-word-space</a> is
<code>false</code>, and the
values of all other relevant traits match (i.e.,
<a href="#alignment-adjust" class="property">alignment-adjust</a>, <a href="#alignment-baseline" class="property">alignment-baseline</a>, color
trait, <a href="#background" class="property">background</a> traits, dominant-baseline-identifier, <a href="#font" class="property">font</a> traits,
<a href="#text-depth" class="property">text-depth</a>,
<a href="#text-altitude" class="property">text-altitude</a>, <a href="#glyph-orientation-horizontal" class="property">glyph-orientation-horizontal</a>,
<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>, <a href="#line-height" class="property">line-height</a>, <a href="#line-height-shift-adjustment" class="property">line-height-shift-adjustment</a>,
<a href="#text-decoration" class="property">text-decoration</a>, <a href="#text-shadow" class="property">text-shadow</a>).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Line-areas do not receive the <a href="#background" class="property">background</a> traits or <a href="#text-decoration" class="property">text-decoration</a>
of their generating formatting object, or any other trait that requires
generation of a mark during rendering.</p></div></div><div class="div3">
<h4><a name="area-inlinebuild" id="area-inlinebuild"/>4.7.3 Inline-building</h4><p>This section describes the ordering constraints that apply to formatting
an <a href="#fo_inline" class="el">fo:inline</a> or similar inline-level object.</p><p>An inline-level formatting object <var>F</var> which
constructs one or more inline-areas does so by
placing normal inline-areas and/or anchor inline-areas returned to <var>F</var> by its child
formatting objects as children of inline-areas which it
generates.</p><p>For each such formatting object <var>F</var>, it must be
possible to form an
ordered partition <var>P</var> consisting of ordered subsets <var>S</var><sub>1</sub>,
<var>S</var><sub>2</sub>, ..., <var>S</var><sub>n</sub> of
the normal and/or anchor inline-areas and normal block-areas
returned by the child formatting objects,
such that the following are all satisfied:</p><ol class="enumar"><li><p>Each subset consists of a sequence of inline-areas,
or of a single block-area.</p></li><li><p>The ordering of the partition follows
the ordering of the formatting object tree, as defined above.</p></li><li><p>The partitioning occurs at legal line-breaks, as defined above.</p></li><li><p>Forced line-breaks are respected, as defined above.</p></li><li><p>The partition follows the ordering of the area tree,
except for certain glyph substitutions and deletions, as
defined above.</p></li></ol></div></div><div class="div2">
<h3><a name="keepbreak" id="keepbreak"/>4.8 Keeps and Breaks</h3><p>Keep and break conditions apply to a class of areas, which are typically
page-reference-areas,
column-areas, and line-areas. The appropriate class for a given condition is referred
to as a <b>context</b> and an area in this class is a <b>context-area</b>.
As defined in Section <a href="#pag-intro"><b>6.4.1 Introduction</b></a>, <b>page-reference-areas</b> are
areas generated by an <a href="#fo_page-sequence" class="el">fo:page-sequence</a> using the
specifications in an <a href="#fo_page-master" class="el">fo:page-master</a>, and
<b>column-areas</b> are
normal-flow-reference-areas generated from a region-body, or
region-reference-areas generated from other types of region-master.</p><p>A keep or break condition is an open statement about a formatting object and the
tree relationships of the areas it generates with the relevant context-areas. These
tree relationships are defined mainly in terms of <b>leading</b> or <b>trailing</b>
areas. If <var>A</var> is a descendant of <var>P</var>, then <var>A</var> is defined to
be <b>leading</b> in <var>P</var> if <var>A</var> has no preceding sibling which
is a normal area, nor does any of its ancestor areas up to but not including
<var>P</var>. Similarly, <var>A</var> is defined to
be <b>trailing</b> in <var>P</var> if <var>A</var> has no following sibling which
is a normal area, nor does any of its ancestor areas up to but not including
<var>P</var>. For any given formatting object, the <b>next</b> formatting object
in the flow is the first formatting object following (in the pre-order traversal order)
which is not a descendant of the given formatting object and
which generates and returns normal areas.</p><p>Break conditions are either <a href="#break-before" class="property">break-before</a> or <a href="#break-after" class="property">break-after</a> conditions. A <a href="#break-before" class="property">break-before</a>
condition is <b>satisfied</b> if the first area generated and returned
by the formatting object is
leading within a context-area. A <a href="#break-after" class="property">break-after</a> condition
depends on the next formatting object in
the flow; the condition
is satisfied if either there is no such next formatting object, or if the
first normal area generated and returned by that formatting object is leading in a context-area.</p><p>Break conditions are imposed by the <span class="trait">break-before</span> and
<span class="trait">break-after</span> properties. A
refined value of <code>page</code> for these traits imposes a
break condition with a context
consisting of the page-reference-areas; a value of <code>even-page</code>
or <code>odd-page</code> imposes a
break condition with a context of even-numbered page-reference-areas
or odd-numbered
page-reference-areas, respectively; a value of <code>column</code> imposes a
break condition with a
context of column-areas. A value of <code>auto</code> in a
<a href="#break-before" class="property">break-before</a> or <a href="#break-after" class="property">break-after</a>
trait imposes no break condition.</p><p>Keep conditions are either <a href="#keep-with-previous" class="property">keep-with-previous</a>, <a href="#keep-with-next" class="property">keep-with-next</a>, or <a href="#keep-together" class="property">keep-together</a>
conditions. A <a href="#keep-with-previous" class="property">keep-with-previous</a> condition on an object is satisfied if the first
area generated and returned by the formatting object is not leading within a
context-area, or if
there are no preceding areas in a post-order traversal of the area tree. A
<a href="#keep-with-next" class="property">keep-with-next</a> condition is satisfied if the last area generated and returned by the
formatting object is not trailing within a context-area, or
if there are
no following areas in a pre-order traversal of the area tree. A <a href="#keep-together" class="property">keep-together</a>
condition is satisfied if all areas generated and returned by the formatting object are
descendants of a single context-area.</p><p>Keep conditions are imposed by the "within-page", "within-column", and "within-line" components
of the "<a href="#keep-with-previous" class="property">keep-with-previous</a>", "<a href="#keep-with-next" class="property">keep-with-next</a>", and
"<a href="#keep-together" class="property">keep-together</a>" properties.
The refined value of each component specifies the <b>strength</b> of the keep condition
imposed, with higher numbers being stronger than lower numbers and the value
<code>always</code> being stronger than all numeric values.
A component with value <code>auto</code>
does not impose a keep condition. A "within-page" component imposes a keep-condition
with context consisting of the page-reference-areas; "within-column", with context consisting of
the column-areas; and "within-line" with context consisting of the line-areas.</p><p>The area tree is constrained to satisfy all break conditions imposed.
Each keep condition must also be satisfied, except when this would cause a
break condition or a stronger keep condition to fail to be satisfied. If not
all of a set of keep conditions of equal strength can be satisfied, then some
maximal satisfiable subset of conditions of that strength
must be satisfied (together with all break conditions
and maximal subsets of stronger keep conditions, if any).</p></div><div class="div2">
<h3><a name="rendmodel" id="rendmodel"/>4.9 Rendering Model</h3><p>
This section makes explicit the relationship between the area tree
and visually rendered output.
</p><p>
Areas generate three types of marks: (1) the area
<a href="#background" class="property">background</a>, if any, (2) the marks
intrinsic to the area (a glyph, image, or decoration) if any, and (3) the
area <a href="#border" class="property">border</a>, if any.
</p><p>
An area tree is rendered by causing marks to appear on an output medium in
accordance with the areas in the area tree. This section describes the
geometric location of such marks, and how conflicts between marks are to
be resolved.
</p><div class="div3">
<h4><a name="rend-geo" id="rend-geo"/>4.9.1 Geometry</h4><p>
Each area is rendered in a particular location. Formatting object semantics
describe the location of intrinsic marks relative to the object's location,
i.e., the <a href="#left" class="property">left</a>, <a href="#right" class="property">right</a>, top, and <a href="#bottom" class="property">bottom</a> edges of its content-rectangle. This
section describes how the area's location is determined,
which determines the location of its intrinsic marks.
</p><p>
For each page, the page-viewport-area corresponds isometrically to the
output medium.
</p><p>
The page-reference-area is offset from the page-viewport-area as described
below in section <a href="#rend-view"><b>4.9.2 Viewport Geometry</b></a>.
</p><p>
All areas in the tree with an area-class of <code>xsl-fixed</code>
are positioned such
that the left-, right-, top-, and bottom-edges of its
content-rectangle are
offset inward from the content-rectangle of its ancestor page-viewport-area
by distances specified by the <span class="trait">left-position</span>,
<span class="trait">right-position</span>, <span class="trait">top-position</span>,
and <span class="trait">bottom-position</span> traits, respectively.
</p><p>
Any area in the tree which is the child of a viewport-area is rendered
as described in section <a href="#rend-view"><b>4.9.2 Viewport Geometry</b></a>.
</p><p>
All other areas in the tree are positioned such that the
left-, right-, top-,
and bottom-edges of its content-rectangle are offset inward
from the
content-rectangle of its nearest ancestor reference-area by distances
specified by the <span class="trait">left-position</span>,
<span class="trait">right-position</span>, <span class="trait">top-position</span>,
and
<span class="trait">bottom-position</span> traits, respectively. These are shifted down
and <a href="#left" class="property">left</a> by the values of the <span class="trait">top-offset</span>
and <span class="trait">left-offset</span> traits, respectively, if the area
has a <span class="trait">relative-position</span> of <code>relative</code>.
</p></div><div class="div3">
<h4><a name="rend-view" id="rend-view"/>4.9.2 Viewport Geometry</h4><p>
A reference-area which is the child of a viewport-area is positioned
such that
the start-edge and end-edge of its content-rectangle are
parallel to the
start-edge and end-edge of the content-rectangle of its parent
viewport-area. The start-edge of its content-rectangle
is offset from the start-edge of the content-rectangle of its parent viewport-area
by an <b>inline-scroll-amount</b>, and the before-edge of its content-rectangle is offset from the
before-edge of
the content-rectangle of its parent viewport-area by a
<b>block-scroll-amount</b>.
</p><p>
If the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the reference-area is larger
than that
of the viewport-area and the <span class="trait">overflow</span> trait
for the reference-area is <code>scroll</code>,
then the inline-scroll-amount and block-scroll-amount are
determined by a scrolling mechanism, if any,
provided by the user agent. Otherwise, both are zero.
</p></div><div class="div3">
<h4><a name="rend-vis" id="rend-vis"/>4.9.3 Visibility</h4><p>
The <a href="#visibility" class="property">visibility</a> of marks depends upon the location of the marks,
the <span class="trait">visibility</span> of the area, and the <span class="trait">overflow</span> of any ancestor
viewport-areas.
</p><p>
If an area has <a href="#visibility" class="property">visibility</a> <code>hidden</code> it generates no marks.
</p><p>
If an area has an <span class="trait">overflow</span> of <code>hidden</code>,
or when the environment is non-dynamic and the <span class="trait">overflow</span> is
<code>scroll</code> then the area determines
a <b>clipping rectangle</b>, which is defined to be the
rectangle determined by the value of the <span class="trait">clip</span> trait of the area, and
for any mark
generated by one of its descendant areas, portions of the mark
lying outside
the clipping rectangle do not appear.</p></div><div class="div3">
<h4><a name="rend-border" id="rend-border"/>4.9.4 Border, Padding, and Background</h4><p>
The border- and padding-rectangles are determined relative to the
content-rectangle by the values of the common <a href="#padding" class="property">padding</a> and <a href="#border" class="property">border</a> <a href="#width" class="property">width</a>
traits (<a href="#border-before-width" class="property">border-before-width</a>, etc.).
</p><p>
For any area, which is not a child of a viewport-area, the <a href="#border" class="property">border</a> is
rendered between the border-rectangle and the padding-rectangle in
accordance with the common <a href="#border" class="property">border</a> color and style traits. For a child of
a viewport-area, the <a href="#border" class="property">border</a> is not rendered.
</p><p>For an area, which is not part of a viewport/reference pair, the
<a href="#background" class="property">background</a> is rendered. For an area that is either a viewport-area or a
reference-area in a viewport/reference pair, if the refined value of
<span class="trait">background-attachment</span> is <code>scroll</code>
and the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the reference-area is larger than
that of the viewport-area, then the <a href="#background" class="property">background</a> is rendered on the
reference-area and not the viewport-area, and otherwise it is rendered
on the viewport-area and not the reference-area.
</p><p>
The <a href="#background" class="property">background</a>, if any, is rendered in the
padding-rectangle, in accordance
with the <span class="trait">background-image</span>,
<span class="trait">background-color</span>,
<span class="trait">background-repeat</span>,
<span class="trait">background-position-vertical</span>, and
<span class="trait">background-position-horizontal</span> traits.
</p></div><div class="div3">
<h4><a name="rend-intrinsic" id="rend-intrinsic"/>4.9.5 Intrinsic Marks</h4><p>
For each class of formatting objects, the marks intrinsic to its
generated areas are specified in the formatting object description.
For example, an <a href="#fo_character" class="el">fo:character</a> object generates a glyph-area, and this
is rendered by drawing a glyph within that area's
content-rectangle in accordance with the area's <a href="#font" class="property">font</a> traits and <span class="trait">glyph-orientation</span>
and <span class="trait">blink</span> traits.
</p><p>
In addition, other traits (for example the various score and score-color traits) specify
other intrinsic
marks. In the case of score traits (<span class="trait">underline-score</span>,
<span class="trait">overline-score</span> and <span class="trait">through-score</span>), the score thickness and <a href="#position" class="property">position</a>
are specified by the nominal-font in effect; where the <a href="#font" class="property">font</a> fails to
specify these quantities, they are implementation-dependent.
</p></div><div class="div3">
<h4><a name="rend-layer" id="rend-layer"/>4.9.6 Layering and Conflict of Marks</h4><p>
Marks are layered as described below, which defines a partial
ordering of which marks are <b>beneath</b> which other marks.
</p><p>
Two marks are defined to <b>conflict</b> if they apply to
the same point
in the output medium. When two marks conflict, the one which is
beneath the other does not affect points in the output medium where
they both apply.
</p><p>
Marks generated by the same area are layered as follows: the area
<a href="#background" class="property">background</a> is beneath the area's intrinsic marks, and the intrinsic
marks are beneath the border. Layering among the area's intrinsic
marks is defined by the semantics of the area's generating formatting
object and its properties. For example, a glyph-area's glyph drawing
comes beneath the marks generated for text-decoration.
</p><p>The stacking layer of an area is defined by its stacking context and
its <a href="#z-index" class="property">z-index</a> value. The stacking layer of an area <var>A</var> is defined to be less
than that of an area <var>B</var> if some ancestor-or-self <var>A'</var> of <var>A</var>
and <var>B'</var> of <var>B</var> have the same stacking context and
the <a href="#z-index" class="property">z-index</a> of <var>A'</var> is less
than the <a href="#z-index" class="property">z-index</a> of <var>B'</var>. If neither stacking layer is less than the
other then they are defined to have the same stacking layer.</p><p>If <var>A</var> and <var>B</var> are areas, and the stacking layer
of <var>A</var> is less than the stacking layer
of <var>B</var>, then all marks generated by <var>A</var>
are beneath all marks generated by <var>B</var>.
</p><p>
If <var>A</var> and <var>B</var> are areas with the same
stacking layer, the backgrounds of <var>A</var> and <var>B</var>
come beneath all other marks generated by <var>A</var> and
<var>B</var>. Further, if <var>A</var> is an
ancestor of <var>B</var> (still with the same stacking layer), then
the <a href="#background" class="property">background</a> of <var>A</var>
is beneath all the areas of <var>B</var>, and all the areas
of <var>B</var> are beneath the intrinsic areas (and <a href="#border" class="property">border</a>)
of <var>A</var>.
</p><p>
If <var>A</var> and <var>B</var> have the same stacking layer and
neither is an ancestor of the other,
then it is an error if either their backgrounds conflict or if a
non-background mark of <var>A</var> conflicts with a
non-background mark of <var>B</var>.
An implementation may recover by proceeding as if the marks from the
first area in the pre-order traversal order are beneath those of the
other area.
</p></div></div><div class="div2">
<h3><a name="area-tree-sample" id="area-tree-sample"/>4.10 Sample Area Tree</h3><div style="margin-left: 3em;">
<img src="figures/page-area-tree.gif" alt="A tree representation of a sample area tree, showing (as nodes) viewports and reference areas from pages, regions, floats, footnote and the main flow." title="A typical area tree"/>
<p><b>Figure 18. </b>A Typical Area Tree</p>
</div></div><div class="div2">
<h3><a name="copyfitting" id="copyfitting"/>4.11 Copyfitting</h3><div class="div3">
<h4><a name="copyfitting-summary" id="copyfitting-summary"/>4.11.1 Summary</h4><div class="note"><p class="prefix"><b>Note:</b></p><p>Note that this subject has evolved and is currently
under discussion</p></div><p>Allowing copyfitting on <a href="#fo_region" class="el">fo:region</a>, fo:region-* objects,
<a href="#fo_block-container" class="el">fo:block-container</a> and <a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Adding a new value ("justify") for the property "display-align"
(already in XSL-FO) to activate copyfitting. Though the same
property is used for vertical justification, users can exploit the
property "force-page-count" (along with a correct definition of
page-masters and page-sequences) to avoid conflicts.</p><p>Introducing the concept of “list of prioritized adjustable
properties”. An adjustable property is an existing XSL-FO property
that can be modified in order to do copyfitting or vertical
justification.</p><p>Exploiting range values of existing properties to specify how
(and how much) each property can be adjusted. Introducing the idea
of "elasticity".</p><p>Adding a new property "adjustable-properties" that specifies such
lists.</p><p>Adding new values to the property "force-page-count" to model
copyfit into a fixed number of pages or a multiple of a number.</p><p>Adding a new formatting object <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> to
express alternative content for copyfitting</p><div class="note"><p class="prefix"><b>Note:</b></p><p>How to express consistency and relationships
among copyfitted areas? how to copyfit irregular shapes?</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>how to express alternative content: what
happens if it is not possible? how to express consistency and
relationships among copyfitted areas? how to copyfit irregular
shapes?</p></div></div><div class="div3">
<h4><a name="copyfitting-approach" id="copyfitting-approach"/>4.11.2 Copyfit: basic approach and definitions</h4><p>Many options exist to copyfit content to a certain area. For
example, a user could add some space between paragraphs, widen or
narrow spaces before and after titles, images and tables, modify the
line height of some paragraphs, etc. All these fine tunings, and
their multiplicity of combinations, lead to different results, and
different users could have different preferences.</p><p>Thus, copyfitting actually requires two logically separated
tasks: (1) the request of copyfitting to a given area, and (2) the
definition of strategies to copyfit.</p><p>Copyfitting is enabled by setting the property
<a href="#display-align" class="property">display-align</a> to the value
"justify". Copyfitting strategies are then expressed
through "adjustable properties lists" using the.
<a href="#adjustable-properties" class="property">adjustable-properties</a> property.</p><p>Although the same approach is used for vertical justification,
users can exploit the property <a href="#force-page-count" class="property">force-page-count</a>
and/or the definition of page-masters and page-sequences to avoid
conflicts.</p><p>The <a href="#display-align" class="property">display-align</a> property applies to
<a href="#fo_region" class="el">fo:region</a>, fo:region-*, <a href="#fo_block-container" class="el">fo:block-container</a> and <a href="#fo_table-cell" class="el">fo:table-cell</a>. It is
then possible to copyfit content in a block-container or in a table
cell, and also to copyfit the content of one flow to a single
region, multiple flows to a single region or even multiple flows to
multiple regions.</p><p>A <a href="#display-align-last" class="property">display-align-last</a> property is also added,
to specify different treatment of the last page in a copyfitted
seqence, by analogy with <a href="#text-align" class="property">text-align</a> and
<a href="#text-align-last" class="property">text-align-last</a>.
</p></div><div class="div3">
<h4><a name="d2e5340" id="d2e5340"/>4.11.3 Copyfit Examples</h4><p>Let us first consider two flows A and B that go into two distinct
regions R1 and R2, as defined in the following XSL-FO excerpt:</p><div class="exampleOuter"><div class="exampleInner"><pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
&lt;fo:page-master master-name="sample1"
page-height="11in" page-width="8.5in" margin-top="3pt"
margin-bottom="3pt" margin-left="3pt" margin-right="3pt"&gt;
&lt;fo:region region-name="R1"
display-align="justify"
adjustable-properties="line-height"/&gt;
&lt;fo:region region-name="R2"
display-align="before"/&gt;
&lt;/fo:page-master&gt;
&lt;fo:flow-map flow-map-name="M1"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R1"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="B"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R2"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
&lt;fo:page-sequence force-page-count="1" flow-map-reference="M1"&gt;
&lt;fo:flow flow-name="A"&gt;
&lt;fo:block&gt; Lorem maecenas blandit ac, neque sed ut pulvinar,
lectus sagittis sapien per risus vel. Ligula sapien sed morbi cras
tellus commodo. Si qua ex docet dei etris crucis&lt;/fo:block&gt;
&lt;fo:block&gt; curabitur magna nisi, faucibus sed ornare sed,
congue eu dui. Pellentesque habitant morbi tristique senectus et
netus et malessecularia uada fames ac turpis
egestas. &lt;/fo:block&gt;
&lt;fo:block&gt; Nunc sit amet dolor sed sem congue mattis sed ut
arcu. Mauris id magna sit amet elit aliquam.&lt;/fo:block&gt;
&lt;fo:block&gt;Pellentesque habitant morbi tristique senectus et
netus et malesuada fames.&lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;fo:flow flow-name="B"&gt;
&lt;fo:block&gt;Crucis rosa ut hoc sien qua non res veni.&lt;/fo:block&gt;
&lt;fo:block&gt; Etiam tristique, nulla a pulvinar hendrerit nihil
tortor urna auctor etim domine secularia cali sed ut quotie ire in
domince hoc fantus quis eius rei rei. &lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;</pre></div></div><p>The property <a href="#display-align" class="property">display-align</a> is added to the
element "<a href="#fo_region" class="el">fo:region</a>" to activate copyfit for region R1. No copyfit is
activated on region R2 since the property
<a href="#display-align" class="property">display-align</a> has value "before". Note also that
the property <a href="#force-page-count" class="property">force-page-count</a> of the element
"<a href="#fo_page-sequence" class="el">fo:page-sequence</a>" states that the overall content has to be
copyfitted in one page. Finally, the property
<a href="#adjustable-properties" class="property">adjustable-properties</a> lists those XSL-FO
properties that can be modified to copyfit text.</p><p>The expected result is shown below:</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-1"/></div>
<img src="figures/600px-Justify-example1.png" alt="A page contains two regions; the first, R1, is full of text in red; the second, R2, is about half-full with the rest of the text, in black." title="Example of copyfitting across two regions"/>
<p><b>Figure 19. </b>Expected result of copyfit example.</p>
</div><p>The same flows and regions are expected to produce a different
output, when the flow-map M2 is used instead:</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:flow-map flow-map-name="M2"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;fo:flow-name-specifier flow-name-reference="B"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R1"/&gt;
&lt;fo:region-name-specifier region-name-reference="R2"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;</pre></div></div><p>In this case, the two flows go into region R1 and then region R2.
If the properties <a href="#display-align" class="property">display-align</a> does not change,
the expected result is the following:</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-2"/></div>
<img src="figures/600px-Justify-example2.png" alt="A page contains two regions; the first, R1, is full of text in red; the second, R2, starts with a continuation of the red text; this text is followed by the black text." title="Example of copyfitting across two regions, with red text overflowing into the second region"/>
<p><b>Figure 20. </b>Expected result of copyfit example with display-align = before.</p>
</div><p>The expected result is different when either the property
"display-align" of region R2 is set to "justify":</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:page-master master-name="sample1"
page-height="11in" page-width="8.5in" margin-top="3pt"
margin-bottom="3pt" margin-left="3pt" margin-right="3pt"&gt;
&lt;fo:region region-name="R1"
display-align="justify"
adjustable-properties="line-height"/&gt;
&lt;fo:region region-name="R2"
display-align="justify"/&gt;
&lt;/fo:page-master&gt;
</pre></div></div><p>In fact, both the regions end up being copyfitted as shown
below:</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-3"/></div>
<img src="figures/600px-Justify-example2.png" alt="A page contains two regions; the first, R1, is full of text in red; the second, R2, starts with a continuation of the red text; this text is followed by the black text, and is stretched to fill the region." title="Example of copyfitting across two regions, with red text overflowing into the second region"/>
<p><b>Figure 21. </b>Expected result of copyfit example with
display-align = justify.</p>
</div><p>When the formatter is expected to produce as many pages as needed
(for instance, by setting the property
<a href="#force-page-count" class="property">force-page-count</a> to "no-force"), the property
<a href="#display-align" class="property">display-align</a> is used to activate vertical
justification. The property <a href="#display-align-last" class="property">display-align-last</a>
is then used to set the vertical alignment of the last page.</p><p>Let us consider the following example,
where only one region R1 and one flow A are declared:</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
&lt;fo:page-master master-name="sample1"
page-height="11in" page-width="8.5in" margin-top="3pt"
margin-bottom="3pt" margin-left="3pt" margin-right="3pt"&gt;
&lt;fo:region-body region-name="xsl-region-body"
display-align="justify"
display-align-last="relative"
adjustable-properties="..."/&gt;
&lt;/fo:page-master&gt;
&lt;fo:page-sequence&gt;
&lt;fo:flow flow-name="A"&gt;
&lt;fo:block&gt;Lorem ipsum dolor sit amet, nunc euismod nisl nam euismod, quis maecenas
blandit ac, neque sed ut pulvinar, lectus sagittis ... quorneque tortor
neque, commodo mauris sagittis yurpis,hic fecit leuc em.&lt;/fo:block&gt;
&lt;fo:block&gt;Lorem ipsum dolor sit amet, nunc ... lectus sagittis sapien
mauris per risus.&lt;/fo:block&gt;
&lt;fo:block&gt;Ligula sapien sed morbi cras tellus ... quoque
cra ut sic fecit quorem deis hoc hac lorem ipse die cruci faucibus sed ultrices
tempor inter dum.&lt;/fo:block&gt;
&lt;fo:block&gt;Lorem ipsum dolor sit amet, .... Rutrum mattis accumsan.&lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;</pre></div></div><p>The values of the properties <a href="#display-align" class="property">display-align</a> and
<a href="#display-align-last" class="property">display-align-last</a> of the element
"<a href="#fo_region-body" class="el">fo:region-body</a>" require the formatter to produce the following
output:</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-4"/></div>
<img src="figures/700px-Justify1.png" alt="Three pages of text; the first two are full, and the third is partially filled." title="Three pages of text"/>
<p><b>Figure 22. </b>Three pages of text; the first two are full, and the third is partially filled.</p>
</div><p>By setting the property <a href="#display-align-last" class="property">display-align-last</a> to
"justify", the last page is also vertically justified:</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-5"/></div>
<img src="figures/Justify2-example.png" alt="Three pages of text; all three are full" title="Three filled pages of text"/>
<p><b>Figure 23. </b>showing last page justification</p>
</div><p>Note also that this case can be easily generalized for the case of
multiple flows going into the same region.</p><p>The formatter is expected to copyfit text in a given number of
pages when the property <a href="#force-page-count" class="property">force-page-count</a> is set
to an integer value. Consider for instance the previous declaration
of "<a href="#fo_region-body" class="el">fo:region-body</a>" changed into:</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:region-body region-name="xsl-region-body"
display-align="justify"
display-align-last="justify"
force-page-count="2"
adjustable-properties="..."/&gt;</pre></div></div><p>The formatter is now expected to produce the following result:</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-6"/></div>
<img src="figures/700px-Justify2.png" alt="Two pages of text; both are full" title="Two filled pages of text"/>
<p><b>Figure 24. </b>Showing a fixed number of pages (2 in the example)</p>
</div><p>The last page is vertically justified since the property
<a href="#display-align-last" class="property">display-align-last</a> is set to "justify". By
changing that property, user can obtain the same number of pages
without imposing the last one to be completely filled.</p><div style="margin-left: 3em;"><div><a name="fig-copyfitting-7"/></div>
<img src="figures/600px-Justify-example4.png" alt="Two pages each with two regions" title="More complex exaple"/>
<p><b>Figure 25. </b>A more complex example, summarizing multiple cases:</p>
</div></div><div class="div3">
<h4><a name="d2e5507" id="d2e5507"/>4.11.4 Content Adjusting Strategies</h4><p>XSL-FO provides a general mechanism to express strategies for
copyfitting or vertical justification. The overall approach is
flexible and independent on the formatting task and may be applied
to other contexts in the future.</p><p>An "adjustable properties list" is an ordered sequence of
properties names (or group of names) that a formatter is allowed to
modify to format the content. In fact, such lists are used to drive
copyfitting, vertical justification and feathering. The order of
the names in the list follows the priority rules described
below.</p><p>Adjustable properties lists can be associated with fo:objects
using the property <a href="#adjustable-properties" class="property">adjustable-properties</a>.</p><p>It is important to note that the “adjustable-properties list”
only states the strategy to format the content and does not define
the actual property ranges the application is allowed to modify.
These are instead expressed (as in an XSL-FO 1.1 document)
throughout the flow and its descendant formatting objects: this
provides a great expressing power in a simple way, as, for example,
it allows for different <a href="#fo_block" class="el">fo:block</a> elements to have different
adjusting properties.</p><p>For example: adjustable-properties=”space-before word-spacing”
means that the application is allowed to modify the actual value of
the space-before and word-spacing properties. Although the
“adjustable-properties” property is defined in the
<a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> object, the variations are defined in the
“space-before” and “word-spacing” properties of the blocks within
the actual flow. In most cases values of these properties are
actually inherithed. The application should try to adjust the text
by choosing appropriate values for the space-before traits (using a
value either greater or smaller that the .optimum one but still
between the relevant .minimum and .maximum) of each block.</p><p>In fact, many FO properties (dating back to the initial XSL-FO
specification) can be given a length range value, expressed using a
.minimum, .optimum and .maximum components; others
(allowed-height-scale, allowed-width-scale) can be given a list of
numeric values; font-family can be given a list of values.</p><p>A property having a range value can create some
<em>elasticity</em>: the dimensions of the areas generated by
the affected formatting objects can stretch or shrink from an
optimal value. An FO subtree is said to have <em>inline
elasticity</em> if there are properties involved in the line
building process that have some degree of elasticity; similarly, an
FO subtree is said to have <em>block elasticity</em> if there
are properties involved in the block stacking process that have some
degree of elasticity. It should be noted that a length range in an
inline-related property can involve both inline and block elasticity
(as, for example, a variation in word-spacing may result in the
creation of fewer or more lines), while a range in a block-related
property only creates block elasticity.</p><p>The presence of some elasticity is the first condition to adjust
content (for copyfitting or vertical justification). Properties with
range or list values, in fact, can be adjusted in order to achieve
the expected result.</p><p>On the other hand, elasticity does not automatically imply that
content will be formatted as expected. It may happen that properties
listed in “adjustable properties list” do not have elasticity while
other do. In that case the formatter cannot achieve the expected
result and should warn the user.</p><p>If properties listed in the “adjustable properties list” do have
elasiticy but the formatter is not able to achieve the expected
result – because of syntax errors, limitated support of required
strategies, etc. – the formatter should warn the user too.</p><p>An example of copyfit declaration and application is shown
below:</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
&lt;fo:page-master master-name="sample1" page-height="11in"
page-width="8.5in" margin-top="3pt"
margin-bottom="3pt" margin-left="3pt" margin-right="3pt"&gt;
&lt;fo:region region-name="R1"
display-align="justify"
adjustable-properties="line-height"/&gt;
&lt;fo:region region-name="R2"
display-align="before"/&gt;
&lt;/fo:page-master&gt;
&lt;fo:flow-map flow-map-name="M1"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R1"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="B"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R2"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
&lt;fo:page-sequence force-page-count="1" flow-map-reference="M1"&gt;
&lt;fo:flow flow-name="A"&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Lorem
maecenas blandit ac, neque sed ut pulvinar, lectus sagittis sapien
per risus vel. Ligula sapien sed morbi cras tellus commodo. Si qua
ex docet dei etris crucis&lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; curabitur
magna nis, faucibus sed ornare sed, congue eu dui. Pellentesque
habitant morbi tristique senectus et netus et malessecularia uada
fames ac turpis egestas. &lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Nunc sit
amet dolor sed sem congue mattis sed ut arcu. Mauris id magna sit
amet elit aliquam.&lt;/fo:block&gt; &lt;fo:block&gt;Pellentesque
habitant morbi tristique senectus et netus et malesuada
fames.&lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;fo:flow flow-name="B"&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt;Crucis rosa
ut hoc sien qua non res veni.&lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Etiam
tristique, nulla a pulvinar hendrerit nihil tortor urna auctor etim
domine secularia cali sed ut quotie ire in domince hoc fantus quis
eius rei rei. &lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;</pre></div></div><p>The two regions R1 and R2 use different strategies to copyfit.
Flow A is copyfitted into region R1 by only adjusting the word-space
of each block (that will be a value between 1pt and 4pt), while flow B
is copyfitted into region R2 by adjusting line-height of each block
(that will be a value between 8pt and 14pt).</p><p>Notice again that the declaration of the strategies for copyfitting
is completely disconnected from the declaration of the copyfit
itself.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The definition of “adjustable-properties” in a <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>
object provides great flexibility to the copyfit process (and,
similarly, to the vertical justification). In fact, different
blocks may have different values of the same property that are all
within the allowed ranges. Though any result that satisfies the
specified constraints would conform to this specification, current
typographic practice would tend to use the available elasticity with
uniformity within the same page-sequence or, at least, whitin the
same page. So, for example, if two <a href="#fo_block" class="el">fo:block</a>s having the same values
for space-before happen to generate areas for a copyfitted page, and
the application has to use this elasticity, the result most use will
expect would have both spaces being set to an identical value.</p></div></div></div></div><div class="div1">
<h2><a name="refinement" id="refinement"/>5 Property Refinement / Resolution</h2><p>Every formatting property may be specified on every formatting
object. For each formatting object class, however, only a subset of
the formatting properties are used; those that <b>apply</b>
to the class.</p><p>During refinement the set of <b>properties</b> that apply to a formatting
object is transformed into a set of <b>traits</b> that
define constraints on the result of formatting. For many traits there
is a one-to-one correspondence with a property; for other traits the
transformation is more complex. Details on the transformation are
described below.
</p><p>The first step in refinement of a particular formatting object
is to obtain the effective value of each property that applies to the
object. Any shorthand property specified on the formatting object is
expanded into the individual properties. This is further described in
<a href="#shortexpan"><b>5.2 Shorthand Expansion</b></a>. For any property that has not been specified
on the object the inherited (see <a href="#inheritance"><b>5.1.4 Inheritance</b></a>)
or initial value, as applicable, is used as the effective value.
The second step is to transform this property set into traits.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Although the refinement process is described in a series of
steps, this is solely for the convenience of exposition
and does not imply they must be implemented as separate
steps in any conforming implementation. A conforming implementation
must only achieve the same effect.</p></div><div class="div2">
<h3><a name="speccomact" id="speccomact"/>5.1 Specified, Computed, and Actual Values, and Inheritance</h3><p>For every property that is applicable to a given
formatting object, it is necessary to determine
the value of the property.
Three variants of the property value are
distinguished: the specified value, the computed value, and
the actual value. The "specified value" is one that is
placed on the formatting object during the tree-construction process.
A specified value may not be in a
form that is directly usable; for example, it may be a
percentage or other expression
that must be converted into an absolute value.
A value resulting from such a conversion is called the
"computed value". Finally, the computed value may not be
realizable on the output medium and may need to be adjusted
prior to use in rendering. For example, a line <a href="#width" class="property">width</a> may be
adjusted to become an integral number of output
medium pixels. This adjusted value is the "actual value."</p><div class="div3">
<h4><a name="d2e5600" id="d2e5600"/>5.1.1 Specified Values</h4><p>The specified value of a property is
determined using the following mechanisms
(in order of <a href="#precedence" class="property">precedence</a>):</p><ol class="enumar"><li><p>
If the tree-construction process placed the property
on the formatting object, use the value of that property
as the specified value. This is called "explicit
specification".</p></li><li><p>
Otherwise, if the property is inheritable, use the value of that
property from the parent formatting object, generally the
computed value (see below).</p></li><li><p>
Otherwise use the property's initial value, if it has one.
The initial value of each property is indicated in the
property's definition. If there is no initial value, that
property is not specified on the formatting object.
In general, this is an error.
</p></li></ol><p>Since it has no parent, the root of the result tree
cannot use values from a parent formatting
object; in this case, the initial value is used if necessary.</p></div><div class="div3">
<h4><a name="d2e5620" id="d2e5620"/>5.1.2 Computed Values</h4><p>Specified values may be absolute (i.e., they are not
specified relative to another value, as in "red" or "2mm")
or relative (i.e., they are specified relative to another value,
as in "auto", "2em", and "12%"), or they may be expressions.
For most absolute values, no
computation is needed to find the computed value. Relative values,
on the other hand, must be transformed into computed values: percentages
must be multiplied by a reference value (each property defines which value
that is), values with a relative unit (em)
must be made absolute by multiplying with the appropriate <a href="#font" class="property">font</a> <a href="#size" class="property">size</a>,
"auto" values must be computed by the formulas given with
each property, certain property
values ("smaller", "bolder") must be replaced
according to their definitions.
The computed value of any property that controls a <a href="#border" class="property">border</a> <a href="#width" class="property">width</a>
where the style of
the <a href="#border" class="property">border</a> is "none" is forced to be "0pt".</p><p>
Some properties have more than one way in which the property value can be specified.
The simplest example of such properties are those which can be specified
either in terms of a <a href="#direction" class="property">direction</a> relative to the <a href="#writing-mode" class="property">writing-mode</a> (e.g., <a href="#padding-before" class="property">padding-before</a>)
or a <a href="#direction" class="property">direction</a> in terms of the absolute geometric orientation of the viewport
(e.g., <a href="#padding-top" class="property">padding-top</a>). These two properties are called the
relative property and the absolute property, respectively.
Collectively, they are called "corresponding properties".</p><p>Specifying a value for one property determines both a
computed value for the specified property and a computed value
for the corresponding property.
Which relative property corresponds to which absolute
property depends on the writing-mode. For example, if
the "<a href="#writing-mode" class="property">writing-mode</a>" at the top level of a document is
"lr-tb",
then "<a href="#padding-start" class="property">padding-start</a>" corresponds to "<a href="#padding-left" class="property">padding-left</a>", but if
the "<a href="#writing-mode" class="property">writing-mode</a>" is "rl-tb", then "<a href="#padding-start" class="property">padding-start</a>"
corresponds to "<a href="#padding-right" class="property">padding-right</a>".
The exact specification of how to compute the values of
corresponding properties is given in <a href="#compcorr"><b>5.3 Computing the Values of Corresponding Properties</b></a>.</p><p>In most cases, elements inherit computed values. However,
there are some properties whose specified value may be
inherited (e.g., some values for the "<a href="#line-height" class="property">line-height</a>"
property).
In the cases where child elements do not inherit the computed value,
this is described in the property definition.</p></div><div class="div3">
<h4><a name="d2e5685" id="d2e5685"/>5.1.3 Actual Values</h4><p>A computed value is in principle ready to be
used, but a user agent may not be able to make
use of the value in a given environment. For
example, a user agent may only be able to render
borders with integer pixel widths and may, therefore,
have to adjust the computed <a href="#width" class="property">width</a> to an integral number
of media pixels. The actual
value is the computed value after any such adjustments have been applied.</p></div><div class="div3">
<h4><a name="inheritance" id="inheritance"/>5.1.4 Inheritance</h4><p>Some of the properties applicable to formatting objects are "inheritable."
Such properties are so identified in the property description.
The inheritable properties can be placed on any formatting
object. The inheritable properties are propagated down the
formatting object tree from a parent to each child. (These properties
are given their initial value at the root of the result tree.)
For a given inheritable property, if that property is present on a
child, then that value of the property is used for that child
(and its descendants until explicitly re-set in a lower descendant);
otherwise, the specified value of that property on the child is the
computed value of that property on the parent formatting
object. Hence there is always a specified value
defined for every inheritable property for every
formatting object.</p></div></div><div class="div2">
<h3><a name="shortexpan" id="shortexpan"/>5.2 Shorthand Expansion</h3><p>In XSL there are two kinds of shorthand properties; those originating
from CSS, such as "<a href="#border" class="property">border</a>", and those that arise from breaking apart
and/or combining CSS properties, such as "<a href="#page-break-inside" class="property">page-break-inside</a>". In XSL
both types of shorthands are handled in the same way.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Shorthands are included only in the highest XSL conformance
level: "complete" (see
<a href="#conform"><b>8 Conformance</b></a>).</p><p>The conformance level for each property is shown in
<a href="#prtab2"><b>B.3 Property Table: Part II</b></a>.</p></div><p>Shorthand properties do not inherit from
the shorthand on the parent. Instead the individual properties that
the shorthand expands into may inherit.</p><p>Some CSS shorthands are interrelated; their expansion has one
or more individual properties in common.
CSS indicates that the user must specify the order of processing
for combinations of multiple interrelated shorthands and individual
interrelated properties. In XML, attributes are defined as unordered.
To resolve this issue, XSL defines a <a href="#precedence" class="property">precedence</a> order
when multiple interrelated shorthand properties or a shorthand property
and an interrelated individual property are specified:</p><p>They are processed in increasing precision (i.e., "<a href="#border" class="property">border</a>" is less precise
than "<a href="#border-top" class="property">border-top</a>", which is less precise than "<a href="#border-top-color" class="property">border-top-color</a>").
The individual properties are always more precise than any shorthand.
For the remaining ambiguous case, XSL defines the ordering to
be:</p><ol class="enumar"><li><p>"<a href="#border-style" class="property">border-style</a>", "<a href="#border-color" class="property">border-color</a>", and "<a href="#border-width" class="property">border-width</a>"
is less precise than</p></li><li><p>"<a href="#border-top" class="property">border-top</a>", "<a href="#border-bottom" class="property">border-bottom</a>", "<a href="#border-right" class="property">border-right</a>",
and "<a href="#border-left" class="property">border-left</a>".</p></li></ol><p>Processing is conceptually in the following steps:</p><ol class="enumar"><li><p>Set the effective value of
all properties to their initial values.</p></li><li><p>Process all shorthands in increasing precision.</p><p>If the shorthand is set to "inherit": set the effective
value of each property that can be set by the shorthand to
the computed value of the corresponding property in the parent.</p><p>If the value of the shorthand is not "inherit": determine which
individual properties are to be set, and replace the
initial value with the computed value derived from the specified
value.</p></li><li><p>Process all specified individual properties.</p></li><li><p>Carry out any inheritance for properties that were
not given a value other than by the first step.</p></li></ol><div class="note"><p class="prefix"><b>Note:</b></p><p>For example,
if both the "<a href="#background" class="property">background</a>"
and the "<a href="#background-color" class="property">background-color</a>" properties are specified on a given
formatting object:
process the "<a href="#background" class="property">background</a>" shorthand, then process the
"<a href="#background-color" class="property">background-color</a>" property.</p></div></div><div class="div2">
<h3><a name="compcorr" id="compcorr"/>5.3 Computing the Values of Corresponding Properties</h3><p>Where there are corresponding properties, such as "<a href="#padding-left" class="property">padding-left</a>"
and "<a href="#padding-start" class="property">padding-start</a>", a computed value is determined for all the
corresponding properties. How the computed values are determined
for a given formatting object is dependent on which of
the corresponding properties are specified on the object. See description
below.</p><p>The correspondence mapping from absolute to relative property
is as follows:
</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies a block-progression-direction of
"top-to-bottom": "top" maps to "before", and "<a href="#bottom" class="property">bottom</a>" maps to "after".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies a block-progression-direction of
"bottom-to-top": "top" maps to "after", and "<a href="#bottom" class="property">bottom</a>" maps to "before".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies a block-progression-direction of
"left-to-right": "<a href="#left" class="property">left</a>" maps to "before", and "<a href="#right" class="property">right</a>" maps to "after".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies a block-progression-direction of
"right-to-left": "<a href="#left" class="property">left</a>" maps to "after", and "<a href="#right" class="property">right</a>" maps to "before".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies an inline-progression-direction of
"left-to-right": "<a href="#left" class="property">left</a>" maps to "start", and "<a href="#right" class="property">right</a>" maps to "end".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies an inline-progression-direction of
"right-to-left": "<a href="#left" class="property">left</a>" maps to "end", and "<a href="#right" class="property">right</a>" maps to "start".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies an inline-progression-direction of
"top-to-bottom": "top" maps to "start", and "<a href="#bottom" class="property">bottom</a>" maps to "end".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies an inline-progression-direction of
"bottom-to-top": "top" maps to "end", and "<a href="#bottom" class="property">bottom</a>" maps to "start".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies an inline-progression-direction of
"left-to-right" for odd-numbered lines, and "right-to-left" for
even-numbered lines: "<a href="#left" class="property">left</a>" maps to "start", and "<a href="#right" class="property">right</a>" maps to "end".</p><div class="note"><p class="prefix"><b>Note:</b></p><p>"<a href="#reference-orientation" class="property">reference-orientation</a>" is a rotation and does not influence
the correspondence mapping.
</p></div><div class="div3">
<h4><a name="refine-border-padding" id="refine-border-padding"/>5.3.1 Border and Padding Properties</h4><p>The simplest class of corresponding properties are
those for which there are only two variants in the
correspondence, an absolute property and a relative
property, and the property names differ only in the
choice of absolute or
relative designation; for example, "<a href="#border-left-color" class="property">border-left-color</a>" and
"<a href="#border-start-color" class="property">border-start-color</a>".</p><p>For this class, the computed values of the corresponding
properties are determined as follows. If the corresponding
absolute variant of the property is specified on the formatting
object, its computed value is used to set the computed value of the
corresponding relative property. If the corresponding absolute property
is not explicitly specified, then the computed
value of the absolute property is set to the computed value of the
corresponding relative property.
If the corresponding relative property is specified on the
formatting object and the absolute property only specified by
the expansion of a shorthand, then the computed value of the
absolute property is set to the computed value of the corresponding
relative property.</p><p>Note that if both the absolute and the relative
properties are not
explicitly specified, then the rules for determining the specified
value will use either inheritance if that is defined for the property
or the initial value. The initial value must be the same for all possible
corresponding properties. If both an absolute and a corresponding relative
property are explicitly specified, then the above rule gives <a href="#precedence" class="property">precedence</a> to the
absolute property, and the specified value of the
corresponding relative property
is ignored in determining the computed value of the corresponding properties.</p><p>The (corresponding) properties that use the above rule to
determine their computed value are:</p><ul><li><p><a href="#border-after-color" class="property">border-after-color</a></p></li><li><p><a href="#border-before-color" class="property">border-before-color</a></p></li><li><p><a href="#border-end-color" class="property">border-end-color</a></p></li><li><p><a href="#border-start-color" class="property">border-start-color</a></p></li><li><p><a href="#border-after-style" class="property">border-after-style</a></p></li><li><p><a href="#border-before-style" class="property">border-before-style</a></p></li><li><p><a href="#border-end-style" class="property">border-end-style</a></p></li><li><p><a href="#border-start-style" class="property">border-start-style</a></p></li><li><p><a href="#border-after-width" class="property">border-after-width</a></p></li><li><p><a href="#border-before-width" class="property">border-before-width</a></p></li><li><p><a href="#border-end-width" class="property">border-end-width</a> </p></li><li><p><a href="#border-start-width" class="property">border-start-width</a></p></li><li><p><a href="#padding-after" class="property">padding-after</a></p></li><li><p><a href="#padding-before" class="property">padding-before</a></p></li><li><p><a href="#padding-end" class="property">padding-end</a></p></li><li><p><a href="#padding-start" class="property">padding-start</a> </p></li></ul></div><div class="div3">
<h4><a name="refine-margin-space-indent" id="refine-margin-space-indent"/>5.3.2 Margin, Space, and Indent Properties</h4><p>The "<a href="#space-before" class="property">space-before</a>", and "<a href="#space-after" class="property">space-after</a>" properties (block-level
formatting objects), "<a href="#space-start" class="property">space-start</a>", and "<a href="#space-end" class="property">space-end</a>" properties
(inline-level formatting objects) are handled in the same way as the
properties immediately above, but the corresponding
absolute properties are in the set: "<a href="#margin-top" class="property">margin-top</a>",
"<a href="#margin-bottom" class="property">margin-bottom</a>", "<a href="#margin-left" class="property">margin-left</a>", and "<a href="#margin-right" class="property">margin-right</a>".
The .conditionality component of any <a href="#space-before" class="property">space-before</a> or <a href="#space-after" class="property">space-after</a> determined
from a <a href="#margin" class="property">margin</a> property is set to "retain".</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The treatment of the .conditionality component is for CSS2
compatibility.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The computed value of a CSS2 <a href="#margin" class="property">margin</a> in the
<a href="#block-progression-dimension" class="property">block-progression-dimension</a> specified as "auto" is 0pt. Any <a href="#space-before" class="property">space-before</a>
or <a href="#space-after" class="property">space-after</a> determined from a <a href="#margin" class="property">margin</a> value of "auto" is set to 0pt.</p></div><p>There are two more properties, "<a href="#end-indent" class="property">end-indent</a>"
and "<a href="#start-indent" class="property">start-indent</a>" (block-level
formatting objects) which correspond to the
various absolute "<a href="#margin" class="property">margin</a>" properties. For these properties,
the correspondence is more complex and involves the corresponding
"border-X-<a href="#width" class="property">width</a>" and "padding-X" properties,
where X is one of "<a href="#left" class="property">left</a>", "<a href="#right" class="property">right</a>", "top" or "<a href="#bottom" class="property">bottom</a>".
The computed values of these corresponding properties are determined
as follows:</p><p>If the corresponding absolute "<a href="#margin" class="property">margin</a>" property is specified on the
formatting object and the formatting object generates a reference area
the computed value of the <a href="#margin" class="property">margin</a> is used to calculate the computed
value of the corresponding "Y-indent" property,
where Y is either "start" or "end".
The computed value of the of the absolute "<a href="#margin" class="property">margin</a>" property
is determined by the CSS descriptions of the properties
and the relevant sections (in particular section 10.3) of the
CSS Recommendation referenced by these properties.
The formulae for "<a href="#start-indent" class="property">start-indent</a>"
and "<a href="#end-indent" class="property">end-indent</a>" are":</p><p><code>start-indent = margin-corresponding
+ padding-corresponding + border-corresponding-width</code></p><p><code>end-indent = margin-corresponding
+ padding-corresponding + border-corresponding-width</code></p><p>If the corresponding absolute "<a href="#margin" class="property">margin</a>" property is specified on the
formatting object and the formatting object does not generate a
reference area, the computed value of the <a href="#margin" class="property">margin</a> and the computed values
of the corresponding "border-X-<a href="#width" class="property">width</a>" and "padding-X" properties are used to
calculate the computed value of the corresponding "Y-indent" property.
The formulae for "<a href="#start-indent" class="property">start-indent</a>"
and "<a href="#end-indent" class="property">end-indent</a>" are:</p><p><code>start-indent = inherited_value_of(start-indent) +
margin-corresponding + padding-corresponding +
border-corresponding-width</code></p><p><code>end-indent = inherited_value_of(end-indent) +
margin-corresponding + padding-corresponding +
border-corresponding-width</code></p><p>If the corresponding absolute <a href="#margin" class="property">margin</a> property is not explicitly
specified, or if
the corresponding relative property is specified on the
formatting object and the absolute property only specified by
the expansion of a shorthand,
the corresponding absolute <a href="#margin" class="property">margin</a> property is calculated
according to the following formulae:</p><p><code>margin-corresponding = start-indent -
inherited_value_of(start-indent) - padding-corresponding -
border-corresponding-width</code></p><p><code>margin-corresponding = end-indent -
inherited_value_of(end-indent) - padding-corresponding -
border-corresponding-width</code></p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the "<a href="#start-indent" class="property">start-indent</a>" or "<a href="#end-indent" class="property">end-indent</a>" properties are not
specified their inherited value is used in these formulae.</p></div></div><div class="div3">
<h4><a name="d2e6147" id="d2e6147"/>5.3.3 Height, and Width Properties</h4><p>Based on the <a href="#writing-mode" class="property">writing-mode</a> in effect for the formatting object,
either the "<a href="#height" class="property">height</a>", "<a href="#min-height" class="property">min-height</a>", and "<a href="#max-height" class="property">max-height</a>" properties, or
the "<a href="#width" class="property">width</a>", "<a href="#min-width" class="property">min-width</a>", and "<a href="#max-width" class="property">max-width</a>" properties are converted
to the corresponding <a href="#block-progression-dimension" class="property">block-progression-dimension</a>, or
inline-progression-dimension.</p><p>The "<a href="#height" class="property">height</a>" properties are absolute and indicate the dimension
from "top" to "<a href="#bottom" class="property">bottom</a>"; the <a href="#width" class="property">width</a> properties the dimension from
"<a href="#left" class="property">left</a>" to "<a href="#right" class="property">right</a>".</p><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies a block-progression-direction of
"top-to-bottom" or "bottom-to-top" the conversion is as follows:</p><ul><li><p>If any of "<a href="#height" class="property">height</a>", "<a href="#min-height" class="property">min-height</a>", or "<a href="#max-height" class="property">max-height</a>" is specified:</p><ul><li><p>If "<a href="#height" class="property">height</a>" is specified then first set:</p><p>block-progression-dimension.minimum=&lt;<a href="#height" class="property">height</a>&gt;</p><p>block-progression-dimension.optimum=&lt;<a href="#height" class="property">height</a>&gt;</p><p>block-progression-dimension.maximum=&lt;<a href="#height" class="property">height</a>&gt;</p></li><li><p>If "<a href="#height" class="property">height</a>" is not specified, then first set:</p><p>block-progression-dimension.minimum=auto</p><p>block-progression-dimension.optimum=auto</p><p>block-progression-dimension.maximum=auto</p></li><li><p>Then, if "<a href="#min-height" class="property">min-height</a>" is specified, reset:</p><p>block-progression-dimension.minimum=&lt;<a href="#min-height" class="property">min-height</a>&gt;</p></li><li><p>Then, if "<a href="#max-height" class="property">max-height</a>" is specified, reset:</p><p>block-progression-dimension.maximum=&lt;<a href="#max-height" class="property">max-height</a>&gt;</p></li><li><p>However, if "<a href="#max-height" class="property">max-height</a>" is specified
as "none", reset:</p><p>block-progression-dimension.maximum=auto</p></li></ul></li><li><p>If any of "<a href="#width" class="property">width</a>", "<a href="#min-width" class="property">min-width</a>", or "<a href="#min-width" class="property">min-width</a>" is specified:</p><ul><li><p>If "<a href="#width" class="property">width</a>" is specified then first set:</p><p>inline-progression-dimension.minimum=&lt;<a href="#width" class="property">width</a>&gt;</p><p>inline-progression-dimension.optimum=&lt;<a href="#width" class="property">width</a>&gt;</p><p>inline-progression-dimension.maximum=&lt;<a href="#width" class="property">width</a>&gt;</p></li><li><p>If "<a href="#width" class="property">width</a>" is not specified, then first set:</p><p>inline-progression-dimension.minimum=auto</p><p>inline-progression-dimension.optimum=auto</p><p>inline-progression-dimension.maximum=auto</p></li><li><p>Then, if "<a href="#min-width" class="property">min-width</a>" is specified, reset:</p><p>inline-progression-dimension.minimum=&lt;<a href="#min-width" class="property">min-width</a>&gt;</p></li><li><p>Then, if "<a href="#max-width" class="property">max-width</a>" is specified, reset:</p><p>inline-progression-dimension.maximum=&lt;<a href="#max-width" class="property">max-width</a>&gt;</p></li><li><p>However, if "<a href="#max-width" class="property">max-width</a>" is specified
as "none", reset:</p><p>inline-progression-dimension.maximum=auto</p></li></ul></li></ul><p>If the "<a href="#writing-mode" class="property">writing-mode</a>" specifies a block-progression-direction of
"left-to-right" or "right-to-left" the conversion is as follows:</p><ul><li><p>If any of "<a href="#height" class="property">height</a>", "<a href="#min-height" class="property">min-height</a>", or "<a href="#max-height" class="property">max-height</a>" is specified:</p><ul><li><p>If "<a href="#height" class="property">height</a>" is specified then first set:</p><p>inline-progression-dimension.minimum=&lt;<a href="#height" class="property">height</a>&gt;</p><p>inline-progression-dimension.optimum=&lt;<a href="#height" class="property">height</a>&gt;</p><p>inline-progression-dimension.maximum=&lt;<a href="#height" class="property">height</a>&gt;</p></li><li><p>If "<a href="#height" class="property">height</a>" is not specified, then first set:</p><p>inline-progression-dimension.minimum=auto</p><p>inline-progression-dimension.optimum=auto</p><p>inline-progression-dimension.maximum=auto</p></li><li><p>Then, if "<a href="#min-height" class="property">min-height</a>" is specified, reset:</p><p>inline-progression-dimension.minimum=&lt;<a href="#min-height" class="property">min-height</a>&gt;</p></li><li><p>Then, if "<a href="#max-height" class="property">max-height</a>" is specified, reset:</p><p>inline-progression-dimension.maximum=&lt;<a href="#max-height" class="property">max-height</a>&gt;</p></li><li><p>However, if "<a href="#max-height" class="property">max-height</a>" is specified
as "none", reset:</p><p>inline-progression-dimension.maximum=auto</p></li></ul></li><li><p>If any of "<a href="#width" class="property">width</a>", "<a href="#min-width" class="property">min-width</a>", or "<a href="#min-width" class="property">min-width</a>" is specified:</p><ul><li><p>If "<a href="#width" class="property">width</a>" is specified then first set:</p><p>block-progression-dimension.minimum=&lt;<a href="#width" class="property">width</a>&gt;</p><p>block-progression-dimension.optimum=&lt;<a href="#width" class="property">width</a>&gt;</p><p>block-progression-dimension.maximum=&lt;<a href="#width" class="property">width</a>&gt;</p></li><li><p>If "<a href="#width" class="property">width</a>" is not specified, then first set:</p><p>block-progression-dimension.minimum=auto</p><p>block-progression-dimension.optimum=auto</p><p>block-progression-dimension.maximum=auto</p></li><li><p>Then, if "<a href="#min-width" class="property">min-width</a>" is specified, reset:</p><p>block-progression-dimension.minimum=&lt;<a href="#min-width" class="property">min-width</a>&gt;</p></li><li><p>Then, if "<a href="#max-width" class="property">max-width</a>" is specified, reset:</p><p>block-progression-dimension.maximum=&lt;<a href="#max-width" class="property">max-width</a>&gt;</p></li><li><p>However, if "<a href="#max-width" class="property">max-width</a>" is specified
as "none", reset:</p><p>block-progression-dimension.maximum=auto</p></li></ul></li></ul></div><div class="div3">
<h4><a name="overcons_geom" id="overcons_geom"/>5.3.4 Overconstrained Geometry</h4><p>The sum of the <a href="#start-indent" class="property">start-indent</a>, <a href="#end-indent" class="property">end-indent</a>, and <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the content-rectangle of an area should be equal to the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the content-rectangle of the closest
ancestor reference-area. In the case where a specification would
lead to them being different the <a href="#end-indent" class="property">end-indent</a> (and thus the corresponding
<a href="#margin" class="property">margin</a>) is adjusted such that the equality is true.</p></div></div><div class="div2">
<h3><a name="d2e6534" id="d2e6534"/>5.4 Simple Property to Trait Mapping</h3><p>The majority of the properties map into traits of the same name.
Most of these also simply copy the value from the property.
These are classified as "Rendering", "Formatting", "Specification",
"Font selection", "Reference", and "Action" in the property table in
<a href="#prtab2"><b>B.3 Property Table: Part II</b></a>.
For example, the property <code>font-style="italic"</code> is
refined into a <span class="trait">font-style</span> trait with a value of "italic".
</p><p>Some traits have a value that is different
from the value of the property. These are classified as "Value change"
in the property table.
For example, the property <code>background-position-horizontal="left"</code>
is refined into a <span class="trait">background-position-horizontal</span> trait
with a value of "0pt".
The value mapping for these traits is given below.</p><div class="div3">
<h4><a name="d2e6555" id="d2e6555"/>5.4.1 Background-position-horizontal and background-position-vertical Properties</h4><p>A value of "top", "<a href="#bottom" class="property">bottom</a>", "<a href="#left" class="property">left</a>", "<a href="#right" class="property">right</a>", or "center" is
converted to a length as specified in the property definition.</p></div><div class="div3">
<h4><a name="d2e6569" id="d2e6569"/>5.4.2 Column-number Property</h4><p>If a value has not been specified on a formatting object to which
this property applies the initial value is computed as specified
in the property definition.</p></div><div class="div3">
<h4><a name="d2e6574" id="d2e6574"/>5.4.3 Text-align Property</h4><p>A value of "<a href="#left" class="property">left</a>", or "<a href="#right" class="property">right</a>" is converted to the <a href="#writing-mode" class="property">writing-mode</a>
relative value as specified in the property definition.</p></div><div class="div3">
<h4><a name="d2e6588" id="d2e6588"/>5.4.4 Text-align-last Property</h4><p>A value of "<a href="#left" class="property">left</a>", or "<a href="#right" class="property">right</a>" is converted to the <a href="#writing-mode" class="property">writing-mode</a>
relative value as specified in the property definition.</p></div><div class="div3">
<h4><a name="d2e6602" id="d2e6602"/>5.4.5 z-index Property</h4><p>The value is converted to one that is absolute; i.e., the refined value
is the specified value plus the refined value of <a href="#z-index" class="property">z-index</a> of its parent
formatting object, if any.</p></div><div class="div3">
<h4><a name="d2e6610" id="d2e6610"/>5.4.6 Language Property</h4><p>A value being a 2-letter code in conformance with
<a href="#ISO639">[ISO639]</a> is converted to the corresponding
3-letter <a href="#ISO639-2">[ISO639-2]</a> terminology code,
a 3-letter code in conformance with <a href="#ISO639-2">[ISO639-2]</a>
bibliographic code is converted to the corresponding 3-letter
terminology code, a value of 'none' or 'mul' is converted to 'und'.</p></div></div><div class="div2">
<h3><a name="d2e6621" id="d2e6621"/>5.5 Complex Property to Trait Mapping</h3><p>A small number of properties influence traits in a more
complex manner. Details are given below.</p><div class="div3">
<h4><a name="d2e6626" id="d2e6626"/>5.5.1 Word spacing and Letter spacing Properties</h4><p>These properties may set values for the <span class="trait">space-start</span>
and <span class="trait">space-end</span> traits, as described in the property
definitions.</p></div><div class="div3">
<h4><a name="refine-reference-orientation" id="refine-reference-orientation"/>5.5.2 Reference-orientation Property</h4><p>The <span class="trait">reference-orientation</span> trait is copied from
the <a href="#reference-orientation" class="property">reference-orientation</a> property during refinement. During
composition an absolute orientation is determined
(see <a href="#area-common"><b>4.2.2 Common Traits</b></a>).</p></div><div class="div3">
<h4><a name="refine-writing-mode" id="refine-writing-mode"/>5.5.3 Writing-mode and Direction Properties</h4><p>The <span class="trait">writing-mode</span>,
<span class="trait">direction</span>, and
<span class="trait">unicode-bidi</span> traits
are copied from
the properties of the same name during refinement.
During composition these are used in the determination of
absolute orientations for the
<span class="trait">block-progression-direction</span>,
<span class="trait">inline-progression-direction</span>, and
<span class="trait">shift-direction</span> traits
in accordance with <a href="#area-common"><b>4.2.2 Common Traits</b></a>.</p></div><div class="div3">
<h4><a name="refine-absolute-pos" id="refine-absolute-pos"/>5.5.4 Absolute-position Property</h4><p>If <a href="#absolute-position" class="property">absolute-position</a> has the value
"absolute" or "fixed", the values of the
<span class="trait">left-position</span>, <span class="trait">top-position</span>, etc. traits
are copied directly from the
values of the "<a href="#left" class="property">left</a>", "<a href="#top" class="property">top</a>", etc. properties. Otherwise these traits'
values are <a href="#left" class="property">left</a> undefined during refinement and determined during
composition.</p></div><div class="div3">
<h4><a name="refine-relative-pos" id="refine-relative-pos"/>5.5.5 Relative-position Property</h4><p>If <a href="#relative-position" class="property">relative-position</a> has the value
"relative" then the values of the
<span class="trait">left-offset</span> and
<span class="trait">top-offset</span> traits are copied directly
from the "<a href="#left" class="property">left</a>" and "<a href="#top" class="property">top</a>"
properties. If the "<a href="#right" class="property">right</a>" property is specified but "<a href="#left" class="property">left</a>" is not,
then <span class="trait">left-offset</span> is set to the negative of the
value of "<a href="#right" class="property">right</a>". If neither
"<a href="#left" class="property">left</a>" nor "<a href="#right" class="property">right</a>" is specified the <span class="trait">left-offset</span> is 0.
If the "<a href="#bottom" class="property">bottom</a>"
property is specified but "<a href="#top" class="property">top</a>" is not, then
<span class="trait">top-offset</span> is set to the
negative of the value of "<a href="#bottom" class="property">bottom</a>". If neither "<a href="#top" class="property">top</a>" nor "<a href="#bottom" class="property">bottom</a>" is
specified the <span class="trait">top-offset</span> is 0.</p></div><div class="div3">
<h4><a name="refine-text-decoration" id="refine-text-decoration"/>5.5.6 Text-decoration Property</h4><p>The "<a href="#text-decoration" class="property">text-decoration</a>" property value provides values for
the <span class="trait">blink</span> trait and a set of
score and score-color traits. The <b>specified color</b> has the
value of the <span class="trait">color</span> trait of the formatting object
for which the "<a href="#text-decoration" class="property">text-decoration</a>" property is being refined.</p><p>A property value containing the token "underline" sets a value of
"true" to the <span class="trait">underline-score</span> trait, and a value of
<b>specified color</b> to the <span class="trait">underline-score-color</span>
trait.</p><p>A property value containing the token "overline" sets a value of
"true" to the <span class="trait">overline-score</span> trait, and a value of
<b>specified color</b> to the <span class="trait">overline-score-color</span>
trait.</p><p>A property value containing the token "line-through" sets a value of
"true" to the <span class="trait">through-score</span> trait, and a value of
<b>specified color</b> to the <span class="trait">through-score-color</span>
trait.</p><p>A property value containing the token "blink" sets a value of
"true" to the <span class="trait">blink</span> trait.</p><p>A property value containing the token "no-underline" sets a value of
"false" to the <span class="trait">underline-score</span> trait, and a value of
<b>specified color</b> to the <span class="trait">underline-score-color</span>
trait.</p><p>A property value containing the token "no-overline" sets a value of
"false" to the <span class="trait">overline-score</span> trait, and a value of
<b>specified color</b> to the <span class="trait">overline-score-color</span>
trait.</p><p>A property value containing the token "no-line-through" sets a value of
"false" to the <span class="trait">through-score</span> trait, and a value of
<b>specified color</b> to the <span class="trait">through-score-color</span>
trait.</p><p>A property value containing the token "no-blink" sets a value of
"false" to the <span class="trait">blink</span> trait.</p></div><div class="div3">
<h4><a name="fontprops" id="fontprops"/>5.5.7 Font Properties</h4><p>
The <a href="#font" class="property">font</a> traits on an area are indirectly derived from the combination
of the <a href="#font" class="property">font</a> properties, which are used to select a <a href="#font" class="property">font</a>, and the
<a href="#font" class="property">font</a> tables from that font.
</p><p>The abstract model that XSL assumes for a <a href="#font" class="property">font</a> is described in <a href="#font-model"><b>7.9.1 Fonts and Font Data</b></a>.
</p><p>
There is no XSL mechanism to specify a particular <a href="#font" class="property">font</a>; instead,
a <b>selected <a href="#font" class="property">font</a></b> is chosen from the fonts available to the
User Agent based on a set of selection criteria. The <b>selection
criteria</b> are the following <a href="#font" class="property">font</a> properties:
"<a href="#font-family" class="property">font-family</a>",
"<a href="#font-style" class="property">font-style</a>",
"<a href="#font-variant" class="property">font-variant</a>",
"<a href="#font-weight" class="property">font-weight</a>",
"<a href="#font-stretch" class="property">font-stretch</a>", and
"<a href="#font-size" class="property">font-size</a>",
plus, for some formatting
objects, one or more characters.
The details of
how the selection criteria are used is specified in the
"<a href="#font-selection-strategy" class="property">font-selection-strategy</a>" property (see <a href="#font-selection-strategy"><b>7.9.3 font-selection-strategy</b></a>).
</p><p>
The <span class="trait">nominal-font</span> trait is set to the selected font. In the
case where there is no selected <a href="#font" class="property">font</a> and the 'missing <a href="#character" class="property">character</a>' glyph
is displayed, the <span class="trait">nominal-font</span> trait is set to the <a href="#font" class="property">font</a> containing
that glyph, otherwise
(i.e., some other mechanism was used to indicate that a <a href="#character" class="property">character</a>
is not being displayed) the <span class="trait">nominal-font</span> is a
system font.
</p><p>
The <span class="trait">dominant-baseline-identifier</span> and
<span class="trait">actual-baseline-table</span> traits are derived from the
value of the "<a href="#dominant-baseline" class="property">dominant-baseline</a>" property. The value of this property
is a compound value with three components: a baseline-identifier for
the <a href="#dominant-baseline" class="property">dominant-baseline</a>, a baseline-table and a baseline-table
font-size. The <span class="trait">dominant-baseline-identifier</span> is set from
the first component. The baseline-table <a href="#font-size" class="property">font-size</a> is used to scale the
the positions of the baselines from the baseline table and, then, the
<a href="#position" class="property">position</a> of the <a href="#dominant-baseline" class="property">dominant-baseline</a> is subtracted from the positions
of the other baselines to yield a table of offsets from the dominant
baseline. This table is the value of the
<span class="trait">actual-baseline-table</span> trait.
</p></div></div><div class="div2">
<h3><a name="d2e6980" id="d2e6980"/>5.6 Non-property Based Trait Generation</h3><p>The <span class="trait">is-reference-area</span> trait is set to "true" for
specific formatting objects.
The description of these formatting objects specify explicitly that
this is the case.
For all other formatting objects it is set to "false".
</p></div><div class="div2">
<h3><a name="d2e6989" id="d2e6989"/>5.7 Property Based Transformations</h3><div class="div3">
<h4><a name="d2e6992" id="d2e6992"/>5.7.1 Text-transform Property</h4><p>The case changes specified by this property are carried out during
refinement by changing the value of the "<a href="#character" class="property">character</a>" property
appropriately.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of the "<a href="#text-transform" class="property">text-transform</a>" property is deprecated in XSL
due to its severe internationalization issues.</p></div></div></div><div class="div2">
<h3><a name="d2e7006" id="d2e7006"/>5.8 Unicode BIDI Processing</h3><p>The characters in certain scripts are written horizontally from <a href="#right" class="property">right</a>
to left. In some documents, in particular those written with the
Arabic or Hebrew <a href="#script" class="property">script</a>, and in some mixed-language contexts, text in
a single (visually displayed) block may appear with mixed
directionality. This phenomenon is called bidirectionality, or "BIDI"
for short.
</p><p>The Unicode BIDI algorithm <a href="#UNICODE-TR9">[UNICODE UAX #9]</a>
defines a complex algorithm for
determining the proper directionality of text. The algorithm is based
on both an implicit part based on <a href="#character" class="property">character</a> properties, as well as
explicit controls for embeddings and overrides.
</p><p>The final step of refinement uses this algorithm and the Unicode
bidirectional <a href="#character" class="property">character</a> type of each <a href="#character" class="property">character</a> to convert the implicit
directionality of the text into explicit markup in terms of formatting
objects. For example, a sub-sequence of Arabic characters in an
otherwise English paragraph would cause the creation of an inline
formatting object with the Arabic characters as its content, with a
"<a href="#direction" class="property">direction</a>" property of "rtl" and a "<a href="#unicode-bidi" class="property">unicode-bidi</a>" property of
"bidi-override". The formatting object makes explicit the previously
implicit <a href="#right" class="property">right</a> to <a href="#left" class="property">left</a> positioning of the Arabic characters.
</p><p>As defined in <a href="#UNICODE-TR9">[UNICODE UAX #9]</a>,
the Unicode BIDI algorithm
takes a stream of text as input, and proceeds in three main phases:
</p><ol class="enumar"><li><p>Separation of the input text into paragraphs. The rest of the algorithm
affects only the text between paragraph separators.
</p></li><li><p>Resolution of the embedding levels of the text. In this phase, the
bidirectional <a href="#character" class="property">character</a> types, plus the Unicode directional formatting
codes, are used to produce <b>resolved embedding levels</b>. The
normative bidirectional <a href="#character" class="property">character</a> type for each <a href="#character" class="property">character</a> is specified
in the Unicode Character Database <a href="#UNICODE-CD">[UNICODE Character Database]</a>.
</p></li><li><p>Reordering the text for display on a line-by-line basis using the
resolved embedding levels, once the text has been broken into lines.
</p></li></ol><p>The algorithm, as described above, requires some adaptions to fit
into the XSL processing model. First, the final, text reordering step
is not done during refinement. Instead, the XSL equivalent of
re-ordering is done during area tree generation. The
<span class="trait">inline-progression-direction</span> of each glyph is used to
control the stacking of glyphs as described in <a href="#area-stackcon"><b>4.2.5 Stacking Constraints</b></a>. The
<span class="trait">inline-progression-direction</span> is determined at the block
level by the "<a href="#writing-mode" class="property">writing-mode</a>" property and within the inline formatting
objects within a block by the "<a href="#direction" class="property">direction</a>" and "<a href="#unicode-bidi" class="property">unicode-bidi</a>"
properties that were either specified on inline formatting objects
generated by tree construction or are on inline formatting objects
introduced by this step of refinement (details below).
</p><p>Second, the algorithm is applied to a sequence of characters coming
from the content of one or more formatting objects. The sequence of
characters is created by processing a fragment of the formatting
object tree. A <b>fragment</b> is any contiguous sequence of
children of some formatting object in the tree. The sequence is
created by doing a pre-order traversal of the fragment down to the
<a href="#fo_character" class="el">fo:character</a> level. During the pre-order traversal, every <a href="#fo_character" class="el">fo:character</a>
formatting object adds a <a href="#character" class="property">character</a> to the sequence. Furthermore,
whenever the pre-order scan encounters a node with a "<a href="#unicode-bidi" class="property">unicode-bidi</a>"
property with a value of "embed" or "bidi-override", add a Unicode RLO/LRO
or RLE/LRE <a href="#character" class="property">character</a> to the sequence as appropriate to the value of
the "<a href="#direction" class="property">direction</a>" and "<a href="#unicode-bidi" class="property">unicode-bidi</a>" properties. On returning to that
node after traversing its content, add a Unicode PDF character. In
this way, the formatting object tree fragment is flattened into a
sequence of characters. This sequence of characters is called the
<b>flattened sequence of characters</b> below.
</p><p>Third, in XSL the algorithm is applied to <b>delimited text
ranges</b> instead of just paragraphs. A delimited text range is a
maximal flattened sequence of characters that does not contain any
delimiters. Any formatting object that generates block-areas is a
delimiter. It acts as a delimiter for its content. It also acts as a
delimiter for its parent's content. That is, if the parent has
<a href="#character" class="property">character</a> content, then its children formatting objects that generate
block-areas act to break that <a href="#character" class="property">character</a> content into <b>anonymous
blocks</b> each of which is a delimited text range. In a similar
manner, the <a href="#fo_multi-case" class="el">fo:multi-case</a> formatting object acts as delimiter for its
content and the content of its parent. Finally, text with an
orientation that is not perpendicular to the <a href="#dominant-baseline" class="property">dominant-baseline</a> acts as
a delimiter to text with an orientation perpendicular to the
dominant-baseline. We say that <b>text has an orientation
perpendicular to the <a href="#dominant-baseline" class="property">dominant-baseline</a></b> if the glyphs that correspond
to the characters in the text are all oriented perpendicular to the
dominant-baseline.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In most cases, a delimited text range is the maximal sequence of
characters that would be formatted into a sequence of one or more
line-areas. For the <a href="#fo_multi-case" class="el">fo:multi-case</a> and the text with an orientation
perpendicular to the <a href="#dominant-baseline" class="property">dominant-baseline</a>, the delimited range may be a
sub-sequence of a line or sequence of lines. For example, in Japanese
formatted in a vertical <a href="#writing-mode" class="property">writing-mode</a>, rotated Latin and Arabic text
would be delimited by the vertical Japanese characters that
immediately surround the Latin and Arabic text. Any formatting objects
that generated inline-areas would have no affect on the determination
of the delimited text range.
</p></div><p>For each delimited text range, the <span class="trait">inline-progression-direction</span>
of the nearest ancestor (including self) formatting object that generates
a block-area determines the <b>paragraph embedding level</b> used
in the Unicode BIDI algorithm. This is the default embedding level
for the delimited text range.
</p><p><b>Embedding levels</b> are numbers that indicate how deeply the
text is nested, and the default <a href="#direction" class="property">direction</a> of text on that level. The
minimum embedding level of text is zero, and the maximum embedding
level is level 61. Having more than 61 embedding levels is an
error. An XSL processor may signal the error. If it does not signal
the error, it must recover by allowing a higher maximum number of
embedding levels.
</p><p>The second step of the Unicode BIDI algorithm labels each <a href="#character" class="property">character</a>
in the delimited text range with a <b>resolved embedding level</b>.
The resolved embedding level of each <a href="#character" class="property">character</a> will be greater than
or equal to the paragraph embedding level. Right-to-left text will
always end up with an odd level, and left-to-right and numeric text
will always end up with an even level. In addition, numeric text
will always end up with a higher level than the paragraph level.
</p><p>Once the resolved embedding levels are determined for the
delimited text range, new <a href="#fo_bidi-override" class="el">fo:bidi-override</a> formatting objects with
appropriate values for the "<a href="#direction" class="property">direction</a>" and "<a href="#unicode-bidi" class="property">unicode-bidi</a>" properties
are inserted into the formatting object tree fragment that was
flattened into the delimited text range such that the following
constraints are satisfied:
</p><ol class="enumar"><li><p>For any <a href="#character" class="property">character</a> in the delimited text range, the
<span class="trait">inline-progression-direction</span> of the
<a href="#character" class="property">character</a> must match its resolved embedding level.
</p></li><li><p>For each resolved embedding level <var>L</var> from the paragraph
embedding level to the maximum resolved embedding level, and for each
maximal contiguous sequence of characters <var>S</var> for which the
resolved embedding level of each <a href="#character" class="property">character</a> is greater than or equal to
<var>L</var>,
</p><ol class="enumla"><li><p>There is an inline formatting object <var>F</var> which has as its
content the formatting object tree fragment that flattens to
<var>S</var> and has a "<a href="#direction" class="property">direction</a>" property consistent with the
resolved embedding level <var>L</var>.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p><var>F</var> need not be an inserted formatting object if the
constraint is met by an existing formatting object or by specifying
values for the "<a href="#direction" class="property">direction</a>" and "<a href="#unicode-bidi" class="property">unicode-bidi</a>" properties on an
existing formatting object.
</p></div></li><li><p>All formatting objects that contain any part of the sequence
<var>S</var> are properly nested in <var>F</var> and retain the
nesting relationships they had in the formatting object tree prior to
the insertion of the new formatting objects.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Satisfying this constraint may require
splitting one or more existing
formatting objects in the formatting object tree each into a pair of
formatting objects each of which has the same set of computed property
values as the original, unsplit formatting object. One of the pair
would be ended before the start of <var>F</var> or start after the end
of <var>F</var> and the other would start after the start of
<var>F</var> or would end before the end of <var>F</var>,
respectively. The created pairs must continue to nest properly to
satisfy this constraint. For example, assume Left-to-right text is
represented by the <a href="#character" class="property">character</a> "L" and Right-to-left text is represented by "R".
In the sub-tree</p>
<div class="exampleInner"><pre>
&lt;fo:block&gt;
LL
&lt;fo:inline id="A" color="red"&gt;LLLRRR&lt;/fo:inline&gt;
RR
&lt;/fo:block&gt;
</pre></div>
<p>assuming a paragraph embedding level of "0", the resolved embedding
levels would require the following (inserted and replicated) structure:</p>
<div class="exampleInner"><pre>
&lt;fo:block&gt;
LL
&lt;fo:inline id="A" color="red"&gt;LLL&lt;/fo:inline&gt;
&lt;fo:bidi-override direction="rtl"&gt;
&lt;fo:inline color="red"&gt;RRR&lt;/fo:inline&gt;
RR
&lt;/fo:bidi-override&gt;
&lt;/fo:block&gt;
</pre></div>
<p>Note that the <a href="#fo_inline" class="el">fo:inline</a> with <a href="#id" class="property">id</a> equal to "A" has been split into two
<a href="#fo_inline" class="el">fo:inline</a>s, with only the first one retaining the original <a href="#id" class="property">id</a> of "A". Since <a href="#id" class="property">id</a>'s
must be unique within the formatting object tree, the computed value of
any <a href="#id" class="property">id</a> must not be replicated in the second member of the pair.
</p></div></li></ol></li><li><p>No fewer <a href="#fo_bidi-override" class="el">fo:bidi-override</a> formatting objects can be inserted and still
satisfy the above constraints. That is, add to the refined formatting
object tree only as many <a href="#fo_bidi-override" class="el">fo:bidi-override</a> formatting objects, beyond the
formatting objects created during tree construction, as are needed to
represent the embedding levels present in the document.
</p></li></ol></div><div class="div2">
<h3><a name="d2e7316" id="d2e7316"/>5.9 Expressions</h3><p>All property value specifications in attributes within an XSL stylesheet can be expressions. These expressions represent the value of the property specified. The expression is first evaluated and then the resultant value is used to determine the value of the property. </p><div class="note"><p class="prefix"><b>Note:</b></p><p>The expression language supports operations on a limited set of
datatypes. These do not include &lt;angle&gt;, &lt;time&gt;, and &lt;frequency&gt;.
Values of these datatypes must be strings in the expression language.
The definition of these datatypes specify the allowed form
of these strings.</p></div><div class="div3">
<h4><a name="d2e7324" id="d2e7324"/>5.9.1 Property Context</h4><p>Properties are evaluated against a property-specific context. This context provides:</p><ul><li><p>A list of allowed resultant types for a property value.</p></li><li><p>Conversions from resultant expression value types to an allowed type for the property.</p></li><li><p>The current <a href="#font-size" class="property">font-size</a> value.</p></li><li><p>Conversions from relative numerics by type to absolute numerics within additive expressions.</p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>It is not necessary that a conversion be provided for all types. If no conversion is specified, it is an error.</p></div><p>When a type instance (e.g., a string, a keyword, a
numeric, etc.) is recognized in the expression it is evaluated against
the property context. This provides the ability for specific values to be
converted with the property context's specific algorithms or conversions
for use in the evaluation of the expression as a whole. </p><p>For example, the "auto" enumeration token for certain
properties is a calculated value. Such a token would be converted
into a specific type instance via an algorithm specified in the property definition.
In such a case the resulting value might be an absolute length specifying the <a href="#width" class="property">width</a>
of some aspect of the formatting object.</p><p>In addition, this allows certain types like relative numerics to be
resolved into absolute numerics prior to mathematical
operations.</p><p>All property contexts allow conversions as specified in
<a href="#expr.value.conv"><b>5.9.12 Expression Value Conversions</b></a>.</p></div><div class="div3">
<h4><a name="d2e7361" id="d2e7361"/>5.9.2 Evaluation Order</h4><p>When a set of properties is being evaluated for a
specific formatting object in the formatting object tree
there is a specific order in which properties must be evaluated.
Essentially, the "<a href="#font-size" class="property">font-size</a>" property must be evaluated first before
all other properties. Once the "<a href="#font-size" class="property">font-size</a>" property has been evaluated,
all other properties may be evaluated in any order.</p><p>When the "<a href="#font-size" class="property">font-size</a>" property is evaluated, the current
<a href="#font-size" class="property">font-size</a> for use in evaluation is the <a href="#font-size" class="property">font-size</a> of the parent element.
Once the "<a href="#font-size" class="property">font-size</a>" property has been evaluated,
that value is used as the
current <a href="#font-size" class="property">font-size</a> for all property contexts of all properties value expressions
being further evaluated.</p></div><div class="div3">
<h4><a name="d2e7389" id="d2e7389"/>5.9.3 Basics</h4>
<h5><a name="d2e7392" id="d2e7392"/></h5><table class="scrap" summary="Scrap"><tbody><tr valign="baseline"><td><a name="NT-Expr" id="NT-Expr"/>[1]   </td><td><code>Expr</code></td><td>   ::=   </td><td><code><a href="#NT-AdditiveExpr">AdditiveExpr</a></code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-PrimaryExpr" id="NT-PrimaryExpr"/>[2]   </td><td><code>PrimaryExpr</code></td><td>   ::=   </td><td><code>'(' <a href="#NT-Expr">Expr</a> ')'</code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-Numeric">Numeric</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-Literal">Literal</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-Color">Color</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-Keyword">Keyword</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-EnumerationToken">EnumerationToken</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-FunctionCall">FunctionCall</a></code></td></tr></tbody></table></div><div class="div3">
<h4><a name="d2e7432" id="d2e7432"/>5.9.4 Function Calls</h4>
<h5><a name="d2e7435" id="d2e7435"/></h5><table class="scrap" summary="Scrap"><tbody><tr valign="baseline"><td><a name="NT-FunctionCall" id="NT-FunctionCall"/>[3]   </td><td><code>FunctionCall</code></td><td>   ::=   </td><td><code><a href="#NT-FunctionName">FunctionName</a> '(' ( <a href="#NT-Argument">Argument</a> ( ',' <a href="#NT-Argument">Argument</a>)*)? ')'</code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-Argument" id="NT-Argument"/>[4]   </td><td><code>Argument</code></td><td>   ::=   </td><td><code><a href="#NT-Expr">Expr</a></code></td></tr></tbody></table></div><div class="div3">
<h4><a name="numbers" id="numbers"/>5.9.5 Numerics</h4><p>A numeric represents all the types of numbers in an XSL expression.
Some of these numbers are absolute values. Others are
relative to some other set of values. All of these values use a floating-point number to represent the number-part of their definition. </p><p>A floating-point number can have any
double-precision 64-bit <a href="#format" class="property">format</a> IEEE 754 value <a href="#IEEE754">[IEEE 754]</a>.
These include a special "Not-a-Number" (NaN) value,
positive and negative infinity, and positive and negative zero. See
<a href="http://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html#9208">Section 4.2.3</a> of <a href="#JLS">[JLS]</a> for a summary of the key
rules of the IEEE 754 standard.</p>
<h5><a name="d2e7476" id="d2e7476"/></h5><table class="scrap" summary="Scrap"><tbody><tr valign="baseline"><td><a name="NT-Numeric" id="NT-Numeric"/>[5]   </td><td><code>Numeric</code></td><td>   ::=   </td><td><code><a href="#NT-AbsoluteNumeric">AbsoluteNumeric</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-RelativeNumeric">RelativeNumeric</a></code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-AbsoluteNumeric" id="NT-AbsoluteNumeric"/>[6]   </td><td><code>AbsoluteNumeric</code></td><td>   ::=   </td><td><code><a href="#NT-AbsoluteLength">AbsoluteLength</a></code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-AbsoluteLength" id="NT-AbsoluteLength"/>[7]   </td><td><code>AbsoluteLength</code></td><td>   ::=   </td><td><code><a href="#NT-Number">Number</a> <a href="#NT-AbsoluteUnitName">AbsoluteUnitName</a>?</code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-RelativeNumeric" id="NT-RelativeNumeric"/>[8]   </td><td><code>RelativeNumeric</code></td><td>   ::=   </td><td><code><a href="#NT-Percent">Percent</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-RelativeLength">RelativeLength</a></code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-Percent" id="NT-Percent"/>[9]   </td><td><code>Percent</code></td><td>   ::=   </td><td><code><a href="#NT-Number">Number</a> '%'</code></td></tr></tbody><tbody><tr valign="baseline"><td><a name="NT-RelativeLength" id="NT-RelativeLength"/>[10]   </td><td><code>RelativeLength</code></td><td>   ::=   </td><td><code><a href="#NT-Number">Number</a> <a href="#NT-AbsoluteUnitName">RelativeUnitName</a></code></td></tr></tbody></table><p>The following operators may be used with numerics:</p><dl><dt class="label"><code>+</code></dt><dd><p>Performs addition.</p></dd><dt class="label"><code>-</code></dt><dd><p>Performs subtraction or negation.</p></dd><dt class="label"><code>*</code></dt><dd><p>Performs multiplication.</p></dd><dt class="label"><code>div</code></dt><dd><p>Performs floating-point division according to IEEE 754.</p></dd><dt class="label"><code>mod</code></dt><dd><p>Returns the remainder from a truncating division.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>Since XML allows <code>-</code> in names, the <code>-</code>
operator (when not used as a UnaryExpr negation) typically needs to be
preceded by white space. For example the expression <code>10pt - 2pt</code>
means subtract 2 points from 10 points. The expression <code>10pt-2pt</code>
would mean a length value of 10 with a unit of "pt-2pt".</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The following are examples of the <code>mod</code> operator:</p><ul><li><p><code>5 mod 2</code> returns <code>1</code></p></li><li><p><code>5 mod -2</code> returns <code>1</code></p></li><li><p><code>-5 mod 2</code> returns <code>-1</code></p></li><li><p><code>-5 mod -2</code> returns <code>-1</code></p></li></ul></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The <code>mod</code> operator is the same as the <code>%</code> operator in Java and
ECMAScript and is not the same as the IEEE remainder operation, which
returns the remainder from a rounding division.</p></div>
<h5><a name="d2e7627" id="d2e7627"/>Numeric Expressions</h5><table class="scrap" summary="Scrap"><tbody><tr valign="baseline"><td><a name="NT-AdditiveExpr" id="NT-AdditiveExpr"/>[11]   </td><td><code>AdditiveExpr</code></td><td>   ::=   </td><td><code><a href="#NT-MultiplicativeExpr">MultiplicativeExpr</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-AdditiveExpr">AdditiveExpr</a> '+' <a href="#NT-MultiplicativeExpr">MultiplicativeExpr</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-AdditiveExpr">AdditiveExpr</a> '-' <a href="#NT-MultiplicativeExpr">MultiplicativeExpr</a></code></td></tr><tr valign="baseline"><td><a name="NT-MultiplicativeExpr" id="NT-MultiplicativeExpr"/>[12]   </td><td><code>MultiplicativeExpr</code></td><td>   ::=   </td><td><code><a href="#NT-UnaryExpr">UnaryExpr</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-MultiplicativeExpr">MultiplicativeExpr</a> <a href="#NT-MultiplyOperator">MultiplyOperator</a> <a href="#NT-UnaryExpr">UnaryExpr</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-MultiplicativeExpr">MultiplicativeExpr</a> 'div' <a href="#NT-UnaryExpr">UnaryExpr</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-MultiplicativeExpr">MultiplicativeExpr</a> 'mod' <a href="#NT-UnaryExpr">UnaryExpr</a></code></td></tr><tr valign="baseline"><td><a name="NT-UnaryExpr" id="NT-UnaryExpr"/>[13]   </td><td><code>UnaryExpr</code></td><td>   ::=   </td><td><code><a href="#NT-PrimaryExpr">PrimaryExpr</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| '-' <a href="#NT-UnaryExpr">UnaryExpr</a></code></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The effect of this grammar is that the order of <a href="#precedence" class="property">precedence</a> is (lowest <a href="#precedence" class="property">precedence</a> first):</p><ul><li><p>+, -</p></li><li><p>*, div, mod</p></li></ul><p>and the operators are all <a href="#left" class="property">left</a> associative. For example, 2*3 + 4 div 5 is equivalent to (2*3) + (4 div 5).</p></div><p>If a non-numeric value is used in an <a href="#NT-AdditiveExpr">AdditiveExpr</a> and there is no property context conversion from that type into an absolute numeric value, the expression is invalid and considered an error.</p></div><div class="div3">
<h4><a name="d2e7718" id="d2e7718"/>5.9.6 Absolute Numerics</h4><p>An absolute numeric is an absolute length which is a pair consisting of a <a href="#NT-Number">Number</a> and a <a href="#NT-AbsoluteUnitName">UnitName</a> raised to a power. When an absolute length is written without a unit, the unit power is assumed to be zero. Hence, all floating point numbers are a length with a power of zero.</p><p> Each unit name has associated with it an internal ratio to some common
internal unit of measure (e.g., a meter). When a value is
written in a
property expression, it is first converted to the internal unit of measure
and then mathematical operations are performed.</p><p>In
addition, only the mod,
addition, and subtraction operators require that the numerics on
either side of the operation be absolute numerics of the same unit power.
For other operations, the unit powers may be different and the result
should be mathematically consistent as with the handling of powers in algebra.</p><p>A property definition may constrain an absolute length to a
particular power.
For example, when specifying <a href="#font-size" class="property">font-size</a>, the value is expected to be of
power "one".
That is, it is expected to have a single powered unit specified (e.g., 10pt).</p><p>When the final value of a property is calculated, the resulting power of the
absolute numeric must be either zero or one. If any other power is specified,
the value is an error.</p></div><div class="div3">
<h4><a name="d2e7740" id="d2e7740"/>5.9.7 Relative Numerics</h4><p>Relative lengths are values that are calculated relative to some
other set of values. When written as part of an expression, they are
either converted via the property context into an absolute numeric or
passed verbatim as the property value.</p><p>It is an error if the property context has no available conversion
for the relative numeric and a conversion is required for expression
evaluation (e.g., within an add operation).</p><div class="div4">
<h5><a name="d2e7747" id="d2e7747"/>5.9.7.1 Percents</h5><p>Percentages are values that are counted in 1/100 units. That is, <code>10%</code>
as a percentage value is <code>0.10</code> as a floating point number.
When converting to an absolute numeric, the percentage is defined in the
property definition as being a percentage of some known
property value. If the percentage evaluates to
"auto" the complete expression evaluates to "auto".
</p><p> For example, a value of "110%" on a "<a href="#font-size" class="property">font-size</a>"
property
would be evaluated to mean 1.1 times the current <a href="#font" class="property">font</a> size.
Such a definition of the allowed conversion for percentages is specified on
the property definition. If no conversion is specified, the resulting value
is a percentage.</p></div><div class="div4">
<h5><a name="relative.lengths" id="relative.lengths"/>5.9.7.2 Relative Lengths</h5><p>A relative length is a unit-based value that is measured against the
current value of the <code>font-size</code> property. </p><p>The definition of "1em" is equal to the current
<a href="#font" class="property">font</a> size. For example, a value of "1.25em" is
1.25 times the current <a href="#font" class="property">font</a> size.</p><p>The definition of "x-height" is the distance between the baseline
and midline of an alphabet. From this comes the "ex" unit.</p><p>When an em measurement is used in an expression, it is converted according
to the <a href="#font-size" class="property">font-size</a> value of the current property's context.
The result of the expression is an absolute length.
See <a href="#font-size"><b>7.9.4 font-size</b></a>.</p></div></div><div class="div3">
<h4><a name="d2e7791" id="d2e7791"/>5.9.8 Strings</h4><p>Strings are represented either as <a href="#NT-Literal">literals</a> or
as an <a href="#NT-EnumerationToken">enumeration token</a>.
All properties contexts allow conversion from enumeration tokens to strings.
See <a href="#expr.value.conv"><b>5.9.12 Expression Value Conversions</b></a>.</p></div><div class="div3">
<h4><a name="d2e7805" id="d2e7805"/>5.9.9 Colors</h4><p>A color is a set of values used to identify a particular color from a color space.
Only RGB <a href="#sRGB">[sRGB]</a>
(Red, Green, Blue)
and ICC (International Color Consortium)
<a href="#ICC">[ICC]</a>
colors are included in this Recommendation.</p><p>RGB colors are directly represented in the expression language using a
hexadecimal notation. ICC colors can be specified through an rgb-icc
function.
Colors can also be specified through the system-color
function or through conversion from an
<a href="#NT-EnumerationToken">EnumerationToken</a>
via the property context.</p></div><div class="div3">
<h4><a name="d2e7819" id="d2e7819"/>5.9.10 Keywords</h4><p>Keywords are special tokens in the grammar that provide access to
calculated values or other property values.
The allowed keywords are defined in the following subsections.</p><div class="div4">
<h5><a name="d2e7824" id="d2e7824"/>5.9.10.1 inherit</h5><p>The property takes the same <em>computed</em> value as the property
for the formatting object's parent object.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>"inherit" is not allowed as an expression mixed with operations.
The same functionality is provided by the from-parent() function, which
can be mixed with operations.</p></div></div></div><div class="div3">
<h4><a name="d2e7835" id="d2e7835"/>5.9.11 Lexical Structure</h4><p>When processing an expression,
white space (<a href="#NT-ExprWhitespace">ExprWhitespace</a>) may be
allowed before or after any expression token even though it is not
explicitly defined as such in the grammar. In some cases, white space
is necessary to make tokens in the grammar lexically distinct.
Essentially, white space should be treated as if it does not exist
after tokenization of the expression has occurred.</p><p>The following special tokenization rules must be applied in the
order specified to disambiguate the grammar:</p><ul><li><p>If the <a href="#character" class="property">character</a> following an
<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a> (possibly after intervening
<a href="#NT-ExprWhitespace">ExprWhitespace</a>) is
"<code>(</code>",
then the token must be recognized as
<a href="#NT-FunctionName">FunctionName</a>.</p></li><li><p>A number terminates at the first occurrence of a non-digit <a href="#character" class="property">character</a> other
than "<code>.</code>". This allows the unit token for
length quantities to parse properly.</p></li><li><p>When an <a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a> immediately follows a
<a href="#NT-Number">Number</a>, it should be recognized as a
<a href="#NT-AbsoluteUnitName">UnitName</a> or it is an error.</p></li><li><p>The <a href="#NT-Keyword">Keyword</a> values take <a href="#precedence" class="property">precedence</a> over
<a href="#NT-EnumerationToken">EnumerationToken</a>.</p></li><li><p>If a <a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a> follows a
<a href="#NT-Numeric">numeric</a>,
it should be recognized as an <a href="#NT-OperatorName">OperatorName</a> or it is an error.</p></li></ul>
<h5><a name="d2e7909" id="d2e7909"/>Expression Lexical Structure</h5><table class="scrap" summary="Scrap"><tbody><tr valign="baseline"><td><a name="NT-ExprToken" id="NT-ExprToken"/>[14]   </td><td><code>ExprToken</code></td><td>   ::=   </td><td><code>'(' | ')' | '%'</code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-Operator">Operator</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-FunctionName">FunctionName</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-EnumerationToken">EnumerationToken</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-Number">Number</a></code></td></tr><tr valign="baseline"><td><a name="NT-Number" id="NT-Number"/>[15]   </td><td><code>Number</code></td><td>   ::=   </td><td><code> <a href="#NT-FloatingPointNumber">FloatingPointNumber</a></code></td></tr><tr valign="baseline"><td><a name="NT-FloatingPointNumber" id="NT-FloatingPointNumber"/>[16]   </td><td><code>FloatingPointNumber</code></td><td>   ::=   </td><td><code><a href="#NT-Digits">Digits</a> ('.' <a href="#NT-Digits">Digits</a>?)?</code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| '.' <a href="#NT-Digits">Digits</a></code></td></tr><tr valign="baseline"><td><a name="NT-Digits" id="NT-Digits"/>[17]   </td><td><code>Digits</code></td><td>   ::=   </td><td><code>[0-9]+</code></td></tr><tr valign="baseline"><td><a name="NT-Color" id="NT-Color"/>[18]   </td><td><code>Color</code></td><td>   ::=   </td><td><code>'#' <a href="#NT-AlphaOrDigits">AlphaOrDigits</a></code></td></tr><tr valign="baseline"><td><a name="NT-AlphaOrDigits" id="NT-AlphaOrDigits"/>[19]   </td><td><code>AlphaOrDigits</code></td><td>   ::=   </td><td><code>[a-fA-F0-9]+</code></td></tr><tr valign="baseline"><td><a name="NT-Literal" id="NT-Literal"/>[20]   </td><td><code>Literal</code></td><td>   ::=   </td><td><code>'"' [^"]* '"'</code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| "'" [^']* "'"</code></td></tr><tr valign="baseline"><td><a name="NT-Operator" id="NT-Operator"/>[21]   </td><td><code>Operator</code></td><td>   ::=   </td><td><code><a href="#NT-OperatorName">OperatorName</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| <a href="#NT-MultiplyOperator">MultiplyOperator</a></code></td></tr><tr valign="baseline"><td/><td/><td/><td><code>| '+' | '-'</code></td></tr><tr valign="baseline"><td><a name="NT-OperatorName" id="NT-OperatorName"/>[22]   </td><td><code>OperatorName</code></td><td>   ::=   </td><td><code>'mod' | 'div'</code></td></tr><tr valign="baseline"><td><a name="NT-MultiplyOperator" id="NT-MultiplyOperator"/>[23]   </td><td><code>MultiplyOperator</code></td><td>   ::=   </td><td><code>'*'</code></td></tr><tr valign="baseline"><td><a name="NT-Keyword" id="NT-Keyword"/>[24]   </td><td><code>Keyword</code></td><td>   ::=   </td><td><code>'inherit'</code></td></tr><tr valign="baseline"><td><a name="NT-FunctionName" id="NT-FunctionName"/>[25]   </td><td><code>FunctionName</code></td><td>   ::=   </td><td><code>
<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a></code></td></tr><tr valign="baseline"><td><a name="NT-EnumerationToken" id="NT-EnumerationToken"/>[26]   </td><td><code>EnumerationToken</code></td><td>   ::=   </td><td><code><a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a></code></td></tr><tr valign="baseline"><td><a name="NT-AbsoluteUnitName" id="NT-AbsoluteUnitName"/>[27]   </td><td><code>AbsoluteUnitName</code></td><td>   ::=   </td><td><code>'cm' | 'mm' | 'in' | 'pt' | 'pc' | 'px'</code></td></tr><tr valign="baseline"><td><a name="NT-RelativeUnitName" id="NT-RelativeUnitName"/>[28]   </td><td><code>RelativeUnitName</code></td><td>   ::=   </td><td><code>'em'|'ex'</code></td></tr><tr valign="baseline"><td><a name="NT-ExprWhitespace" id="NT-ExprWhitespace"/>[29]   </td><td><code>ExprWhitespace</code></td><td>   ::=   </td><td><code><a href="http://www.w3.org/TR/REC-xml#NT-S">S</a></code></td></tr></tbody></table></div><div class="div3">
<h4><a name="expr.value.conv" id="expr.value.conv"/>5.9.12 Expression Value Conversions</h4><p>Values that are the result of an expression evaluation may be converted
into property value types. In some instances this is a simple verification
of set membership (e.g., is the value a legal <a href="#country" class="property">country</a> code). In other cases,
the value is expected to be a simple type like an integer and must be converted.</p><p>It is not necessary that all types be allowed to be converted. If the
expression value cannot be converted to the necessary type for the property value,
it is an error.</p><p>The following table indicates what conversions are allowed.</p><table border="1"><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Type</th><th align="left" valign="top">Allowed Conversions</th><th align="left" valign="top">Constraints</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a></td><td align="left" valign="top">
<ul><li><p>Color, via the system-color() function.</p></li><li><p>Enumeration value, as defined in the property definition.</p></li><li><p>To a string literal</p></li></ul></td><td align="left" valign="top">The value may be checked against
a legal set of values depending on the property.</td></tr><tr align="left" valign="top"><td align="left" valign="top">
<a href="#NT-AbsoluteNumeric">AbsoluteNumeric</a></td><td align="left" valign="top">
<ul><li><p>Integer, via the round() function.</p></li><li><p>Color, as an RGB color value.</p></li></ul>
</td><td align="left" valign="top">
If converting to an RGB color value, it must be a legal color value from the color
space.</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#NT-RelativeLength">RelativeLength</a></td><td align="left" valign="top">
<ul><li><p>To an AbsoluteLength</p></li></ul>
</td><td align="left" valign="top">
</td></tr></tbody></table><p>The specific conversion to be applied is property specific and can be
found in the definition of each property.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Conversions of compound property values are not allowed; thus
for example,
space-before.optimum="inherited-property-value(<a href="#space-before" class="property">space-before</a>)" is invalid.
Permitted are, for example,
<a href="#space-before" class="property">space-before</a>="inherited-property-value(<a href="#space-before" class="property">space-before</a>)" and
space-before.optimum="inherited-property-value(space-before.optimum)"
since they do not require conversion.</p></div></div><div class="div3">
<h4><a name="d2e8119" id="d2e8119"/>5.9.13 Definitions of Units of Measure</h4><p>The units of measure in this Recommendation have the following definitions:</p><table border="1"><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Name</th><th align="left" valign="top">Definition</th></tr><tr align="left" valign="top"><td align="left" valign="top">cm</td><td align="left" valign="top">See <a href="#ISO31">[ISO31]</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">mm</td><td align="left" valign="top">See <a href="#ISO31">[ISO31]</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">in</td><td align="left" valign="top">2.54cm</td></tr><tr align="left" valign="top"><td align="left" valign="top">pt</td><td align="left" valign="top">1/72in</td></tr><tr align="left" valign="top"><td align="left" valign="top">pc</td><td align="left" valign="top">12pt</td></tr><tr align="left" valign="top"><td align="left" valign="top">px</td><td align="left" valign="top">See <a href="#pixels"><b>5.9.13.1 Pixels</b></a></td></tr><tr align="left" valign="top"><td align="left" valign="top">em</td><td align="left" valign="top">See <a href="#relative.lengths"><b>5.9.7.2 Relative Lengths</b></a></td></tr><tr align="left" valign="top"><td align="left" valign="top">ex</td><td align="left" valign="top">See <a href="#relative.lengths"><b>5.9.7.2 Relative Lengths</b></a></td></tr></tbody></table><div class="div4">
<h5><a name="pixels" id="pixels"/>5.9.13.1 Pixels</h5><p> XSL interprets a 'px' unit to be a request for the formatter to choose a
device-dependent measurement that approximates viewing one pixel on a
typical computer monitor. This interpretation is follows:
</p><ol class="enumar"><li><p>The preferred definition of one 'px' is:</p><ul><li><p>The actual distance covered by the largest integer number of
device dots (the <a href="#size" class="property">size</a> of a device dot is measured as the distance
between dot centers) that spans a distance less-than-or-equal-to
the distance specified by the arc-span rule in
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/syndata.html#x39">http://www.w3.org/TR/2008/REC-CSS2-20080411//syndata.html#x39</a>
or superceding errata.</p></li><li><p>A minimum of the <a href="#size" class="property">size</a> of 1 device dot should be used.</p></li><li><p>This calculation is done separately in each axis,
and may have a different value in each axis.</p></li></ul></li><li><p>However, implementors may instead simply pick a fixed conversion
factor, treating 'px' as an absolute unit of measurement (such as
1/92" or 1/72").</p></li></ol><div class="note"><p class="prefix"><b>Note:</b></p><p>Pixels should not be mixed with other absolute units in
expressions as they may cause undesirable effects.
Also, particular caution should be used with inherited property values
that may have been specified using pixels.</p><p>If the User Agent chooses a measurement for a 'px' that
does not match an integer number of device dots in each axis it may
produce undesirable effects, such as:</p><ul><li><p>moiré patterns in scaled raster graphics</p></li><li><p>unrenderable overlapping areas when the renderer rounds fonts
or graphics sizes upward to its actual dot-size</p></li><li><p>large spaces between areas when the renderer rounds fonts or
graphics sizes downward to its actual dot-size</p></li><li><p>unreadable results including unacceptably small text/layout
(for example, a layout was calculated at 72 dpi [dots per inch], but
the renderer assumed the result was already specified in device
dots and rendered it at 600 dpi).</p></li></ul><p>Stylesheet authors should understand a pixel's actual <a href="#size" class="property">size</a> may
vary from device to device:</p><ul><li><p>stylesheets utilizing 'px' units may not produce consistent
results across different implementations or different
output devices from a single implementation</p></li><li><p>even if stylesheets are expressed entirely in 'px' units
the results may vary on different devices</p></li></ul></div></div></div></div><div class="div2">
<h3><a name="d2e8237" id="d2e8237"/>5.10 Core Function Library</h3><div class="div3">
<h4><a name="d2e8240" id="d2e8240"/>5.10.1 Number Functions</h4><p id="fn_floor"><em>number</em> <b>floor</b>(<var>number</var>)</p><p>The <code><a href="#fn_floor" class="function">floor</a></code> function returns the largest (closest to
positive infinity) integer that is not greater than the argument.
The number argument to this function must be of unit power zero.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If it is necessary to use the <code><a href="#fn_floor" class="function">floor</a></code> function for a
property where a unit power of one is expected, then an expression
such as: "floor(1.4in div 1.0in)*1.0in" must be used.
This also applies to the ceiling,
round, and other such functions where a unit power of zero is required.</p></div><p id="fn_ceiling"><em>number</em> <b>ceiling</b>(<var>number</var>)</p><p>The <code><a href="#fn_ceiling" class="function">ceiling</a></code> function returns the smallest (closest
to negative infinity) integer that is not less than the argument. The number
argument to this function must be of unit power zero.</p><p id="fn_round"><em>number</em> <b>round</b>(<var>number</var>)</p><p>The <code><a href="#fn_round" class="function">round</a></code> function returns the integer that is
closest to the argument. If there are two such
numbers, then the one that is closest to positive infinity is
returned. The numeric argument to this function must be of unit power zero.</p><p id="fn_min"><em>number</em> <b>min</b>(<var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_min" class="function">min</a></code> function returns the minimum of the
two numeric arguments. These arguments must have the same unit power.</p><p id="fn_max"><em>number</em> <b>max</b>(<var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_max" class="function">max</a></code> function returns the maximum of the two
numeric arguments. These arguments must have the same unit power.</p><p id="fn_abs"><em>number</em> <b>abs</b>(<var>number</var>)</p><p>The <code><a href="#fn_abs" class="function">abs</a></code> function
returns the absolute value of the numeric argument.
That is, if the numeric argument is negative, it returns the negation of
the argument.</p></div><div class="div3">
<h4><a name="expr-color-functions" id="expr-color-functions"/>5.10.2 Color Functions</h4><p id="fn_rgb"><em>color</em> <b>rgb</b>(<var>number</var>, <var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_rgb" class="function">rgb</a></code> function returns a specific color from the RGB
color space. The parameters to this function must be numerics (real numbers) with a
length power of zero.</p><p id="fn_rgb-icc"><em>color</em> <b>rgb-icc</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>NCName</var>, <var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_rgb-icc" class="function">rgb-icc</a></code> function
returns a specific color from the ICC Color Profile. The color profile is specified by the name parameter (the fourth parameter). This color profile must have been declared in the <a href="#fo_declarations" class="el">fo:declarations</a> formatting object using an <a href="#fo_color-profile" class="el">fo:color-profile</a> formatting object.</p><p>The first three parameters specify a fallback color from the sRGB color space. This color is used when the color profile is not available.</p><p>The color is specified by a color value (real number) specified after the name parameter. These values are specific to the color profile.</p><p id="fn_icc-named-color"><em>color</em> <b>icc-named-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>NCName</var>, <var>string</var>)</p><p>The <code><a href="#fn_icc-named-color" class="function">icc-named-color</a></code> function
returns a specific named color from the ICC Color profile. The color profile is specified by the name parameter (the fourth parameter). This color profile must have been declared in the <a href="#fo_declarations" class="el">fo:declarations</a> formatting object using an <a href="#fo_color-profile" class="el">fo:color-profile</a> formatting object.</p><p>The color is specified by the last parameter.</p><p>The first three parameters specify a fallback color from the sRGB color space. This color is used when the CIE LCH color space is not available.</p><p id="fn_system-color"><em>color</em> <b>system-color</b>(<var>NCName</var>)</p><p>The <code><a href="#fn_system-color" class="function">system-color</a></code> function returns a system defined
color with a given name.</p><p id="fn_cmyk-icc-color"><em>color</em> <b>cmyk-icc-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>NCName</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_cmyk-icc-color" class="function">cmyk-icc-color</a></code> function
returns a specific color from the ICC Color Profile. The color profile is specified by the name parameter (the fourth parameter). This color profile must have been declared in the <a href="#fo_declarations" class="el">fo:declarations</a> formatting object using an <a href="#fo_color-profile" class="el">fo:color-profile</a> formatting object.</p><p>The first three parameters specify a fallback color from the sRGB color space. This color is used when the color profile is not available.</p><p>The color is specified by a sequence of four color values (real numbers) specified after the name parameter.</p><p id="fn_cie-lab-color"><em>color</em> <b>cie-lab-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_cie-lch-color" class="function">cie-lch-color</a></code> function
returns a specific color from the cartesian form of the CIE Lab <a href="#CIE15">[CIE15]</a> color space. The 'Lightness', 'a', and 'b' values are specified by the fourth to sixth parameters, respectively.</p><p>The first three parameters specify a fallback color from the sRGB color space. This color is used when the CIE Lab color space is not available.</p><p id="fn_cie-lch-color"><em>color</em> <b>cie-lch-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>)</p><p>The <code><a href="#fn_cie-lab-color" class="function">cie-lab-color</a></code> function returns a specific
color from the cylindrical form of the CIELUV <a href="#CIE15">[CIE15]</a>
color space. The 'Lightness', 'Hue', and 'Chroma' values are
specified by the fourth to sixth parameters, respectively.</p><p>The first three parameters specify a fallback color from the sRGB
color space. This color is used when the CIE LCH color space is not
available.</p><div class="div4">
<h5><a name="uncalibrated-device-color" id="uncalibrated-device-color"/>5.10.2.1 Uncalibrated device color</h5><p>Uncallibrated device colors are sometimes useful in print
workflows, for example to produce patches of known ink density used
for quality control purposes.</p><p id="fn_device-gray-color"><em>color</em> <b>device-gray-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>)</p><p id="fn_device-rgb-color"><em>color</em> <b>device-rgb-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>)</p><p id="fn_device-cmyk-color"><em>color</em> <b>device-cmyk-color</b>(<var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>, <var>number</var>)</p><p>A Color-managed User Agent which supports the indicated class of
output device will pass the values through without color
management. If the class of output device (for example, cmyk) is not
supported, then the fallback sRGB color (the first three parameters)
is used.</p><p>As these are uncalibrated, any interpolation or compositing occurs
using the fallback sRGB color value.</p></div></div><div class="div3">
<h4><a name="d2e8445" id="d2e8445"/>5.10.3 Font Functions</h4><p id="fn_system-font"><em>object</em> <b>system-font</b>(<var>NCName</var>, <var>NCName</var>?)</p><p>The <code><a href="#fn_system-font" class="function">system-font</a></code> function returns a
characteristic of a system font. The first argument is the
name of the system <a href="#font" class="property">font</a> and the second argument, which is optional,
names the property that specifies the characteristic. If the second
argument is omitted, then the characteristic returned is the same as
the name of the property to which the expression is being assigned.</p><p>For example, the expression
"system-font(heading,<a href="#font-size" class="property">font-size</a>)" returns the <a href="#font-size" class="property">font-size</a>
characteristic for the system <a href="#font" class="property">font</a> named "heading". This is equivalent to the
property assignment
'<a href="#font-size" class="property">font-size</a>="system-font(heading)"'.</p></div><div class="div3">
<h4><a name="d2e8473" id="d2e8473"/>5.10.4 Property Value Functions</h4><p id="fn_inherited-property-value"><em>object</em> <b>inherited-property-value</b>(<var>NCName</var>?)</p><p>The <code><a href="#fn_inherited-property-value" class="function">inherited-property-value</a></code> function returns the
inherited value of the property whose name matches the argument specified,
or if omitted for the property for which
the expression is being evaluated.
It is an error if this property is not an inherited property.
If the argument specifies a shorthand property and if the expression
only consists of the inherited-property-value function with an argument
matching the property being computed, it is interpreted as an expansion
of the shorthand with each property into which the shorthand expands,
each having a value of inherited-property-value with an argument
matching the property. It is an error if arguments matching
a shorthand property are used in any other way. Similarly,
if the argument
specifies a property of a compound datatype and if the expression
only consists of the inherited-property-value function with
an argument matching the property being computed,
it is interpreted as an expansion with each component of the
compound property having a value of inherited-property-value
with an argument matching the component. It is an error if
arguments matching a property of a compound datatype are used
in any other way.</p><p>The returned "inherited value" is
the computed value
of this property on this object's parent. For example,
given the following:</p><div class="exampleInner"><pre>
&lt;fo:list-block&gt;
...
&lt;fo:list-item color="red"&gt;
&lt;fo:list-item-body background-color="green"&gt;
&lt;fo:block background-color="inherited-property-value(color)"&gt;
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/fo:list-block&gt;
</pre></div><p>The <a href="#background-color" class="property">background-color</a> property on the <a href="#fo_block" class="el">fo:block</a> is assigned
the value "red" because the (computed, after inheritance)
value of the <a href="#color" class="property">color</a> (not <a href="#background-color" class="property">background-color</a>) property on the
<a href="#fo_list-item-body" class="el">fo:list-item-body</a> that is the parent of the <a href="#fo_block" class="el">fo:block</a> is "red".</p><p id="fn_label-end"><em>number</em> <b>label-end</b>()</p><p>The <code><a href="#fn_label-end" class="function">label-end</a></code> function returns the calculated
label-end value for lists. See the definition in
<a href="#provisional-label-separation"><b>7.31.12 provisional-label-separation</b></a>.</p><p id="fn_body-start"><em>number</em> <b>body-start</b>()</p><p>The <code><a href="#fn_body-start" class="function">body-start</a></code> function returns the
calculated body-start value for lists.
See the definition in
<a href="#provisional-distance-between-starts"><b>7.31.11 provisional-distance-between-starts</b></a>.</p><p id="fn_from-parent"><em>object</em> <b>from-parent</b>(<var>NCName</var>?)</p><p>The <code><a href="#fn_from-parent" class="function">from-parent</a></code> function
returns a computed value (see <a href="#speccomact"><b>5.1 Specified, Computed, and Actual Values, and Inheritance</b></a>)
of the property whose name matches
the argument specified,
or if omitted for the property for which
the expression is being evaluated.
The value returned is that for the parent of the
formatting object for which the expression is evaluated.
If there is no parent, the value returned is the initial
value. If the argument specifies a shorthand property and if
the expression only consists of the from-parent function with an
argument matching the property being computed, it is
interpreted
as an expansion of the shorthand with each property into which
the shorthand expands, each having a value of from-parent with
an argument matching the property.
It is an error if arguments matching a shorthand property are used
in any other way.
Similarly, if the argument specifies a property of a compound datatype
and if the expression only consists of the from-parent function with
an argument matching the property being computed, it is interpreted
as an expansion with each component of the compound property having
a value of from-parent with an argument matching the component.
It is an error if arguments matching a property of a compound datatype
are used in any other way.
</p><p id="fn_from-nearest-specified-value"><em>object</em> <b>from-nearest-specified-value</b>(<var>NCName</var>?)</p><p>The <code><a href="#fn_from-nearest-specified-value" class="function">from-nearest-specified-value</a></code> function
returns a computed value of the property whose name matches
the argument specified,
or if omitted for the property for which
the expression is being evaluated.
The value returned is that for the closest ancestor of the
formatting object for which the expression is evaluated on
which there
is an assignment of the property in the XML result tree in the
fo namespace.
If there is no such ancestor, the value returned is the
initial value.
If the argument specifies a shorthand property and if
the expression only consists of the from-nearest-specified-value function with an
argument matching the property being computed, it is
interpreted
as an expansion of the shorthand with each property into which
the shorthand expands, each having a value of from-nearest-specified-value with
an argument matching the property.
It is an error if arguments matching a shorthand property are used
in any other way.
Similarly, if the argument specifies a property of
a compound datatype and if the expression only consists of
the from-nearest-specified-value function with an argument matching
the property being computed, it is interpreted as an expansion with
each component of the compound property having a value of
from-nearest-specified-value with an argument matching the component.
It is an error if arguments matching a property of a compound datatype
are used in any other way.
</p><p id="fn_from-page-master-region"><em>object</em> <b>from-page-master-region</b>(<var>NCName</var>?)</p><p>The <code><a href="#fn_from-page-master-region" class="function">from-page-master-region</a></code> function returns the
computed value of the property whose name matches the argument specified,
or if omitted for the property for which
the expression is being evaluated. </p><p>In XSL 1.1 this function may only be used as the value of the
"<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
In addition the argument of the function <em>must</em> be omitted.
If an argument is present, it is an error.</p><p>The computed value of the designated
property is taken from that property on the layout formatting object
being used to generate the region viewport/reference area pair.</p><p>If this function is used in an expression on a formatting object,
<var>F</var>,
that is a descendant of an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>, then the computed value
is taken from the region specification that was used to generate
the nearest ancestor region reference area which has as
its descendants the areas returned by <var>F</var>.</p><p>If the argument specifies a property of a compound datatype and
if the expression only consists of the inherited-property-value function
with an argument matching the property being computed,
it is interpreted as an expansion with each component of
the compound property having a value of inherited-property-value with
an argument matching the component. It is an error
if arguments matching a property of a compound datatype are used
in any other way.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Consider the following example:</p><div class="exampleInner"><pre>
&lt;fo:root&gt;
&lt;fo:layout-master-set&gt;
&lt;fo:simple-page-master master-name="all-pages"&gt;
&lt;fo:region-body region-name="xsl-region-body" margin="0.75in"
writing-mode="tb-rl" /&gt;
&lt;fo:region-before region-name="xsl-region-before" extent="0.75in"/&gt;
&lt;/fo:simple-page-master&gt;
&lt;fo:page-sequence-master master-name="default-sequence"&gt;
&lt;fo:repeatable-page-master-reference master-reference="all-pages"/&gt;
&lt;/fo:page-sequence-master&gt;
&lt;/fo:layout-master-set&gt;
&lt;fo:page-sequence master-name="default-sequence"&gt;
&lt;fo:flow flow-name="xsl-region-body"&gt;
&lt;fo:block&gt;
[Content in a language which allows either
horizontal or vertical formatting]
&lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;
</pre></div><p>This example shows a very simple page layout specification.
There is a single simple-page-master, named "all-pages".
This page-master has two regions defined upon it, "xsl-region-body"
and "xsl-region-before". The region named "xsl-region-before" is
a page header that accepts static-content (said content is omitted
for simplicity in this example). The region named "xsl-region-body"
is assigned the content of the single <a href="#fo_flow" class="el">fo:flow</a> in the single
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><p>In this example, the definition of "xsl-region-body" has
a "<a href="#writing-mode" class="property">writing-mode</a>" property. As written, the computed value of
this property, "tb-rl", would have no effect on the <a href="#writing-mode" class="property">writing-mode</a>
used to fill the region because the <a href="#writing-mode" class="property">writing-mode</a> value used when
generating the region viewport/reference area pair would be the computed
value on the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> that uses the "xsl-region-body" region definition
to generate a region viewport/reference area pair.
Since no "<a href="#writing-mode" class="property">writing-mode</a>" property is specified on either the <a href="#fo_root" class="el">fo:root</a>
nor its child, the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>, the initial value would be used
for the writing mode for the content that fills the region reference area.
The initial value of "<a href="#writing-mode" class="property">writing-mode</a>" is "lr-tb". </p><p>If, however, the above line that reads:</p><div class="exampleInner"><pre>
&lt;fo:page-sequence master-name="default-sequence"&gt;
</pre></div><p>becomes</p><div class="exampleInner"><pre>
&lt;fo:page-sequence master-name="default-sequence"
writing-mode="from-page-master-region()"&gt;
</pre></div><p>then the computed value of the "<a href="#writing-mode" class="property">writing-mode</a>" property on
the region definitions would be used when instantiating all the
viewport/reference area pairs. Thus for the xsl-region-body the
specification on the region definition for "xsl-region-body"
would be used and
the content would receive vertical formatting instead of
the default horizontal formatting.
Similarly for the xsl-region-before, the computed value of the
"<a href="#writing-mode" class="property">writing-mode</a>"
on the region definition would be used, in this case the
initial value of "lr-tb" inherited from <a href="#fo_root" class="el">fo:root</a> and the content of the
xsl-region-before would be formatted horizontally.
</p></div><p id="fn_from-table-column"><em>object</em> <b>from-table-column</b>(<var>NCName</var>?)</p><p>The <code><a href="#fn_from-table-column" class="function">from-table-column</a></code> function
returns the inherited value of the property whose name matches the
argument specified,
or if omitted for the property for which
the expression is being evaluated,
from the <a href="#fo_table-column" class="el">fo:table-column</a> whose <a href="#column-number" class="property">column-number</a>
matches the column for which this expression is evaluated and
whose <a href="#number-columns-spanned" class="property">number-columns-spanned</a> also matches any span.
If there is no match for the <a href="#number-columns-spanned" class="property">number-columns-spanned</a>, it is
matched
against a <a href="#span" class="property">span</a> of 1. If there is still no match, the initial
value is returned.
If the argument specifies a shorthand property and if the expression
only consists of the from-table-column function with an argument
matching the property being computed, it is interpreted as
an expansion of the shorthand with each property into which
the shorthand expands, each having a value of from-table-column with
an argument matching the property. It is an error if arguments matching
a shorthand property are used in any other way. Similarly,
if the argument specifies a
property of a compound datatype and if the expression only consists of
the from-table-column function with an argument matching
the property being computed, it is interpreted as an expansion
with each component of the compound property having a value of
from-table-column with an argument matching the component.
It is an error if arguments matching a property of a compound datatype
are used in any other way.
It is also an error to use this function on formatting objects
that are not an <a href="#fo_table-cell" class="el">fo:table-cell</a> or its descendants.
</p><p id="fn_proportional-column-width"><em>number</em> <b>proportional-column-width</b>(<var>number</var>)</p><p>The <code><a href="#fn_proportional-column-width" class="function">proportional-column-width</a></code> function
returns <var>N</var> units of proportional measure
where <var>N</var> is the argument given to this function.
The column widths are first determined ignoring the proportional
measures. The difference between the table-width and the sum of
the column widths is the available proportional width. One unit
of proportional measure is the available proportional <a href="#width" class="property">width</a>
divided by the sum of the proportional factors.
It is an error to use this function on formatting objects other
than an <a href="#fo_table-column" class="el">fo:table-column</a>. It is also an error to use this function
if the fixed table layout is not used.
</p><p id="fn_merge-property-values"><em>object</em> <b>merge-property-values</b>(<var>NCName</var>?)</p><p>The <code><a href="#fn_merge-property-values" class="function">merge-property-values</a></code> function returns a value of the
property whose name matches the argument,
or if omitted for the property for which
the expression is being evaluated.
The value returned is the specified value on the last
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>, of the parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a>,
that applies to the User Agent state.
If there is no such value, the computed value of the
parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a> is returned.
If the argument specifies a shorthand property and if the expression
only consists of the merge-property-values function with an argument
matching the property being computed, it is interpreted as an expansion
of the shorthand with each property into which the shorthand expands,
each having a value of merge-property-values with an argument matching
the property. It is an error if arguments matching a shorthand property
are used in any other way. Similarly, if the argument
specifies a property of a compound datatype and if the expression
only consists of the merge-property-values function with an argument
matching the property being computed, it is interpreted as
an expansion with each component of the compound property having a
value of merge-property-values with an argument matching the component.
It is an error if arguments matching a property of a compound datatype
are used in any other way.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The test for applicability of a User Agent state is
specified using the "<a href="#active-state" class="property">active-state</a>" property.</p></div><p>It is an error to use this function on formatting objects other
than an <a href="#fo_wrapper" class="el">fo:wrapper</a> that is the child of an <a href="#fo_multi-properties" class="el">fo:multi-properties</a>.</p></div></div><div class="div2">
<h3><a name="datatype" id="datatype"/>5.11 Property Datatypes</h3><p>Certain property values are described in terms of compound
datatypes, in terms of restrictions on permitted number values, or
strings with particular semantics.</p><p>The compound datatypes, such as space, are represented in the
result tree as multiple attributes. The names of these attributes
consist of the property name, followed by a period, followed by
the component name. For example a "<a href="#space-before" class="property">space-before</a>" property may
be specified as:</p><div class="exampleInner"><pre>
space-before.minimum="2.0pt"
space-before.optimum="3.0pt"
space-before.maximum="4.0pt"
space-before.precedence="0"
space-before.conditionality="discard"
</pre></div><p>A short form of compound value specification may be used, in cases
where the datatype has some &lt;length&gt; components and for the
&lt;keep&gt; datatype. In the first case the
specification consists of giving a &lt;length&gt; value to an attribute
with a name matching a property name. Such a specification gives
that value to each of the &lt;length&gt; components and the initial value
to all the non-&lt;length&gt; components. For example:</p><div class="exampleInner"><pre>
space-before="4.0pt"
</pre></div><p>is equivalent to a specification of</p><div class="exampleInner"><pre>
space-before.minimum="4.0pt"
space-before.optimum="4.0pt"
space-before.maximum="4.0pt"
space-before.precedence="0"
space-before.conditionality="discard"
</pre></div><div class="note"><p class="prefix"><b>Note:</b></p><p>Since a &lt;percentage&gt; value,
that is not interpreted as "auto",
is a valid &lt;length&gt; value it may be used in a short form.</p></div><p>For the &lt;keep&gt; datatype the
specification consists of giving a value that is valid for a component
to an attribute
with a name matching a property name. Such a specification gives
that value to each of the components.
For example:</p><div class="exampleInner"><pre>
keep-together="always"
</pre></div><p>is equivalent to a specification of</p><div class="exampleInner"><pre>
keep-together.within-line="always"
keep-together.within-column="always"
keep-together.within-page="always"
</pre></div><p>Short forms may be used together with complete forms; the complete
forms have <a href="#precedence" class="property">precedence</a> over the expansion of a short form.
For example:</p><div class="exampleInner"><pre>
space-before="4.0pt"
space-before.maximum="6.0pt"
</pre></div><p>is equivalent to a specification of</p><div class="exampleInner"><pre>
space-before.minimum="4.0pt"
space-before.optimum="4.0pt"
space-before.maximum="6.0pt"
space-before.precedence="0"
space-before.conditionality="discard"
</pre></div><p>Compound values of properties are inherited as a unit and not
as individual components.
After inheritance any complete form specification
for a component is used to set its value.
</p><p>If the computed value of a corresponding relative property is
set from the corresponding absolute property, the latter is used
in determining all the components of the former.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, assuming a block-progression-direction of
"top-to-bottom", in a specification of</p><div class="exampleInner"><pre>
margin-top="10.0pt"
space-before.minimum="4.0pt"
</pre></div><p>the explicit setting of one of the components of the corresponding
relative property will have no effect.</p></div><p>The following defines the syntax for specifying the
datatypes usable in property values:</p><dl><dt class="label">&lt;integer&gt;</dt><dd><p>A signed integer value which consists of an optional '+' or '-'
<a href="#character" class="property">character</a> followed by a sequence of digits.
A property may define additional constraints on the value.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A '+' sign is allowed for CSS2 compatibility.</p></div></dd><dt class="label">&lt;number&gt;</dt><dd><p>A signed real number which consists of an optional '+' or '-'
<a href="#character" class="property">character</a> followed by a sequence of digits followed by an optional '.'
<a href="#character" class="property">character</a> and sequence of digits.
A property may define additional constraints on the value.
</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>A signed length value where a 'length' is a real number plus a unit
qualification.
A property may define additional constraints on the value.
</p></dd><dt class="label">&lt;length-range&gt;</dt><dd><p>A compound datatype, with components:
minimum, optimum, maximum. Each component is a &lt;length&gt;.
If "minimum" is greater than optimum, it will be treated as if it had
been set to "optimum".
If "maximum" is less than optimum, it will be treated as if it had
been set to "optimum".
A property may define additional constraints on the values,
and additional permitted values and their semantics; e.g. 'auto'
or &lt;percentage&gt;.
</p></dd><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound datatype, with components:
length, conditionality. The length component is a &lt;length&gt;.
The conditionality component is either "discard" or "retain".
A property may define additional constraints on the values.
</p></dd><dt class="label">&lt;length-bp-ip-direction&gt;</dt><dd><p>A compound datatype, with components:
block-progression-direction, and inline-progression-direction.
Each component is a &lt;length&gt;.
A property may define additional constraints on the values.
</p></dd><dt class="label">&lt;space&gt;</dt><dd><p>A compound datatype, with components:
minimum, optimum, maximum, <a href="#precedence" class="property">precedence</a>, and conditionality.
The minimum, optimum, and maximum components are &lt;length&gt;s.
The <a href="#precedence" class="property">precedence</a> component is either "force" or an &lt;integer&gt;.
The conditionality component is either "discard" or "retain".
If "minimum" is greater than optimum, it will be treated as if it had
been set to "optimum".
If "maximum" is less than optimum, it will be treated as if it had
been set to "optimum".
</p></dd><dt class="label">&lt;keep&gt;</dt><dd><p>A compound datatype, with components:
within-line, within-column, and within-page. The value of each
component is either "auto", "always", or an &lt;integer&gt;.
</p></dd><dt class="label">&lt;angle&gt;</dt><dd><p>A representation of an angle consisting of
an optional '+' or '-' <a href="#character" class="property">character</a> immediately followed by
a &lt;number&gt; immediately followed by an angle unit identifier.
Angle unit identifiers are:
'deg' (for degrees),
'grad' (for grads), and
'rad' (for radians).
The specified values are normalized to the range 0deg to 360deg.
A property may define additional constraints on the value.
</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>A signed real percentage which consists of an optional '+' or '-'
<a href="#character" class="property">character</a> followed by a sequence of digits followed by an optional '.'
<a href="#character" class="property">character</a> and sequence of digits followed by '%'.
A property may define additional constraints on the value.
</p></dd><dt class="label">&lt;character&gt;</dt><dd><p>A single Unicode <a href="#character" class="property">character</a>
valid in accordance with production [2] of <a href="#XML">[XML]</a> or <a href="#XML11">[XML 1.1]</a>.
For example, "c" or "&amp;#x2202;".</p></dd><dt class="label">&lt;string&gt;</dt><dd><p>A sequence of characters.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Given the allowable Expression Value Conversions
(<a href="#expr.value.conv"><b>5.9.12 Expression Value Conversions</b></a>),
a property value of type &lt;string&gt; must be a quoted value,
an NCName, or a expression that evaluates to a &lt;string&gt;;
anything else (e.g., an integer) is an error.
An implementation may recover from this error by treating the
unevaluated property value as a string.</p></div></dd><dt class="label">&lt;name&gt;</dt><dd><p>A string of characters representing a name.
It must conform to the definition of an
<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a> in
<a href="#XMLNAMES">[XML Names]</a> or <a href="#XMLNAMES11">[XML Names 1.1]</a>.
</p></dd><dt class="label">&lt;family-name&gt;</dt><dd><p>A string of characters identifying a font.
</p></dd><dt class="label">&lt;color&gt;</dt><dd><p>Either a string of characters representing a keyword or a color
function defined in <a href="#expr-color-functions"><b>5.10.2 Color Functions</b></a>.
The list of keyword color names is:
aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive,
purple, red, silver, teal, white, and yellow.</p></dd><dt class="label">&lt;country&gt;</dt><dd><p>A string of characters conforming to an ISO 3166
(<a href="#ISO3166-1">[ISO3166-1]</a>,
<a href="#ISO3166-2">[ISO3166-2]</a>, and
<a href="#ISO3166-3">[ISO3166-3]</a>)
<a href="#country" class="property">country</a> code.
</p></dd><dt class="label">&lt;language&gt;</dt><dd><p>A string of characters conforming to either a
<a href="#ISO639-2">[ISO639-2]</a> 3-letter terminology
or bibliographic code
or a
<a href="#ISO639">[ISO639]</a> 2-letter code
representing the name of a language.
</p></dd><dt class="label">&lt;script&gt;</dt><dd><p>A string of characters conforming to an
ISO 15924 <a href="#script" class="property">script</a> code.
</p></dd><dt class="label">&lt;id&gt;</dt><dd><p>A string of characters conforming
to the definition of an
<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a> in
<a href="#XMLNAMES">[XML Names]</a> or <a href="#XMLNAMES11">[XML Names 1.1]</a>
and is unique within the stylesheet.
</p></dd><dt class="label">&lt;idref&gt;</dt><dd><p>A string of characters conforming
to the definition of an
<a href="http://www.w3.org/TR/REC-xml-names/#NT-NCName">NCName</a> in
<a href="#XMLNAMES">[XML Names]</a> or <a href="#XMLNAMES11">[XML Names 1.1]</a> and
that matches an ID property value used within the stylesheet.
</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>A sequence of characters that is
"url(", followed by optional
white space, followed by an optional single quote
(') or double quote (") <a href="#character" class="property">character</a>, followed by
an IRI reference as defined in <a href="#RFC3987">[RFC3987]</a>,
followed by an optional single quote (') or double quote (")
<a href="#character" class="property">character</a>, followed by optional white space, followed by
")". The two quote characters must be the same and must both be
present or absent. If the IRI reference contains a single quote, the
two quote characters must be present and be double quotes.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The definition differs from that in CSS2
in that this Recommendation allows IRIs whereas CSS2
only allows URIs.</p></div></dd><dt class="label">&lt;shape&gt;</dt><dd><p>"rect (" &lt;top&gt; &lt;<a href="#right" class="property">right</a>&gt; &lt;<a href="#bottom" class="property">bottom</a>&gt; &lt;<a href="#left" class="property">left</a>&gt; ")"
where &lt;top&gt;, &lt;<a href="#bottom" class="property">bottom</a>&gt; &lt;<a href="#right" class="property">right</a>&gt;, and &lt;<a href="#left" class="property">left</a>&gt;
specify offsets from the respective sides of the content rectangle of
the area.</p><p>&lt;top&gt;, &lt;<a href="#right" class="property">right</a>&gt;, &lt;<a href="#bottom" class="property">bottom</a>&gt;, and &lt;<a href="#left" class="property">left</a>&gt;
may either have a &lt;length&gt; value or 'auto'.
Negative lengths are permitted. The value 'auto' means that a given edge
of the clipping region will be the same as the edge of the
content rectangle of the area (i.e., 'auto' means the same as '0pt'.)
</p></dd><dt class="label">&lt;time&gt;</dt><dd><p>A &lt;number&gt; immediately followed by a time unit identifier.
Time unit identifiers are: 'ms' (for milliseconds) and 's' (for seconds).</p></dd><dt class="label">&lt;frequency&gt;</dt><dd><p>A &lt;number&gt; immediately followed by a frequency unit identifier.
Frequency unit identifiers are: 'Hz' (for Hertz) and 'kHz' (for kilo Hertz).</p></dd></dl></div></div><div class="div1">
<h2><a name="fo-section" id="fo-section"/>6 Formatting Objects</h2><div class="div2">
<h3><a name="d2e9034" id="d2e9034"/>6.1 Introduction to Formatting Objects</h3><p>
The refined formatting object tree describes one or more
intended presentations of
the information within this tree. Formatting is the process
which converts the description into a presentation. See
<a href="#fo-jc-intro"><b>3 Introduction to Formatting</b></a>. The presentation
is represented, abstractly, by an area tree, as defined in
the area model. See <a href="#area_model"><b>4 Area Model</b></a>.
Each possible presentation
is represented by one or more area trees in which the information in
the refined formatting object tree is positioned on a two
and one-half dimensional surface.</p><p>
There are three kinds of formatting objects: (1) those that generate
areas, (2) those that return areas, but do not generate
them, and (3) those that are used in the generation of
areas. The first and second kinds are typically called
<b>flow objects</b>. The third kind is either a
<b>layout object</b> or an <b>auxiliary
object</b>. The
kind of formatting object is indicated by the terminology used with
the object. Formatting objects of the first kind are said to "generate
one or more areas". Formatting objects of the second kind are said to
"return one or more areas". Formatting objects of the first kind may
both generate and return areas. Formatting objects of the third kind
are "used in the generation of areas"; that is, they act like
parameters to the generation process.
</p><div class="div3">
<h4><a name="define-returned-by" id="define-returned-by"/>6.1.1 Definitions Common to Many Formatting Objects</h4><p>
This categorization leads to defining two traits which characterize
the relationship between an area and the formatting objects which
generate and return that area. These traits are
<span class="trait">generated-by</span> and
<span class="trait">returned-by</span>.
</p><p>
The value of the <span class="trait">generated-by</span> trait is a
single formatting
object. A formatting object <var>F</var> is defined to
<b>generate</b> an area <var>A</var>
if the semantics of <var>F</var> specify the generation of
one or more areas and <var>A</var> is one of the areas thus
generated, or is a substituted form of one of the areas thus
generated, as specified in section <a href="#area-linebuild"><b>4.7.2 Line-building</b></a>.</p><p>In the case of substituted glyph-areas, the generating formatting
object is deemed to be the formatting object which generated the
glyph-area which comes first in the sequence of substituted
glyph-areas. In the case of an inserted glyph-area (e.g., an
automatically-generated hyphen) the generating formatting object is
deemed to be the generating formatting object of the last glyph-area
preceding the inserted glyph-area in the pre-order
traversal of the area tree.
</p><p>
The value of the <span class="trait">returned-by</span> trait is a set
of pairs, where each
pair consists of a formatting object and a positive integer. The
integer represents the <a href="#position" class="property">position</a> of the area in the ordering of all
areas returned by the formatting object.
</p><p>
A formatting object <var>F</var> is defined to <b>return
the sequence of
areas</b> <var>A</var>, <var>B</var>, <var>C</var>, ... if
the pair
(<var>F</var>,1) is a member of the
<span class="trait">returned-by</span> trait of <var>A</var>, the pair
(<var>F</var>,2) is a member of the
<span class="trait">returned-by</span> trait of <var>B</var>, the pair
(<var>F</var>,3) is a member of the
<span class="trait">returned-by</span> trait of <var>C</var>, ...
</p><p>
If an area is a member of the sequence of areas returned by a
formatting object, then either it was generated by the formatting
object or it was a member of the sequence of areas returned by a child
of that formatting object. Not all areas returned by a child of a
formatting object need be returned by that formatting object. A
formatting object may generate an area that has, as some of
its children areas, areas returned by the children of that
formatting
object. These children (in the area tree) of the generated area are
not returned by the formatting object to which they were returned.
</p><p>
A set of nodes in a tree is a <b>lineage</b> if:
</p><ul><li><p>
there is a node <var>N</var> in the set such that all the
nodes in the set are ancestors of <var>N</var>, and</p></li><li><p>
for every node <var>N</var> in the set, if the set contains
an ancestor of <var>N</var>, it also contains the parent of
<var>N</var>.</p></li></ul><p>
The set of formatting objects that an area is returned by is a <b>lineage</b>.
</p><p>
Areas returned by a formatting object may be either
<b>normal</b> or
<b>out-of-line</b>. Normal areas represent areas in
the
"normal flow
of text"; that is, they become area children of the areas generated by
the formatting object to which they are returned. Normal areas have a
<span class="trait">returned-by</span> lineage of <a href="#size" class="property">size</a> one. There is
only one kind of normal area.
</p><p>
Out-of-line areas are areas used outside the normal flow of text
either because they are absolutely positioned or they are part of a
<a href="#float" class="property">float</a> or footnote. Out-of-line areas may have a
<span class="trait">returned-by</span> lineage of <a href="#size" class="property">size</a> greater than one.
</p><p>
The <span class="trait">area-class</span> trait indicates which class,
normal or
out-of-line, an area belongs to. For out-of-line areas, it also
indicates the subclass of out-of-line area. The values for this trait
are: "xsl-normal", "xsl-absolute", "xsl-footnote",
"xsl-side-float", or "xsl-before-float".
An area
is normal if and only if the value of the
<span class="trait">area-class</span> trait is
"xsl-normal"; otherwise, the area is an out-of-line
area. (See section <a href="#area-stackcon"><b>4.2.5 Stacking Constraints</b></a>.)</p><p>
The areas <b>returned-by</b> a given formatting object are ordered as
noted above. This ordering defines an ordering on the sub-sequence of
areas that are of a given <b>area-class</b>, such as the sub-sequence
of normal areas. An area <var>A</var> precedes an area <var>B</var> in the sub-sequence if
and only if area <var>A</var> precedes area <var>B</var> in the areas <b>returned-by</b> the
formatting objects.
</p><p>A <b>reference-area chain</b>
is defined as a sequence
of reference-areas that is either generated by the same formatting
object that is not a page-sequence formatting object, or that consists
of the region reference-areas or normal-flow-reference-areas
(see <a href="#fo_region-body"><b>6.4.16 fo:region-body</b></a>)
generated using region formatting objects assigned to the same
flow (see <a href="#fafm"><b>6.4.1.4 Flows and Flow Mapping</b></a>).
The reference-areas in the sequence are said
to be "contained" by the reference-area chain, and they have the
same ordering relative to each other in the sequence as they have
in the area tree, using pre-order traversal order of the area tree.</p></div></div><div class="div2">
<h3><a name="d2e9247" id="d2e9247"/>6.2 Formatting Object Content</h3><p>The content of a formatting object is described using XML
content-model syntax. In some cases additional constraints, not expressible
in XML content models, are given in prose.</p><p id="block.fo.list">The parameter entity, "%block;" in the content models below,
contains the following formatting objects:</p><div class="exampleInner"><pre>
block
block-container
table-and-caption
table
list-block
</pre></div><p id="inline.fo.list">The parameter entity, "%inline;" in the content models below,
contains the following formatting objects:</p><div class="exampleInner"><pre>
bidi-override
character
external-graphic
instream-foreign-object
inline
inline-container
leader
page-number
page-number-citation
page-number-citation-last
scaling-value-citation
basic-link
multi-toggle
index-page-citation-list
</pre></div><p>The following formatting objects are "neutral" containers and
may be used,
provided that the additional constraints listed
under each formatting object are satisfied,
anywhere where #PCDATA, %block;, or %inline; are allowed:</p><div class="exampleInner"><pre>
multi-switch
multi-properties
index-range-begin
index-range-end
wrapper
retrieve-marker
</pre></div><p>The following formatting objects are "neutral" containers that may
be used as described by the constraints listed
under each formatting object:</p><div class="exampleInner"><pre>
retrieve-table-marker
</pre></div><p>The following formatting objects define "points" and may be used
anywhere as a descendant of <a href="#fo_flow" class="el">fo:flow</a> or <a href="#fo_static-content" class="el">fo:static-content</a>:
</p><div class="exampleInner"><pre>
change-bar-begin
change-bar-end
</pre></div><p>The following "out-of-line" formatting objects
may be used anywhere where #PCDATA, %block;, or %inline; are allowed
<span>(except as a descendant of any "out-of-line"
formatting object):</span></p><div class="exampleInner"><pre>
float
</pre></div><p>The following "out-of-line" formatting objects
may be used anywhere where #PCDATA or %inline; are allowed
(except as a descendant of any "out-of-line"
formatting object):</p><div class="exampleInner"><pre>
footnote
</pre></div></div><div class="div2">
<h3><a name="d2e9289" id="d2e9289"/>6.3 Formatting Objects Summary</h3><dl><dt class="label">basic-link</dt><dd><p>The <a href="#fo_basic-link" class="el">fo:basic-link</a> is used for representing the start resource of a simple
link.</p></dd><dt class="label">bidi-override</dt><dd><p>The <a href="#fo_bidi-override" class="el">fo:bidi-override</a> inline formatting object is used
where it is necessary to override the default
Unicode-bidirectional-algorithm
<a href="#direction" class="property">direction</a> for different (or nested) inline scripts
in mixed-language documents.</p></dd><dt class="label">block</dt><dd><p>The <a href="#fo_block" class="el">fo:block</a> formatting object is commonly used for formatting paragraphs,
titles, headlines, figure and table captions,
etc.</p></dd><dt class="label">block-container</dt><dd><p>The <a href="#fo_block-container" class="el">fo:block-container</a> flow object is used to
generate a block-level reference-area.</p></dd><dt class="label">bookmark</dt><dd><p>The <a href="#fo_bookmark" class="el">fo:bookmark</a> formatting object is used to identify
an access point, by name, and to specify where that
access point is within the current document or another
external document. A given bookmark may be further
subdivided into a sequence of (sub-)bookmarks to as
many levels as the authors desire.</p></dd><dt class="label">bookmark-title</dt><dd><p>The <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> formatting object is used to identify,
in human readable form, an access point.</p></dd><dt class="label">bookmark-tree</dt><dd><p>The <a href="#fo_bookmark-tree" class="el">fo:bookmark-tree</a> formatting object is used to hold a list of
access points within the document such as a table of contents, a list
of figures or tables, etc. Each access point is represented by a bookmark.</p></dd><dt class="label">change-bar-begin</dt><dd><p>The <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> is used to indicate the beginning of a
"change region" that is ended by its matching <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.
The change region is decorated with a change bar down either
the start or end edge of the column. The style of the change bar is
determined by the value of various change bar related properties.</p></dd><dt class="label">change-bar-end</dt><dd><p>The <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> is used to indicate the end of a
"change region" that is started by its matching <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p></dd><dt class="label">character</dt><dd><p>The <a href="#fo_character" class="el">fo:character</a> flow object represents a <a href="#character" class="property">character</a> that
is mapped to
a glyph for presentation.</p></dd><dt class="label">color-profile</dt><dd><p>Used to declare a color profile for a stylesheet.</p></dd><dt class="label">conditional-page-master-reference</dt><dd><p>The <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> is used to identify a
page-master that is to be used when the conditions on its use are
satisfied.</p></dd><dt class="label">declarations</dt><dd><p>Used to group global declarations for a stylesheet.</p></dd><dt class="label">external-graphic</dt><dd><p>The <a href="#fo_external-graphic" class="el">fo:external-graphic</a> flow object is used for a
graphic where the graphics data resides outside of the
XML result tree in the fo namespace.</p></dd><dt class="label">float</dt><dd><p>
The <a href="#fo_float" class="el">fo:float</a> serves two purposes. It can be used so that during the normal
placement of content, some related content is formatted into a separate area
at beginning of the page (or of some following page) where it is available
to be read without immediately intruding on the reader.
Alternatively, it can be used when an area is intended to <a href="#float" class="property">float</a>
to one side, with normal content flowing alongside.
</p></dd><dt class="label">flow</dt><dd><p>The content of the <a href="#fo_flow" class="el">fo:flow</a> formatting object is a
sequence of
flow objects that provides the flowing text content that is
distributed into pages.</p></dd><dt class="label">flow-assignment</dt><dd><p>The <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> is used to specify the assignment of one
sequence of flows to a sequence
of regions.</p></dd><dt class="label">flow-map</dt><dd><p>The <a href="#fo_flow-map" class="el">fo:flow-map</a> is used to specify the assignment of flows to
regions.</p></dd><dt class="label">flow-name-specifier</dt><dd><p>The <a href="#fo_flow-name-specifier" class="el">fo:flow-name-specifier</a>
is used to specify one flow in a source-list.</p></dd><dt class="label">flow-source-list</dt><dd><p>The <a href="#fo_flow-source-list" class="el">fo:flow-source-list</a> is
used to specify the sequence of flows to assign in a particular
<a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>.</p></dd><dt class="label">flow-target-list</dt><dd><p>The <a href="#fo_flow-target-list" class="el">fo:flow-target-list</a> is
used to specify the sequence of regions to which flows are assigned in
a particular <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>.</p></dd><dt class="label">folio-prefix</dt><dd><p>The <a href="#fo_folio-prefix" class="el">fo:folio-prefix</a> formatting object specifies
a static prefix for the folio numbers within a page-sequence.</p></dd><dt class="label">folio-suffix</dt><dd><p>The <a href="#fo_folio-suffix" class="el">fo:folio-suffix</a> formatting object specifies
a static suffix for the folio numbers within a page-sequence.</p></dd><dt class="label">footnote</dt><dd><p>The <a href="#fo_footnote" class="el">fo:footnote</a> is used to produce a footnote citation and the corresponding footnote.</p></dd><dt class="label">footnote-body</dt><dd><p>The <a href="#fo_footnote-body" class="el">fo:footnote-body</a> is used to generate the content of the footnote.</p></dd><dt class="label">index-key-reference</dt><dd><p>The <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting object is used to generate
a set of cited page items for all the occurrences of the specified
index-key.</p></dd><dt class="label">index-page-citation-list</dt><dd><p>The <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> formatting object is used to
group together the sets of cited page items generated by its
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> children.
The ultimate effect of the
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> is to generate a formatted list of
page numbers and ranges.</p></dd><dt class="label">index-page-citation-list-separator</dt><dd><p>The <a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a> formatting object specifies
the formatting objects used to separate singleton page numbers or
page number ranges in the generated list of page numbers.</p></dd><dt class="label">index-page-citation-range-separator</dt><dd><p>The <a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a> formatting object specifies
the formatting objects used to separate two page numbers forming a
range in the generated list of page numbers.</p></dd><dt class="label">index-page-number-prefix</dt><dd><p>The <a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a> formatting object specifies
a static prefix for the cited page items created by
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p></dd><dt class="label">index-page-number-suffix</dt><dd><p>The <a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a> formatting object specifies
a static suffix for the cited page items created by
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p></dd><dt class="label">index-range-begin</dt><dd><p>The <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> formatting object is used to indicate
the beginning of an "indexed range" associated with an index key.
The index range is ended by a corresponding <a href="#fo_index-range-end" class="el">fo:index-range-end</a>.</p></dd><dt class="label">index-range-end</dt><dd><p>The <a href="#fo_index-range-end" class="el">fo:index-range-end</a> is used to indicate the end of
an "indexed range" that is started by its matching
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>.</p></dd><dt class="label">initial-property-set</dt><dd><p>The <a href="#fo_initial-property-set" class="el">fo:initial-property-set</a> specifies formatting properties
for the first line of an <a href="#fo_block" class="el">fo:block</a>.</p></dd><dt class="label">inline</dt><dd><p>The <a href="#fo_inline" class="el">fo:inline</a> formatting object is commonly used for formatting
a portion of text with a <a href="#background" class="property">background</a> or enclosing it in a border.
</p></dd><dt class="label">inline-container</dt><dd><p>The <a href="#fo_inline-container" class="el">fo:inline-container</a> flow object is used to
generate an inline reference-area.</p></dd><dt class="label">instream-foreign-object</dt><dd><p>The <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a> flow object is used for an inline
graphic or other "generic" object
where the object data resides as descendants of the
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p></dd><dt class="label">layout-master-set</dt><dd><p>The <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> is a wrapper around masters used in the
document.</p></dd><dt class="label">leader</dt><dd><p>The <a href="#fo_leader" class="el">fo:leader</a> formatting object is used to generate leaders consisting
either of a rule or of a row of a repeating <a href="#character" class="property">character</a> or cyclically
repeating pattern of characters that may be used for connecting two
text formatting objects.</p></dd><dt class="label">list-block</dt><dd><p>The <a href="#fo_list-block" class="el">fo:list-block</a> flow object is used to <a href="#format" class="property">format</a> a list.</p></dd><dt class="label">list-item</dt><dd><p>The <a href="#fo_list-item" class="el">fo:list-item</a> formatting object contains the label and the
body of an item in a list.</p></dd><dt class="label">list-item-body</dt><dd><p>The <a href="#fo_list-item-body" class="el">fo:list-item-body</a> formatting object contains the
content
of the body of a list-item.</p></dd><dt class="label">list-item-label</dt><dd><p>The <a href="#fo_list-item-label" class="el">fo:list-item-label</a> formatting object contains the
content
of the label of a list-item; typically used to either enumerate,
identify, or adorn the list-item's body.</p></dd><dt class="label">marker</dt><dd><p>The <a href="#fo_marker" class="el">fo:marker</a> is used in conjunction with
<a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>
to produce running headers or footers.</p></dd><dt class="label">multi-case</dt><dd><p>The <a href="#fo_multi-case" class="el">fo:multi-case</a> is used to contain (within
an <a href="#fo_multi-switch" class="el">fo:multi-switch</a>) each alternative sub-tree of formatting
objects among which the parent <a href="#fo_multi-switch" class="el">fo:multi-switch</a> will choose
one to show and will hide the rest.</p></dd><dt class="label">multi-properties</dt><dd><p>The <a href="#fo_multi-properties" class="el">fo:multi-properties</a> is used to switch between two or more property sets that
are associated with a given portion of content.
</p></dd><dt class="label">multi-property-set</dt><dd><p>
The <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> is used to specify an alternative
set of formatting
properties that, dependent on a User Agent state, are applied to the content.
</p></dd><dt class="label">multi-switch</dt><dd><p>The <a href="#fo_multi-switch" class="el">fo:multi-switch</a> wraps the specification of
alternative sub-trees of formatting objects (each sub-tree
being within an <a href="#fo_multi-case" class="el">fo:multi-case</a>), and controls the switching
(activated via <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>) from one alternative to
another.</p></dd><dt class="label">multi-toggle</dt><dd><p>The <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> is used within an <a href="#fo_multi-case" class="el">fo:multi-case</a> to
switch to another
<a href="#fo_multi-case" class="el">fo:multi-case</a>.</p></dd><dt class="label">page-number</dt><dd><p>The <a href="#fo_page-number" class="el">fo:page-number</a> formatting object is used to represent
the
current page-number.</p></dd><dt class="label">page-number-citation</dt><dd><p>The <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a> is used to reference the
page-number for the page containing the first normal
area returned by the cited formatting
object.</p></dd><dt class="label">page-number-citation-last</dt><dd><p>The <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a> is used to reference the
page-number for the last page containing the an
area that is (a) returned by the cited formatting
object and (b) has an area-class that is consistent with the specified page-citation-strategy.</p></dd><dt class="label">page-sequence</dt><dd><p>The <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object is used to specify how to
create a (sub-)sequence of pages within a document; for example, a
chapter of a report. The content of these pages comes from flow
children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p></dd><dt class="label">page-sequence-master</dt><dd><p>The <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> specifies sequences of page-masters
that are used when generating a sequence of pages.
</p></dd><dt class="label">page-sequence-wrapper</dt><dd><p>The <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> formatting object is used to specify
inherited properties for a group of <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting objects.
It has no additional formatting semantics.</p></dd><dt class="label">region-after</dt><dd><p>This region defines
a viewport that is located on the "after" side of <a href="#fo_region-body" class="el">fo:region-body</a>
region.</p></dd><dt class="label">region-before</dt><dd><p>This region defines
a viewport that is located on the "before" side of <a href="#fo_region-body" class="el">fo:region-body</a>
region.</p></dd><dt class="label">region-body</dt><dd><p>This region specifies a
viewport/reference pair that is located in the "center" of the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>.</p></dd><dt class="label">region-end</dt><dd><p>This region defines
a viewport that is located on the "end" side of <a href="#fo_region-body" class="el">fo:region-body</a> region.</p></dd><dt class="label">region-name-specifier</dt><dd><p>The <a href="#fo_region-name-specifier" class="el">fo:region-name-specifier</a>
is used to specify one region in a target-list.</p></dd><dt class="label">region-start</dt><dd><p>This region defines
a viewport that is located on the "start" side of <a href="#fo_region-body" class="el">fo:region-body</a>
region.</p></dd><dt class="label">repeatable-page-master-alternatives</dt><dd><p>An
<a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a>
specifies a sub-sequence consisting of
repeated instances of a set of alternative page-masters.
The number of repetitions may be bounded or
potentially unbounded.</p></dd><dt class="label">repeatable-page-master-reference</dt><dd><p>An
<a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>
specifies a sub-sequence consisting of
repeated instances of a single page-master. The number of repetitions
may be bounded or potentially unbounded.</p></dd><dt class="label">retrieve-marker</dt><dd><p>The <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> is used in
conjunction with <a href="#fo_marker" class="el">fo:marker</a> to produce running headers or footers.</p></dd><dt class="label">retrieve-table-marker</dt><dd><p>The <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> is used in conjunction with <a href="#fo_marker" class="el">fo:marker</a> to
produce table-headers and table-footers whose content can change over
different pages, different regions or different columns.</p></dd><dt class="label">root</dt><dd><p>The <a href="#fo_root" class="el">fo:root</a> node is the top node of an XSL result tree.
This tree is composed of formatting objects.</p></dd><dt class="label">scaling-value-citation</dt><dd><p>The <a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a> is used to obtain the
scale-factor applied to the cited <a href="#fo_external-graphic" class="el">fo:external-graphic</a>.</p></dd><dt class="label">simple-page-master</dt><dd><p>The <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> is used in the generation of pages and
specifies the geometry of the page. The page is subdivided into
regions.</p></dd><dt class="label">single-page-master-reference</dt><dd><p>An <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a> specifies a sub-sequence consisting
of a single instance of a single page-master.</p></dd><dt class="label">static-content</dt><dd><p>The
<a href="#fo_static-content" class="el">fo:static-content</a> formatting object holds a sequence or a
tree of
formatting objects that is to be presented in a single
region
or repeated in like-named regions on one or more pages in the page-sequence.
Its common use is for repeating or running headers and footers. </p></dd><dt class="label">table</dt><dd><p>The <a href="#fo_table" class="el">fo:table</a> flow object is used for formatting the
tabular material
of a table.</p></dd><dt class="label">table-and-caption</dt><dd><p>The <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> flow object is used for
formatting a table
together with its caption.</p></dd><dt class="label">table-body</dt><dd><p>The <a href="#fo_table-body" class="el">fo:table-body</a> formatting object is used to contain
the content
of the table body.</p></dd><dt class="label">table-caption</dt><dd><p>The <a href="#fo_table-caption" class="el">fo:table-caption</a> formatting object
is used to contain block-level formatting objects containing
the caption for the table only when using the <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>. </p></dd><dt class="label">table-cell</dt><dd><p>The <a href="#fo_table-cell" class="el">fo:table-cell</a> formatting object is used to group
content to be
placed in a table cell.</p></dd><dt class="label">table-column</dt><dd><p>The <a href="#fo_table-column" class="el">fo:table-column</a> formatting object specifies
characteristics
applicable to table cells that have the same column and span.</p></dd><dt class="label">table-footer</dt><dd><p>The <a href="#fo_table-footer" class="el">fo:table-footer</a> formatting object is used to contain
the content
of the table footer.</p></dd><dt class="label">table-header</dt><dd><p>The <a href="#fo_table-header" class="el">fo:table-header</a> formatting object is used to contain
the content
of the table header.</p></dd><dt class="label">table-row</dt><dd><p>The <a href="#fo_table-row" class="el">fo:table-row</a> formatting object is used to group
table-cells into
rows.</p></dd><dt class="label">title</dt><dd><p>
The <a href="#fo_title" class="el">fo:title</a> formatting object is used to associate a title with a
given page-sequence. This title may be used by an interactive User Agent to
identify the pages. For example, the content of the <a href="#fo_title" class="el">fo:title</a> can be
formatted and displayed in a "title" window or in a "tool tip".
</p></dd><dt class="label">wrapper</dt><dd><p>The <a href="#fo_wrapper" class="el">fo:wrapper</a> formatting object is used to
specify
inherited properties for a group of formatting objects.
It has no additional formatting semantics.</p></dd></dl></div><div class="div2">
<h3><a name="d2e10122" id="d2e10122"/>6.4 Declarations and Pagination and Layout Formatting Objects</h3><div class="div3">
<h4><a name="pag-intro" id="pag-intro"/>6.4.1 Introduction</h4><p>The root node of the formatting object tree must be an
<a href="#fo_root" class="el">fo:root</a>
formatting object. The children of the <a href="#fo_root" class="el">fo:root</a> formatting object are
an <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>, an optional <a href="#fo_declarations" class="el">fo:declarations</a>,
an optional <a href="#fo_bookmark-tree" class="el">fo:bookmark-tree</a>,
and a sequence of one or more
<a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> and/or <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
and/or <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> elements.
The <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> elements define the geometry and
sequencing of the pages; the children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>s, which
are called <b>flows</b> (contained in <a href="#fo_flow" class="el">fo:flow</a> and
<a href="#fo_static-content" class="el">fo:static-content</a>), provide the content that is distributed
into the pages. The <a href="#fo_declarations" class="el">fo:declarations</a> object is a wrapper for formatting objects
whose content is to be used as a resource to the formatting
process. The process of generating the pages is done automatically
by the XSL processor formatting the result tree.
</p><p>The children of an <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> are pagination and layout
specifications and flow-map specifications.
There are two types of pagination and layout
specifications: page-masters and page-sequence-masters. Page-masters
have the <a href="#role" class="property">role</a> of describing the intended subdivisions of a page and
the geometry of these subdivisions. Page-sequence-masters have the
<a href="#role" class="property">role</a> of describing the sequence of page-masters that will be used to
generate pages during the formatting of an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.
Flow-maps have the <a href="#role" class="property">role</a> of assigning flows to regions.
</p><div class="div4">
<h5><a name="d2e10191" id="d2e10191"/>6.4.1.1 Page-sequence-masters</h5><p>Each <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> characterizes a set of possible sequences
of page-masters. For any given <a href="#fo_page-sequence" class="el">fo:page-sequence</a>, only one of the
possible set of sequences will be used. The sequence that is used is
any sequence that satisfies the constraints determined by
the individual page-masters, the flows which generate pages from the
page-masters, and the <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> itself.
</p><p>The <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> is used to determine which page-masters
are used and in which order. The children of the
<a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> are a sequence of sub-sequence specifications.
The page-masters in a sub-sequence may be specified by a reference
to a single page-master or as a repetition of one or more
page-masters. For example, a sequence might begin with several
explicit page-masters and continue with a repetition of some other
page-master (or masters).
</p><p>The <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a> is used to specify a sub-sequence
consisting of a single page-master.
</p><p>There are two ways to specify a sub-sequence that is a repetition. The
<a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> specifies a repetition of a single
page-master. The <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a> specifies
the repetition of a set of page-masters. Which of the alternative
page-masters is used at a given point in the sub-sequence is
conditional and may depend on whether the page number is odd or even,
is the first page, is the last page, or is blank. The
"<a href="#maximum-repeats" class="property">maximum-repeats</a>"
property on the repetition specification controls the number of
repetitions. If this property is not specified, there is no limit on
the number of repetitions.
</p></div><div class="div4">
<h5><a name="d2e10229" id="d2e10229"/>6.4.1.2 Page-masters</h5><p>A page-master is a master that is
used to generate a <b>page</b>. A page is a viewport/reference
pair in which the viewport-area is a child of the area tree
root. A <b>page-viewport-area</b> is defined to be the viewport-area of a
page, and a <b>page-area</b> is defined to be the unique child of a
page-viewport-area.
</p><p>
The page-viewport-area is defined by the output medium; the page-area
holds the page contents and has the effect of positioning the page
contents on the output medium.
</p><p>A single page-master may be used multiple times. Each time it is used
it generates a single page; for example, a page-master that is
referenced from an <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> will be used
by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> to generate
one page for each occurrence of the reference in the specified
sub-sequence.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>When pages are used with a User Agent such as a Web
browser, it is common that the each document has only one
page. The
viewport used to view the page determines the <a href="#size" class="property">size</a> of the page. When
pages are placed on non-interactive media, such as sheets of paper,
pages correspond to one or more of the surfaces of the paper. The <a href="#size" class="property">size</a>
of the paper determines the <a href="#size" class="property">size</a> of the page.</p></div><p>In this specification, there is only one kind of page-master, the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. Future versions of this specification may add
additional kinds of page-masters.
</p><p>An <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> has, as children, specifications for one or more
regions.
</p><p>A region specification is used as a master, the <b>region-master</b>,
in generating a viewport/reference pair consisting of a
<b>region-viewport-area</b> and a <b>region-reference-area</b>.
The region-viewport-area is always a child
of a page-area generated using the parent of the region-master.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The regions on the page are analogous to "frames" in an
HTML document. Typically, at least one of these regions is of
indefinite length in one of its dimensions. For languages with a lr-tb
(or rl-tb) <a href="#writing-mode" class="property">writing-mode</a>, this region is typically of indefinite length
in the top-to-bottom direction. The viewport represents the
visible
part of the frame. The flows assigned to the region are viewed by scrolling
the region reference-area through the viewport.
</p></div><p>Each region is defined by a region formatting object. Each
region formatting object has a name and a definite position. In
addition, the region's <a href="#height" class="property">height</a> or <a href="#width" class="property">width</a> is fixed and the other
dimension may be either fixed or indefinite. For example, a region
that is the body of a Web page may have indefinite height.
</p><p>The specification of the region determines the <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of
region-viewport-areas generated using the region formatting object.
The positioning of the viewport is relative to its page-area parent.
</p><p>For version 1.1 of this Recommendation, a page-master will
consist of the following regions: "region-body" (one or more)
and four other regions,
one on each side of the body. To allow the side regions to correspond
to the current <a href="#writing-mode" class="property">writing-mode</a>, these regions are named "region-before"
(which corresponds to "header" in the "lr-tb" <a href="#writing-mode" class="property">writing-mode</a>),
"region-after" (which corresponds to "footer" in the "lr-tb"
<a href="#writing-mode" class="property">writing-mode</a>), "region-start" (which corresponds to a "left-sidebar"
in the "lr-tb" <a href="#writing-mode" class="property">writing-mode</a>) and "region-end" (which corresponds
to a "right-sidebar" in the "lr-tb" <a href="#writing-mode" class="property">writing-mode</a>). It is
expected that a future version of the Recommendation will introduce a
mechanism that allows a page-master to contain an arbitrary number of
arbitrarily sized and positioned regions.</p><p>Some types of region have conditional sub-regions associated with them, and the
associated region-reference-areas are divided up by having child areas
corresponding to the sub-regions, including a "main-reference-area" for
the region.
For region-masters to which
the <a href="#column-count" class="property">column-count</a> property applies,
the main-reference-area is further subdivided by having child-areas
designated as "span-reference-areas" whose number depends upon the
number of spans (i.e. block-areas with <a href="#span" class="property">span</a>="all")
occurring on the page. These in turn are subdivided by having
child-areas designated as "normal-flow-reference-areas",
whose number depends on the number of columns specified.</p></div><div class="div4">
<h5><a name="d2e10334" id="d2e10334"/>6.4.1.3 Page Generation</h5><p>
Pages are generated by the formatter's processing of <a href="#fo_page-sequence" class="el">fo:page-sequence</a>s.
As noted above, each page is a viewport/reference pair in which the
viewport-area is a child of the area tree root. Each page is generated using
a page-master to define the region-viewport-areas
and region-reference-areas that correspond to the regions specified by
that page-master.
</p><p>Each <a href="#fo_page-sequence" class="el">fo:page-sequence</a> references either an <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> or
a page-master. If the reference is to a page-master, this is
interpreted as if it were a reference to an <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a>
that repeats the referenced page-master an unbounded number of
times. An <a href="#fo_page-sequence" class="el">fo:page-sequence</a> references a page-master if
either the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> directly references the page-master via
the "<a href="#master-reference" class="property">master-reference</a>" property or that property references an
<a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> that references the page-master.
</p></div><div class="div4">
<h5><a name="fafm" id="fafm"/>6.4.1.4 Flows and Flow Mapping</h5><p>There are two kinds of <b>flows</b>: <a href="#fo_static-content" class="el">fo:static-content</a> and <a href="#fo_flow" class="el">fo:flow</a>. An
<a href="#fo_static-content" class="el">fo:static-content</a> flow holds content, such as the text that goes
into headers and footers, that is repeated on many of the pages. An
<a href="#fo_flow" class="el">fo:flow</a> flow holds content that is distributed across a sequence of
pages. The processing of the <a href="#fo_flow" class="el">fo:flow</a> flows is what determines how many
pages are generated to hold the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>. The
<a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> is used as the generator of the sequence of
page-masters into which the flow children content is distributed.
</p><p>The children of a flow are a sequence of block-level flow objects.
Each flow has a name that is given by its "<a href="#flow-name" class="property">flow-name</a>" property.
No two flows that are children of the same <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
may have the same name.</p><p>The assignment of flows to regions on a page-master is determined by
a <b>flow-map</b>. The flow-map is an association
between the flow children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> and regions defined
within the page-masters referenced by that <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.
</p><p>Flow-maps are specified by <a href="#fo_flow-map" class="el">fo:flow-map</a> formatting
objects. An <a href="#fo_page-sequence" class="el">fo:page-sequence</a> uses the flow-map
indicated by its <a href="#flow-map-reference" class="property">flow-map-reference</a> property when
assigning its flows to regions. If the
<a href="#flow-map-reference" class="property">flow-map-reference</a> property is not specified for the
page-sequence then the implicit flow-map is used for
that page-sequence, as in version 1.0
of this Recommendation. The "<a href="#flow-name" class="property">flow-name</a>" property of a flow specifies to
which region that flow is assigned. Each region has a "<a href="#region-name" class="property">region-name</a>"
property. The flow-map assigns a flow to the region that has the same
name.</p><p>To avoid requiring users to generate region-names, the regions all have
default values for the "<a href="#region-name" class="property">region-name</a>" property. The region-body,
region-before, region-after, region-start, and region-end have the
default names "xsl-region-body", "xsl-region-before",
"xsl-region-after", "xsl-region-start", and "xsl-region-end",
respectively. It is an error for a page master to have two region-body
descendants with the default region-name.</p><p>In addition, an <a href="#fo_static-content" class="el">fo:static-content</a> formatting object may have a
"<a href="#flow-name" class="property">flow-name</a>" property value of "xsl-before-float-separator" or
"xsl-footnote-separator". If a conditional sub-region of the region-body
is used to generate a reference-area on a particular page, the
<a href="#fo_static-content" class="el">fo:static-content</a> whose name corresponds to the conditional sub-region
shall be formatted into the reference-area associated with the
sub-region, as specified in
<a href="#pg-out-of-line"><b>6.12.1.3 Conditional Sub-Regions</b></a>.</p></div><div class="div4">
<h5><a name="d2e10454" id="d2e10454"/>6.4.1.5 Constraints on Page Generation</h5><p>The areas that are descendants of a page-area are constrained by the
page-master used to generate the page-area and the flows that are assigned
to the regions specified on the page-master.
For <a href="#fo_flow" class="el">fo:flow</a> flows, the areas generated by the descendants of the flow
are distributed across the pages in the sequence according to the
flow-map in effect for that page-sequence.
For <a href="#fo_static-content" class="el">fo:static-content</a>
flows, the processing of the flow is repeated for each page generated
using a page-master having the region to which the flow is assigned
with two exceptions:
for an <a href="#fo_static-content" class="el">fo:static-content</a> with a <span class="trait">flow-name</span> of
<code>xsl-before-float-separator</code>, the processing
is repeated only for those page-reference-areas which have descendant
areas with an area-class of <code>xsl-before-float</code>,
and for an <a href="#fo_static-content" class="el">fo:static-content</a> with a <span class="trait">flow-name</span> of
<code>xsl-footnote-separator</code>, the processing
is repeated only for those page-reference-areas which have descendant
areas with an area-class of <code>xsl-footnote</code>.</p></div><div class="div4">
<h5><a name="d2e10490" id="d2e10490"/>6.4.1.6 Pagination Tree Structure</h5><p>The result tree structure is shown below.</p><div style="margin-left: 3em;">
<img src="figures/PageTree.gif" alt="A conceptual tree representation of the structure of Formatting Objects in a document." title="Tree representation of the Formatting Objects for pagination"/>
<p><b>Figure 26. </b>Tree Representation of the Formatting Objects for Pagination</p>
</div></div><div class="div4">
<h5><a name="d2e10503" id="d2e10503"/>6.4.1.7 Example Flow Maps</h5><p>A typical use of flow maps are where there are two or more flows
that each, independently of each other, flow into separate regions
on the pages. Another one is when the flow is flowed from one region
into another region on the same page and continuing onto further pages.
A third use is when two or more flows are "concatenated";
each flow beginning where the previous one ends.</p><div class="div5">
<h6><a name="d2e10511" id="d2e10511"/>6.4.1.7.1 Two flows mapping into their own regions</h6><div style="margin-left: 3em;">
<img src="figures/arbs.gif" alt="This figure shows two flows; flow A mapped to region R, and flow B mapped to region S." title="A-&gt;R; B-&gt;S"/>
<p><b>Figure 27. </b>Mapping flow A to region R, flow B to region S</p>
</div><p>In this case the flows are specified as:</p><div class="exampleInner"><pre>
&lt;fo:flow flow-name="A"&gt;
&lt;fo:block&gt;In the second century of
the Christian Aera, the empire of Rome ... &lt;/fo:block&gt;
&lt;/fo:flow&gt;
</pre></div><p>and</p><div class="exampleInner"><pre>
&lt;fo:flow flow-name="B"&gt;
&lt;fo:block&gt;Quo usque tandem abutere, Catilina, patientia nostra? ...
&lt;/fo:block&gt;
&lt;/fo:flow&gt;
</pre></div><p>The regions are specified with <code>region-name="R"</code>
and <code>region-name="S"</code>, respectively, and the
flow map is specified as follows:</p><div class="exampleInner"><pre>
&lt;fo:flow-map flow-map-name="E1"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="B"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="S"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e10540" id="d2e10540"/>6.4.1.7.2 A flow mapping into two regions</h6><div style="margin-left: 3em;">
<img src="figures/ar1r2.gif" alt="This figure shows one flow mapped to regions R1 and R2." title="A-&gt;R1,R2"/>
<p><b>Figure 28. </b>Mapping flow A to regions R1 and R2</p>
</div><p>In this case the flow map is specified as follows:</p><div class="exampleInner"><pre>
&lt;fo:flow-map flow-map-name="E2"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R1"/&gt;
&lt;fo:region-name-specifier region-name-reference="R2"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e10555" id="d2e10555"/>6.4.1.7.3 Two flows mapping into a region</h6><div style="margin-left: 3em;">
<img src="figures/abr.gif" alt="This figure shows two flows, A and B, mapped to region R." title="A,B-&gt;R"/>
<p><b>Figure 29. </b>Mapping flows A and B to region R</p>
</div><p>In this case the flow map is specified as follows:</p><div class="exampleInner"><pre>
&lt;fo:flow-map flow-map-name="E3"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;fo:flow-name-specifier flow-name-reference="B"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e10570" id="d2e10570"/>6.4.1.7.4 Two flows mapping into two regions</h6><div style="margin-left: 3em;">
<img src="figures/abr1r2.gif" alt="This figure shows two flows, A and B, mapped to regions R1 and R2." title="A,B-&gt;R1,R2"/>
<p><b>Figure 30. </b>Mapping flows A and B to regions R1 and R2</p>
</div><p>In this case the flow map is specified as follows:</p><div class="exampleInner"><pre>
&lt;fo:flow-map flow-map-name="E4"&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier flow-name-reference="A"/&gt;
&lt;fo:flow-name-specifier flow-name-reference="B"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier region-name-reference="R1"/&gt;
&lt;fo:region-name-specifier region-name-reference="R2"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
</pre></div></div></div><div class="div4">
<h5><a name="initialcaps" id="initialcaps"/>6.4.1.8 Initial Caps</h5><p>Large initial capital letters are often used for the
first paragraph of a new section or chapter. Many scripts
have precise alignment conventions for how the initial
letter should be positioned relative to the text in the
paragraph.</p><p>There are three main types of initial letter.</p><p>The first of these is called a "raised
initial"; it is set in a larger size then the main
text, and space must be left for it in the block
direction. No special support is needed for raised initials,
as an <a href="#fo_inline" class="el">fo:inline</a> can be used with an increased font-size.</p><p>The second sort is a margin initial; it protrudes into
the margin in the inline direction, and is often larger than
the paragraph text. This is treated as a special case of the
third sort of initial capital, because of its vertical
alignment requirements.</p><p>The third sort of initial letter is often called a drop
capital (often abbreviated to "drop cap"). The initial
letter is large enough that it extends in the block
direction to the <em>N</em>th following baseline; the
drop capital in Figure <a href="#fig-initcapfig1">31</a> is
sized such that its baseline aligns with the baseline of the
fourth line of text in the paragraph, and the top aligns
with the cap-height on the first line; this is called a
4-line drop cap.</p><div style="margin-left: 3em;"><div><a name="fig-initcapfig1"/></div>
<img src="figures/decorative-initials.png" alt="A paragraph of text starting with the word Decorative, in which the D is large, and extends down so that its baseline is the same as that of the fourth line of text in the paragraph, and the top of the D is aligned with the tops of the capital letters in the first line of text." title="Example of a 4-line drop cap, showing baseline alignment"/>
<p><b>Figure 31. </b>Sample Paragraph Starting With Four-Line Drop Capital.</p>
</div><div class="note"><p class="prefix"><b>Note:</b></p><p>The height of the letter D is thus one cap-height plus
three line-heights (including vertical spacing); this will
not in general be equal to four times the font size, and
an implementation may need to use an algorithm such as
binary search to discover the correct font size given the
number of lines to span.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>If the line spacing varies over the course of the
paragraph, the resulting size of an initial cap is
implementation dependent: it must either be positioned
using the inherited line spacing where the initial occurs,
or must correctly take into account the varying line
spacing, and align with the appropriate actual line of
text.</p></div></div></div><div class="div3">
<h4><a name="fo_root" id="fo_root"/>6.4.2 fo:root</h4><p><em>Common Usage:</em></p><p>This is the top node of the formatting object
tree. It holds an <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> formatting object,
an optional
<a href="#fo_declarations" class="el">fo:declarations</a>, an optional <a href="#fo_bookmark-tree" class="el">fo:bookmark-tree</a>, and
one or more <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>, <a href="#fo_page-sequence" class="el">fo:page-sequence</a> or
<a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> objects. An
<a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> holds masters used in the document. Each
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> represents a sequence of pages that result
from formatting the content children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>. An
<a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> can also occur as the child of
<a href="#fo_root" class="el">fo:root</a>. An <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> can contain zero or
more <a href="#fo_page-sequence" class="el">fo:page-sequence</a> objects or <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>
objects.
The <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> is used to specify inherited
properties for the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> objects it wraps; it has
no additional formatting semantics.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A document can contain multiple <a href="#fo_page-sequence" class="el">fo:page-sequence</a>s. For
example, each chapter of a document could be a separate
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>; this would allow chapter-specific content,
such as the chapter title, to be placed within a header or footer.</p></div><p><em>Areas:</em></p><p>Page-viewport-areas are returned by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
children of the <a href="#fo_root" class="el">fo:root</a> formatting object. The
<a href="#fo_root" class="el">fo:root</a> does not generate any areas.</p><p><em>Constraints:</em></p><p>The children of the root of the area tree consist solely of, and
totally of, the page-viewport-areas returned by the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> children of the <a href="#fo_root" class="el">fo:root</a>. The set of all
areas returned by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> children is
<b>properly ordered</b>. (See Section <a href="#area-genorder"><b>4.7.1 General Ordering Constraints</b></a>.)
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_layout-master-set">layout-master-set</a>,<a href="#fo_declarations">declarations</a>?,<a href="#fo_bookmark-tree">bookmark-tree</a>?,(<a href="#fo_layout-master-set">layout-master-set</a>|<a href="#fo_page-sequence">page-sequence</a>|<a href="#fo_page-sequence-wrapper">page-sequence-wrapper</a>)+)
</pre></div><p>It is an error if there is not at least one <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
descendant of <a href="#fo_root" class="el">fo:root</a>.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#media-usage"><b>7.28.15 media-usage</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_declarations" id="fo_declarations"/>6.4.3 fo:declarations</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_declarations" class="el">fo:declarations</a> formatting object is used to group global declarations for a stylesheet.</p><p><em>Areas:</em></p><p>The <a href="#fo_declarations" class="el">fo:declarations</a> formatting object does not generate
or return any areas.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_color-profile">color-profile</a>)*
</pre></div><p>The <a href="#fo_declarations" class="el">fo:declarations</a> formatting object may have
additional child elements in a non-XSL namespace. Their presence does not,
however, change the semantics of the XSL namespace objects and properties.
The permitted structure of these non-XSL namespace elements is defined for
their namespace(s).</p></div><div class="div3">
<h4><a name="fo_color-profile" id="fo_color-profile"/>6.4.4 fo:color-profile</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_color-profile" class="el">fo:color-profile</a> formatting object is used to declare
an ICC Color Profile for a stylesheet.
The color-profile is referenced again via the name specified in
the "<a href="#color-profile-name" class="property">color-profile-name</a>" property.
</p><p>The color-profile is identified by the URI specified in the "<a href="#src" class="property">src</a>"
property value. This URI may identify an internally recognized
color-profile or it may point to a ICC Color Profile encoding
that should be loaded and interpreted. </p><p>When the color-profile is referenced (e.g., via the
rgb-icc function <a href="#expr-color-functions"><b>5.10.2 Color Functions</b></a>), the following rules are used:</p><ol class="enumar"><li><p>If the color-profile is available, the color value
identified from the color-profile should be used.</p></li><li><p>If the color-profile is not available,
the sRGB
(<a href="#sRGB">[sRGB]</a>) fallback must be used.</p></li></ol><p><em>Areas:</em></p><p>The <a href="#fo_color-profile" class="el">fo:color-profile</a> formatting object does not generate
or return any areas.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#src"><b>7.31.16 src</b></a><br/><a href="#color-profile-name"><b>7.19.2 color-profile-name</b></a><br/><a href="#rendering-intent"><b>7.19.3 rendering-intent</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-sequence" id="fo_page-sequence"/>6.4.5 fo:page-sequence</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object is used to specify how to
create a (sub-)sequence of pages within a document; for example, a
chapter of a report. The content of these pages comes from flow
children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> as assigned by the flow-map in effect
for that
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>. The layout of these pages comes from
the <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> or page-master
referenced by the <span class="trait">master-reference</span>
trait on the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>. The sequence of areas returned by
each of the flow-object children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> are
made descendants of the generated pages as described below.
</p><p><em>Areas:</em></p><p>The <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object generates a sequence of
viewport/reference pairs, and returns the page-viewport-areas. For
each page-reference-area, and each region specified in the page-master used to
generate that page-reference-area, the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> object also generates
the viewport/reference pair for the occurrence of that region in that
page-reference-area, and may generate a before-float-reference-area,
footnote-reference-area,
and main-reference-area, and one or more normal-flow-reference-areas.
The generation of these further areas is described in the descriptions
of the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>, region-masters and <a href="#fo_flow-map" class="el">fo:flow-map</a>.
It may also generate a title-area.
</p><p>All areas generated by an <a href="#fo_page-sequence" class="el">fo:page-sequence</a> have
area-class "xsl-absolute".</p><p>The page-viewport-areas identify one of the sides as a page binding edge.
This recommendation does not specify the mechanism for selecting
which side is the page binding edge.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the User Agent can determine that the result is to be bound,
then the page binding edge of any given page is the edge on which
that page is intended to be bound.</p><p>Commonly the page binding edge of a page with an odd folio-number is the
start-edge of that page and the binding-edge of a page with an even
folio-number is the end-edge of that page.</p><p>The binding can be a simple as stapling or may be as complex
as producing a book using an imposition scheme.</p></div><p>For each formatting object descendant <var>D</var> under the change bar influence
of a given <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> object <var>F</var> (as defined in
<a href="#fo_change-bar-begin"><b>6.13.2 fo:change-bar-begin</b></a>),
the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> generates a "change bar area"
for each area <var>A</var> returned by <var>D</var>, as a child of the ancestor region-area of
<var>A</var>. Each change bar area is of class xsl-absolute, with zero <a href="#margin" class="property">margin</a> and
<a href="#padding" class="property">padding</a>, with <a href="#border-end-color" class="property">border-end-color</a> given by the <a href="#change-bar-color" class="property">change-bar-color</a> of <var>F</var>, with
<a href="#border-end-style" class="property">border-end-style</a> given by the <a href="#change-bar-style" class="property">change-bar-style</a> of <var>F</var>, with
<a href="#border-end-width" class="property">border-end-width</a> given by the <a href="#change-bar-width" class="property">change-bar-width</a> of <var>F</var>, with inline
progression-dimension equal to zero and <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
equal to the dimension of <var>A</var> parallel to the <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the region-area.</p><p>The change bar area is positioned to be adjacent to the nearest ancestor
area <var>C</var> of <var>A</var> which is either a normal-flow-reference-area or
region-reference-area. The change bar area is aligned with <var>A</var> and lies
away from <var>C</var> by a distance given by the <a href="#change-bar-offset" class="property">change-bar-offset</a> of <var>F</var>, with
respect to the start-edge or the end-edge of <var>C</var> as determined by the
<a href="#change-bar-placement" class="property">change-bar-placement</a> trait of <var>F</var>.</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> and <span class="trait">writing-mode</span>
of the region-viewport-areas
are determined by the values of the "<a href="#reference-orientation" class="property">reference-orientation</a>" and
"<a href="#writing-mode" class="property">writing-mode</a>" properties of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The value may be given as an explicit value
or the from-page-master-region function may be used to obtain the value
specified on the layout formatting object being used to generate
the region viewport/reference area pair.</p></div><p><em>Constraints:</em></p><p>Each page-viewport-area/page-reference-area pair is generated using a
page-master that satisfies the constraints of the page-sequence-master
identified by the <span class="trait">master-reference</span> trait of the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> or a page-master that was directly identified by the
<span class="trait">master-reference</span> trait. The
region-viewport-area children of such a page-reference-area must correspond
to the regions that are children of that page-master.
</p><p>The areas generated by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> have as their
descendants the areas returned by the flows that are children of the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><p>
The areas returned to the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> by a flow must satisfy five
types of constraints:</p><ul><li><p><em>Completeness</em>. All areas returned by formatting object
descendants of the flow children of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
become descendants of areas generated by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
with the exception of glyph-areas subject to deletion or substitution as in Sections
<a href="#area-linebuild"><b>4.7.2 Line-building</b></a> and <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.
</p></li><li><p><em>Flow-map association</em>. The areas returned from a
flow child of the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> must be descendants of region-reference-areas generated
using regions to which the flow is assigned by the flow-map in effect.</p><p>Areas returned from an <a href="#fo_static-content" class="el">fo:static-content</a> with a <span class="trait">flow-name</span>
of <code>xsl-before-float-separator</code>
become children of the
before-float-reference-area of an area associated to an <a href="#fo_region-body" class="el">fo:region-body</a>,
following all sibling areas of area-class
<code>xsl-before-float</code>. Areas
returned from an <a href="#fo_static-content" class="el">fo:static-content</a> with a <span class="trait">flow-name</span> of
<code>xsl-footnote-separator</code> become children of
the footnote-reference-area of an area associated to an <a href="#fo_region-body" class="el">fo:region-body</a>,
preceding all sibling areas of
area-class <code>xsl-footnote</code>.</p><p>If the <a href="#flow-map-reference" class="property">flow-map-reference</a> is specified, the flow-map in effect is the closest preceding
<a href="#fo_flow-map" class="el">fo:flow-map</a> (this is a child of a preceding <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>)
having a <a href="#flow-map-name" class="property">flow-map-name</a> matching the specified value of
<a href="#flow-map-reference" class="property">flow-map-reference</a> on the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>. If the <a href="#flow-map-reference" class="property">flow-map-reference</a>
is not specified, the flow-map in effect is the implicit flow-map
shown in <a href="#fo_flow-map"><b>6.4.31 fo:flow-map</b></a>.</p></li><li><p><em>Area-class association</em>. Areas returned by
flow children of an <a href="#fo_page-sequence" class="el">fo:page-sequence</a> are distributed as follows:</p><ul><li><p>All areas of area-class <code>xsl-footnote</code>,
and all areas returned from an <a href="#fo_static-content" class="el">fo:static-content</a> with a <a href="#flow-name" class="property">flow-name</a> of
<code>xsl-footnote-separator</code>,
must be descendants of a footnote-reference-area;
</p></li><li><p>all areas of area-class <code>xsl-before-float</code>,
and all areas returned from an <a href="#fo_static-content" class="el">fo:static-content</a> with a <a href="#flow-name" class="property">flow-name</a> of
<code>xsl-before-float-separator</code>,
must be descendants of a before-float-reference-area;
</p></li></ul><p>all other areas must be descendants of a region-reference-area and
further they must be descendants of a main-reference-area child of
that region-reference-area if it has one.</p></li><li><p><em>Stacking</em>. The stackable areas of a given class returned
by children of each flow are properly stacked within the appropriate reference-area,
as described above.</p></li><li><p><em>Flow-assignment ordering</em>.
The default ordering constraint of
<a href="#area-genorder"><b>4.7.1 General Ordering Constraints</b></a>
does not apply to the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.
The default ordering constraint applies to the flow object children
inside each <a href="#fo_flow" class="el">fo:flow</a>; special ordering constraints apply to the
child <a href="#fo_static-content" class="el">fo:static-content</a> objects.</p><p>If the flow-map in effect for a page-sequence has a
flow-assignment child with flow-source-list <var>S</var> and
flow-target-list <var>T</var> and the child flow-name-specifiers
of <var>S</var> have <a href="#flow-name-reference" class="property">flow-name-reference</a> values
<var>F</var><sub>1</sub>,...,<var>F</var><sub>m</sub>, and
the child region-name-specifiers of <var>T</var> have
<a href="#region-name-reference" class="property">region-name-reference</a> values
<var>R</var><sub>1</sub>,...,<var>R</var><sub>n</sub>,
then for each area-class <var>C</var>, the areas returned to
the page-sequence belonging to that class have the
same order in the area tree (relative to the region ordering)
as their generating formatting objects (relative to the flow ordering).
That is, if <var>A</var> and <var>B</var> are areas of
area-class <var>C</var> and either <var>A</var> and <var>B</var>
are returned by the same flow with <var>A</var>
returned prior to <var>B</var>, or <var>A</var>
and <var>B</var> are returned by flows
with <a href="#flow-name" class="property">flow-name</a> values <var>F</var><sub>i</sub>
and <var>F</var><sub>j</sub>, respectively,
for some <var>i</var> and <var>j</var> such that
<var>i</var>&lt;<var>j</var>, then one of
the following conditions must hold:</p><ul><li><p>the ancestor page-reference-area of <var>A</var>
precedes the ancestor page-reference-area of <var>B</var>, or</p></li><li><p><var>A</var> and <var>B</var> share the same ancestor
page-reference-area, <var>A</var> is a descendant of a
region-reference-area generated using
a region whose <a href="#region-name" class="property">region-name</a> value is <var>R</var><sub>k</sub>
and <var>B</var> is a descendant of a region-reference-area generated
using a region whose <a href="#region-name" class="property">region-name</a> value is
<var>R</var><sub>l</sub> for some
<var>k</var> and <var>l</var> such that <var>k</var>&lt;<var>l</var>, or</p></li><li><p><var>A</var> and <var>B</var> are descendants of the same
region-reference-area and <var>A</var> precedes <var>B</var> in the
pre-order-tree traversal of the area tree.</p></li></ul></li></ul><p>If a title-area is generated the following constraints must be
satisfied:</p><ul><li><p><em>Completeness</em>. All areas returned by formatting object
descendants of the <a href="#fo_title" class="el">fo:title</a> child of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
become descendants of the title-area generated by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
with the exception of glyph-areas subject to deletion or substitution as in Sections
<a href="#area-linebuild"><b>4.7.2 Line-building</b></a> and <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.
</p></li><li><p><em>Stacking</em>. The areas returned
by children of the <a href="#fo_title" class="el">fo:title</a> are properly stacked within the title-area.</p></li></ul><p>The default ordering constraint of section <a href="#area-genorder"><b>4.7.1 General Ordering Constraints</b></a>
does apply to the <a href="#fo_title" class="el">fo:title</a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_title">title</a>?,<a href="#fo_folio-prefix">folio-prefix</a>?,<a href="#fo_folio-suffix">folio-suffix</a>?,<a href="#fo_static-content">static-content</a>*,<a href="#fo_flow">flow</a>+)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#country"><b>7.10.1 country</b></a><br/><a href="#flow-map-reference"><b>7.28.7 flow-map-reference</b></a><br/><a href="#format"><b>7.27.1 format</b></a><br/><a href="#language"><b>7.10.6 language</b></a><br/><a href="#letter-value"><b>7.27.4 letter-value</b></a><br/><a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a><br/><a href="#grouping-size"><b>7.27.3 grouping-size</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#initial-page-number"><b>7.28.11 initial-page-number</b></a><br/><a href="#force-page-count"><b>7.28.10 force-page-count</b></a><br/><a href="#master-reference"><b>7.28.13 master-reference</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-sequence-wrapper" id="fo_page-sequence-wrapper"/>6.4.6 fo:page-sequence-wrapper</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> formatting object is used to specify
inherited properties for a group of <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting objects.</p><p><em>Areas:</em></p><p>The <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> formatting object does not generate
any areas. The <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> formatting object returns
the sequence of areas created by concatenating the sequences of areas
returned by each of the children of the <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>.</p><p><em>Trait Derivation:</em></p><p>Except for "<a href="#id" class="property">id</a>", "<a href="#index-class" class="property">index-class</a>", and "<a href="#index-key" class="property">index-key</a>",
the <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> has no properties
that are directly used by it. However, it does serve as a carrier to
hold inheritable properties that are utilized by its children.</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> is the same order as
the children are ordered under the <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>.
An <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> that contains no <a href="#fo_page-sequence" class="el">fo:page-sequence</a> objects
as descendants returns no areas.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Because an <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a> that contains no
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> objects as descendants returns no areas, any <a href="#id" class="property">id</a>,
<a href="#index-key" class="property">index-key</a>, or <a href="#index-class" class="property">index-class</a> property on such an <a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>
is ignored; the result would be as if they were not assigned on this FO.
In particular, any attempt to refer to this <a href="#id" class="property">id</a> would result in the
same action as if this <a href="#id" class="property">id</a> were never declared within
the FO result tree.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_layout-master-set">layout-master-set</a>|<a href="#fo_page-sequence">page-sequence</a>|<a href="#fo_page-sequence-wrapper">page-sequence-wrapper</a>)*
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_layout-master-set" id="fo_layout-master-set"/>6.4.7 fo:layout-master-set</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> is a wrapper around masters used in the
document. This includes page-sequence-masters, page-masters, and
flow-maps.</p><p><em>Areas:</em></p><p>The <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> formatting object generates no area directly.
The masters that are the children of the <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> are
used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> to generate pages.</p><p><em>Constraints:</em></p><p>The value of the <span class="trait">master-name</span> trait on each
child of the <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a> must be unique within the set.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_simple-page-master">simple-page-master</a>|<a href="#fo_page-sequence-master">page-sequence-master</a>|<a href="#fo_flow-map">flow-map</a>)+
</pre></div></div><div class="div3">
<h4><a name="fo_page-sequence-master" id="fo_page-sequence-master"/>6.4.8 fo:page-sequence-master</h4><p><em>Common Usage:</em></p><p>
The <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> is used to specify the constraints on and
the order in which a given set of page-masters will be used in
generating a sequence of pages. Pages are automatically generated when
the <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> is used in formatting an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>There are several ways of specifying a potential
sequence of pages. One can specify a sequence of references to
particular page-masters. This yields a bounded sequence of potential
pages. Alternatively, one can specify a repeating sub-sequence of one
or more page-masters. This sub-sequence can be bounded or
unbounded. Finally one can intermix the two kinds of sub-sequence-specifiers.
</p></div><p><em>Areas:</em></p><p>The <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> formatting object generates no area directly.
It is used by the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object to generate pages.
</p><p><em>Constraints:</em></p><p>The children of the <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> are a sequence of
<b>sub-sequence-specifiers</b>. A page-sequence
satisfies the constraint
determined by an <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> if
(a) it can be partitioned
into a sequence of sub-sequences of pages that map one-to-one
to an initial sub-sequence of the sequence of
sub-sequence-specifiers that are the
children of the
<a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> and, (b) for each sub-sequence of pages
in the partition, that
sub-sequence satisfies the constraints of the corresponding
sub-sequence-specifier.
The
sequence of sub-sequences of pages can be shorter than the sequence of
sub-sequence-specifiers.
</p><p>It is an error if the entire sequence of sub-sequence-specifiers children is
exhausted while some areas returned by an <a href="#fo_flow" class="el">fo:flow</a> are not placed. Implementations
may recover, if possible, by re-using the sub-sequence-specifier that was last
used to generate a page.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_single-page-master-reference">single-page-master-reference</a>|<a href="#fo_repeatable-page-master-reference">repeatable-page-master-reference</a>|<a href="#fo_repeatable-page-master-alternatives">repeatable-page-master-alternatives</a>)+
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#master-name"><b>7.28.12 master-name</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_single-page-master-reference" id="fo_single-page-master-reference"/>6.4.9 fo:single-page-master-reference</h4><p><em>Common Usage:</em></p><p>An <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a> is the
simplest sub-sequence-specifier. It specifies a sub-sequence consisting
of a single instance of a single page-master. It is used to specify
the use of a particular page-master at a given point in the sequence
of pages that would be generated using the <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a>
that is the parent of the <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a>.
</p><p><em>Areas:</em></p><p>The <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a> formatting object generates no area directly.
It is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting
object to generate pages.
</p><p><em>Constraints:</em></p><p>The <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a> has a reference to the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> which has the same <a href="#master-name" class="property">master-name</a> as the
<span class="trait">master-reference</span> trait on the
<a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a>.
</p><p>The sub-sequence of pages mapped to this
sub-sequence-specifier satisfies
the constraints of this sub-sequence-specifier if (a) the
sub-sequence of pages consists of a single page and (b) that page is
constrained to have been generated using the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>
referenced by the <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#master-reference"><b>7.28.13 master-reference</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_repeatable-page-master-reference" id="fo_repeatable-page-master-reference"/>6.4.10 fo:repeatable-page-master-reference</h4><p><em>Common Usage:</em></p><p>An <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> is the next simplest
sub-sequence-specifier. It specifies a sub-sequence
consisting of
repeated instances of a single page-master. The number of repetitions
may be bounded or potentially unbounded.
</p><p><em>Areas:</em></p><p>The <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> formatting object generates no area directly.
It is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object to generate
pages.
</p><p><em>Constraints:</em></p><p>The <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> has a reference to the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> which has the same <a href="#master-name" class="property">master-name</a> as the
<span class="trait">master-reference</span> trait on the
<a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>.
</p><p>The sub-sequence of pages mapped to this
sub-sequence-specifier satisfies
the constraints of this sub-sequence-specifier if (a) the
sub-sequence of pages consists of zero or more pages, (b) each page is
generated using the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>
referenced by the <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>, and (c) length of
the sub-sequence is less than or equal to the value of <span class="trait">maximum-repeats</span>.
</p><p>If no region-master child of the page-master referred to by this
formatting object has a <a href="#region-name" class="property">region-name</a>
associated to any flow in an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>, then the
sub-sequence is constrained to have length zero.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#master-reference"><b>7.28.13 master-reference</b></a><br/><a href="#maximum-repeats"><b>7.28.14 maximum-repeats</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_repeatable-page-master-alternatives" id="fo_repeatable-page-master-alternatives"/>6.4.11 fo:repeatable-page-master-alternatives</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a>
formatting object is the most complex
sub-sequence-specifier. It
specifies a sub-sequence consisting of repeated instances of a set of
alternative page-masters. The number of repetitions may be bounded or
potentially unbounded. The repetitions may also be cyclic. Which
of the alternative page-masters is used
at any point in the sequence depends on the evaluation of a condition
on the use of the alternative.</p><p>Typical conditions include testing
whether the page which is generated using the alternative is:</p><ul><li><p> The first or last page in a page-sequence;</p></li><li><p>Blank</p></li><li><p>The nth page in a page-sequence or a page cycle.</p></li></ul><p>The full set of
conditions allows different page-masters to be used for the first
page, for odd and even pages, for blank pages, etc.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Because the conditions are tested in order from the
beginning of the sequence of children, the last alternative in the
sequence usually has a condition that is always true and this
alternative references the page-master that is used for all pages that
do not receive some specialized layout.
</p></div><p><em>Areas:</em></p><p>The <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a>
formatting object generates no area directly. This formatting object
is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object to generate pages.
</p><p><em>Constraints:</em></p><p>The children of the <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a> are
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>s. These children are called
<b>alternatives</b>.
</p><p>The sub-sequence of pages mapped to this
sub-sequence-specifier satisfies
the constraints of this sub-sequence-specifier if (a) the
sub-sequence of pages consists of zero or more pages, (b) each page is
generated using the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>
referenced by the one of the alternatives that
are the children of the <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a>, (c)
the conditions on that alternative are <code>true</code>, (d) that
alternative is the first alternative in the sequence of children for
which all the conditions are <code>true</code>, and (e) the length
of the sub-sequence is less than or equal to the value of
<span class="trait">maximum-repeats</span>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_conditional-page-master-reference">conditional-page-master-reference</a>+)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#maximum-repeats"><b>7.28.14 maximum-repeats</b></a><br/><a href="#sequence-repeats"><b>7.28.23 sequence-repeats</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_conditional-page-master-reference" id="fo_conditional-page-master-reference"/>6.4.12 fo:conditional-page-master-reference</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> is used to identify a
page-master that is to be used when the conditions on its use are
satisfied. This allows different page-masters to be used, for example,
for even and odd pages, for the first page in a page-sequence,
for the third page in a page-sequence cycle, or for
blank pages. This usage is typical in chapters of a book or report
where the first page has a different layout than the rest of the
chapter and the headings and footings on even and odd pages
may be different as well. Selecting page-masters based on position
within a cycle is typical of bulk-mailed correspondence that is to
be folded into envelopes by a folding machine.
</p><p><em>Areas:</em></p><p>The <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> formatting object generates no area directly.
It is used by
the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object to generate pages.
</p><p><em>Constraints:</em></p><p>The <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> has a reference to the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> which has the same <a href="#master-name" class="property">master-name</a> as
the <span class="trait">master-reference</span> trait on the <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>.
</p><p>There are three traits, <span class="trait">page-position</span>,
<span class="trait">odd-or-even</span>, and <span class="trait">blank-or-not-blank</span> that
specify the
sub-conditions on the use of the referenced page-master. All three
sub-conditions must be <code>true</code> for the condition on the
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> to be <code>true</code>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Since the properties from which these traits
are derived are not inherited and the initial value of
all the properties makes the corresponding
sub-condition <code>true</code>,
only the subset of traits that are
derived from properties with specified values must
have their corresponding sub-condition be <code>true</code>.</p></div><p>The sub-condition corresponding to the <span class="trait">page-position</span>
trait is <code>true</code> if the page generated using the
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> has the specified <a href="#position" class="property">position</a> in the
sequence of pages generated by the referencing page-sequence; namely,
"first", "last",
"only" (both first and last),
"rest" (not first
nor last),
"any" (all of the previous) or a number equal to the page number
(or the number within the page cycle). The <b>referencing
page-sequence</b> is the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> that referenced the
<a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> from which this
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> is a descendant.
</p><p>The sub-condition corresponding to the <span class="trait">odd-or-even</span>
trait is <code>true</code> if the value of the <span class="trait">odd-or-even</span>
trait is "any" or if the value matches the parity of the
page number of the page generated using the
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>.
</p><p>The sub-condition corresponding to the <span class="trait">blank-or-not-blank</span> trait is
<code>true</code>, if (1) the value of the trait is
"not-blank" and the page generated using the
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> has areas generated by descendants of
the <a href="#fo_flow" class="el">fo:flow</a> formatting objects; if (2) the value of the trait is
"blank" and the page generated using the
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> is such that there are
no areas from any <a href="#fo_flow" class="el">fo:flow</a> to be put on that page (e.g.,
(a) to maintain proper page parity due to (i) a <a href="#break-after" class="property">break-after</a>
or <a href="#break-before" class="property">break-before</a> value of "even-page" or "odd-page" or (ii) at the
start or end of the page-sequence or (b) because the
constraints
on the areas generated by descendants of the <a href="#fo_flow" class="el">fo:flow</a> formatting objects would
not be satisfied if they were descendant from this page); or if (3)
the value of the trait is "any".
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A "blank page" is a page generated under (2) of
the sub-condition corresponding to "<a href="#blank-or-not-blank" class="property">blank-or-not-blank</a>"
above. This has nothing to do with whether the page appears
completely blank to the reader.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#master-reference"><b>7.28.13 master-reference</b></a><br/><a href="#page-position"><b>7.28.18 page-position</b></a><br/><a href="#odd-or-even"><b>7.28.16 odd-or-even</b></a><br/><a href="#blank-or-not-blank"><b>7.28.1 blank-or-not-blank</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-master" id="fo_page-master"/>6.4.13 fo:page-master</h4><p><em>Common Usage:</em></p><p>The fo:page-master is used in the generation of pages and
specifies the geometry of the page. The page may be subdivided into
an arbitrary number of regions, each called an fo:region.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The region has similar behaviour to a region-body, this means
that an fo:page-master is formed by an arbitrary number of body-like
regions. Regions are positioned absoulutely into the page and have a
concept of z-index.</p></div><p><em>Areas:</em></p><p>The fo:page-master formatting object generates no area directly.
It is used in the generation of pages by an fo:page-sequence.</p><p>When the fo:page-master is used to generate a page, a
viewport/reference pair is generated, consisting of a
page-viewport-area and a page-reference-area. The page-viewport-area
represents the physical bounds of the output medium. The
page-reference-area represents the portion of the page on which
content is intended to appear; that is, the area inside the page
margins.</p><p>In addition, when the fo:page-master is used to generate a page,
viewport/reference pairs that correspond to the regions that are the
children of the fo:page-master are also generated.</p><div style="margin-left: 3em;"><div><a name="fig-pagemasterfig1"/></div>
<img src="figures/fo-page-master.png" alt="A large shape called Region A is filled with text, and has z-index of zero. A smaller shape, called region B, wholly contained within region A, also contains text (coloured red). Region B has a z-index of 1, so that the text in region A is pushed away from it. If both regions had the same z-index, the text would ovelap. A third region, region C (coloured green) has z-index of 2, and forces the text in the other two regions to avoid it." title="Two shapes, one on top of the other, with the text on the lower shape avoiding the other shape"/>
<p><b>Figure 32. </b>The z-index property. A large shape called Region A is
filled with text, and has z-index of zero. A smaller shape, called
region B, wholly contained within region A, also contains text
(coloured red). Region B has a z-index of 1, so that the text in
region A is pushed away from it. If both regions had the same
z-index, the text would ovelap. A third region, region C (coloured
green) has z-index of 2, and forces the text in the other two regions
to avoid it.</p>
</div><p><em>Trait Derivation:</em></p><p>Same as fo:simple-page-master</p><p><em>Constraints:</em></p><p>Same as fo:simple-page-master</p><p><em>Contents:</em></p><div class="exampleOuter"><div class="exampleInner"><pre>(region)+</pre></div></div><p><em>The following properties apply to this
formatting object:</em></p><p><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a></p><p><a href="#bleed-box"><b>7.22.5
bleed-box</b></a></p><p><a href="#master-name"><b>7.28.12 master-name</b></a></p><p><a href="#page-height"><b>7.28.17 page-height</b></a></p><p><a href="#page-width"><b>7.28.19 page-width</b></a></p><p><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a></p><p><a href="#trim-box"><b>7.22.6
trim-box</b></a></p><p><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></div><div class="div3">
<h4><a name="fo_simple-page-master" id="fo_simple-page-master"/>6.4.14 fo:simple-page-master</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> is used in the generation of pages and
specifies the geometry of the page. The page is subdivided into
regions: one or more region-body, and up to four other regions:
region-before, region-after,
region-start, and region-end.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, if the <span class="trait">writing-mode</span> of the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> is "lr-tb", then these regions
correspond to the body of a document, the header, the footer, the
<a href="#left" class="property">left</a> sidebar, and the <a href="#right" class="property">right</a> sidebar.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The simple-page-master is intended for systems that wish to provide
a simple page layout facility. Future versions of this Recommendation
may support more complex page layouts constructed using the
<a href="#fo_page-master" class="el">fo:page-master</a> formatting object.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> formatting object generates no area directly.
It is used in the generation of pages by an
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.
</p><p>When the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> is used to generate a page, a viewport/reference
pair is generated, consisting of a page-viewport-area and a
page-reference-area. The page-viewport-area represents the
physical bounds of the output medium. The page-reference-area
represents the portion of the page on which content is intended to
appear; that is, the area inside the page margins.
</p><p>In addition, when the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> is used to generate a
page, viewport/reference pairs that correspond to the regions that are the
children of the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> are also generated.
(See the formatting object specifications for
the five regions (<a href="#fo_region-body"><b>6.4.16 fo:region-body</b></a>,
<a href="#fo_region-before"><b>6.4.17 fo:region-before</b></a>,
<a href="#fo_region-after"><b>6.4.18 fo:region-after</b></a>,
<a href="#fo_region-start"><b>6.4.19 fo:region-start</b></a>, and
<a href="#fo_region-end"><b>6.4.20 fo:region-end</b></a>)
for the details on the generation of these areas.)
The "<a href="#writing-mode" class="property">writing-mode</a>" of the page
is used to determine the placement of the five regions on the master.</p><div style="margin-left: 3em;">
<img src="figures/ViewportsToPage-level.gif" alt="Representation of a page, showing the five regions: region-before (top), region-after (bottom), region-start (left) and region-end (right) and region-body (center)." title="Region-viewport-areas"/>
<p><b>Figure 33. </b>Region-viewport-areas</p><p>The spacing between the outer four regions and each <a href="#fo_region-body" class="el">fo:region-body</a> is determined
by subtracting the relevant <span class="trait">extent</span> trait on each outer region
from the "margin-x" property on that <a href="#fo_region-body" class="el">fo:region-body</a>.</p>
</div><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> of the page-reference-area
and <span class="trait">writing-mode</span>
of the page-viewport-area are determined by the formatting object
that generates the area (see <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>).
The <span class="trait">writing-mode</span> of the
page-reference-area is set to the same value as that of
the page-viewport-area.
Reference-orientation does not affect the page-viewport-area and its
<span class="trait">reference-orientation</span> is set to "0".
Borders and <a href="#padding" class="property">padding</a> are not
allowed with a page-reference-area.
The remaining traits on the
page-reference-area are
set according to the normal rules for determining the values of
traits.</p><p><em>Constraints:</em></p><p>When a page-master is used in the generation of a page, the
<span class="trait">block-progression-dimension</span> and <span class="trait">inline-progression-dimension</span> of the
content-rectangle of the page-viewport-area are determined using the
computed values of the
"<a href="#page-height" class="property">page-height</a>" and "<a href="#page-width" class="property">page-width</a>" properties.
For sheet media, the computed values of the
"<a href="#page-height" class="property">page-height</a>" and "<a href="#page-width" class="property">page-width</a>" properties
determine the orientation of the sheet;
"<a href="#page-height" class="property">page-height</a>" is measured from "top" to
"<a href="#bottom" class="property">bottom</a>". For display media, the display window is always
upright; the top of the display screen is "top".</p><p>The traits derived from the "<a href="#margin-top" class="property">margin-top</a>",
"<a href="#margin-bottom" class="property">margin-bottom</a>", "<a href="#margin-left" class="property">margin-left</a>" and
"<a href="#margin-right" class="property">margin-right</a>" properties are used to indent the page-reference-area
content-rectangle from the corresponding edge of the content-rectangle of the
page-viewport-area.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The reference points for the page-viewport-area content-rectangle
are in terms of the "top", "<a href="#bottom" class="property">bottom</a>",
"<a href="#left" class="property">left</a>", and "<a href="#right" class="property">right</a>" rather than
"before-edge", "after-edge",
"start-edge", and "end-edge" because users see the
media relative to its orientation and not relative to the
<span class="trait">writing-mode</span> currently in use.
</p></div><img src="figures/MediaReferenceArea.gif" alt="A page rectangle showing the margins on each side. The outer rectangle is the content-rectangle of the page-viewport-area and the inner rectangle is the content-rectangle of the page-reference-area." title="Margins of a page"/><p>The value of the <span class="trait">folio-number</span> trait on the
first page returned by the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> is constrained to equal the value of the
<span class="trait">initial-page-number</span> trait. The value of the
<span class="trait">folio-number</span>
trait on subsequent pages is constrained to be one greater than the
value on the immediately preceding page.
</p><p>The <span class="trait">format</span>, <span class="trait">letter-value</span>,
<span class="trait">grouping-separator</span>, <span class="trait">grouping-size</span>,
<span class="trait">country</span>, and
<span class="trait">language</span> traits are used to <a href="#format" class="property">format</a> the number into a
string form, as specified in <a href="#XSLT">[XSLT]</a>.
This formatted number is used by the <a href="#fo_page-number" class="el">fo:page-number</a> flow object.
</p><p><em>Constraints applicable to regions:</em></p><p>There are a number of constraints that apply to all the
regions that are specified within a given <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>.
</p><img src="figures/PageAndRegion-bodyWithOrientationOnPage.gif" alt="Two examples of page models. In the first the reference orientations of the media and the page-master are 0. In the second the reference orientation of the page-master is 90. In each case, the margins are labelled with the corresponding relative names." title="Two page model examples"/><p>
If the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the properly stacked
region-reference-area is greater than the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
region-viewport-area that is its parent, then the constraints on
the relationship between the region-viewport-area and the
region-reference-area depend on values of the <span class="trait">overflow</span> trait
on the region-master and the kind of flows
assigned to the region.
</p><p>If all the flows assigned to the corresponding region are
<a href="#fo_static-content" class="el">fo:static-content</a> flow objects, then there is no constraint
on the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the region-reference-area.</p><p>If all the flows assigned to the corresponding region are <a href="#fo_flow" class="el">fo:flow</a> formatting
objects, then</p><ul><li><p>If the value of the <span class="trait">media-usage</span> trait is
<code>paginate</code>,
or the value of the <span class="trait">overflow</span> trait is
<code>visible</code>, <code>hidden</code>, or <code>error-if-overflow</code>,
then the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the region-reference-area is
constrained to be no greater than the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of
the region-viewport-area.</p></li><li><p>If the value of the <span class="trait">media-usage</span> trait is
<code>bounded-in-one-dimension</code> or <code>unbounded</code>,
and the value of the <span class="trait">overflow</span> trait is
<code>scroll</code> or <code>auto</code>,
then there is no constraint on the
<a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the region-reference-area.</p></li></ul><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_region-body">region-body</a>+,<a href="#fo_region-before">region-before</a>?,<a href="#fo_region-after">region-after</a>?,<a href="#fo_region-start">region-start</a>?,<a href="#fo_region-end">region-end</a>?)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#master-name"><b>7.28.12 master-name</b></a><br/><a href="#page-height"><b>7.28.17 page-height</b></a><br/><a href="#page-width"><b>7.28.19 page-width</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-mastertmp" id="fo_page-mastertmp"/>6.4.15 fo:page-master</h4><p><em>Common Usage:</em></p><p>TBD</p></div><div class="div3">
<h4><a name="fo_region-body" id="fo_region-body"/>6.4.16 fo:region-body</h4><p><em>Common Usage:</em></p><p>Used in constructing a simple-page-master. This region specifies a
viewport/reference pair that is located in the "center" of the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. The <span class="trait">overflow</span> trait controls how
much of the underlying region-reference-area is visible; that is, whether
the region-reference-area is clipped by its parent region-viewport-area.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Typically, for paged media and when no explicit flow map is
specified, the areas
returned by the <a href="#fo_flow" class="el">fo:flow</a> formatting object in an
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> are made to be
descendants of a sequence of region-reference-areas that
correspond to
the region-body. These region-reference-areas are all area descendants
of page-areas for which the page-master included an <a href="#fo_region-body" class="el">fo:region-body</a>. If
the <a href="#fo_flow" class="el">fo:flow</a> flow is assigned to some other region, then the areas
returned by the <a href="#fo_flow" class="el">fo:flow</a> are constrained to be descendants of
region-reference-areas generated using the assigned region-master.
</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The body region should be sized and positioned within the
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> so that there is room
for the areas returned by the flow that is assigned to the
<a href="#fo_region-body" class="el">fo:region-body</a> and for any desired side regions, that is,
<a href="#fo_region-before" class="el">fo:region-before</a>, <a href="#fo_region-after" class="el">fo:region-after</a>, <a href="#fo_region-start" class="el">fo:region-start</a> and <a href="#fo_region-end" class="el">fo:region-end</a>'s
that are to be placed on the same page. These side regions are
positioned within the content-rectangle of the page-reference-area. The
margins on the <a href="#fo_region-body" class="el">fo:region-body</a> are used to <a href="#position" class="property">position</a> the region-viewport-area
for the <a href="#fo_region-body" class="el">fo:region-body</a> and to leave space for the other regions that
surround the <a href="#fo_region-body" class="el">fo:region-body</a>.
</p><img src="figures/PageAndRegion-bodyMargins.gif" alt="figure showing the margins of a page and the margins of that page's region-body" title="A close-up of the first case in the previous figure."/><p>
The spacing between the last four regions and the <a href="#fo_region-body" class="el">fo:region-body</a> is
determined by subtracting the relevant <span class="trait">extent</span> trait on
the side regions from the trait that corresponds to the
"margin-<var>x</var>" property on the <a href="#fo_region-body" class="el">fo:region-body</a>.</p></div><p>The <a href="#fo_region-body" class="el">fo:region-body</a> may be also be used to provide multiple
columns. When the <span class="trait">column-count</span> trait is greater than one, then
the region-body will be subdivided into multiple columns.
</p><p><em>Areas:</em></p><p>The <a href="#fo_region-body" class="el">fo:region-body</a> formatting object is used to generate one
region-viewport-area and one region-reference-area whenever an
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> that has an <a href="#fo_region-body" class="el">fo:region-body</a> as a child
is used to
generate a page.
A scrolling mechanism shall be provided, in an implementation-defined
manner, if the value of the
<span class="trait">overflow</span> trait is "scroll".
</p><p>
The <a href="#position" class="property">position</a> and <a href="#size" class="property">size</a> of the region-viewport-area is
specified relative to the content-rectangle of the
page-reference-area generated by <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. The content-rectangle
of the region-viewport-area is indented from the content-rectangle
of the page-reference-area by the values of the "<a href="#margin-top" class="property">margin-top</a>",
"<a href="#margin-bottom" class="property">margin-bottom</a>", "<a href="#margin-left" class="property">margin-left</a>" and "<a href="#margin-right" class="property">margin-right</a>" properties.
The values of the <span class="trait">padding</span>
and <span class="trait">border-width</span> traits must be "0".
</p><p>
The region-reference-area generated using an <a href="#fo_region-body" class="el">fo:region-body</a> is the child
of the region-viewport-area.
The "<a href="#writing-mode" class="property">writing-mode</a>" of the <a href="#fo_region-body" class="el">fo:region-body</a> defines
the column-progression within the region. The inline-progression-direction
is used to determine the stacking <a href="#direction" class="property">direction</a> for columns (and the
default flow order of text from column-to-column).
</p><p>In addition to the viewport/reference pair, when the
region-body is used to
generate areas,
at least one and up to three additional reference-areas are
generated. These reference-areas are the optional
<b>before-float-reference-area</b>,
the optional <b>footnote-reference-area</b>, and the
<b>main-reference-area</b>. The latter reference-area comprises
the space <a href="#left" class="property">left</a> after space is borrowed for the other two
reference-areas. The main-reference-area has no
<a href="#padding" class="property">padding</a>, <a href="#border" class="property">border</a>, or space associated with it.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If there is no before-float-reference-area or footnote-reference-area
child of the region-reference-area, then the content-rectangle of the
main-reference-area is coterminous with the content-rectangle
of the region-reference-area.</p></div><p>The main-reference-area has as its children
a sequence of <b>span-reference-areas</b>.
These are reference-area block-areas with zero <a href="#border" class="property">border</a> and <a href="#padding" class="property">padding</a>,
whose <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> is
equal to that of the main-reference-area,
and which are normally stacked within the main-reference-area.</p><p>Each span-reference-area has one or more reference-area children,
designated as <b>normal-flow-reference-areas</b>.
The number and placement of the children of a span-reference-area
depends on the <span class="trait">column-count</span> trait of the span-reference-area.
In turn, the formatter must generate precisely enough of these
span-reference-areas, and so set their <span class="trait">column-count</span> traits,
that block-areas
returned from the flows with a <span class="trait">span</span> of "all" are children of
span-reference-areas with <span class="trait">column-count</span> equal to 1,
and block-areas returned from the flows with a <span class="trait">span</span> of "none"
are children of span-reference-areas with <span class="trait">column-count</span> equal to
the refined value of the <a href="#column-count" class="property">column-count</a> property of the
associated region-reference-area.</p><p>For each span-reference-area, the number <var>N</var>
of normal-flow-reference-area children is equal to the value of the
<span class="trait">column-count</span> trait.</p><p>It is an error to specify a <span class="trait">column-count</span> other
than 1 if the "<a href="#overflow" class="property">overflow</a>" property has the value "scroll".
An implementation may recover by behaving as if "1" had been specified.</p><p>The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of each of these
normal-flow-reference-areas is determined by subtracting
(<var>N</var>-1) times the <a href="#column-gap" class="property">column-gap</a> trait from the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the
main-reference-area and dividing that result by <var>N</var>.
Using "body-in-size" for the name of the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the span-reference-area and "column-in-size" for the name of the <a href="#size" class="property">size</a>
of the normal-flow-reference-areas in the inline-progression-direction,
the formula is:</p><p>column-in-size = (body-in-size - (<var>N</var> - 1)*<a href="#column-gap" class="property">column-gap</a>)/<var>N</var></p><p>The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the normal-flow-reference-areas
is the same as that of the parent span-reference-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>As noted above, the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
span-reference-area may be less than the <a href="#size" class="property">size</a> of the
region-reference-area if a before-float-reference-area or
footnote-reference-area are present, or if there is more than one
span-reference-area child of the main-reference-area.</p></div><p>The normal-flow-reference-areas are positioned within the
span-reference-area as follows: The first column is positioned
with the before-edge and start-edge of its content-rectangle
coincident with the before-edge and start-edge of the content-rectangle
of the span-reference-area. The content-rectangle of the <var>J</var>th
normal-flow-reference-area child of the span-reference-area
is positioned with its before-edge coincident with the before-edge
of the content-rectangle of the span-reference-area and with is
start-edge at ((<var>J</var>-1)*(column-in-size + <a href="#column-gap" class="property">column-gap</a>))
in the inline-progression-direction.
This results in the end-edge of the content-rectangle of the
<var>N</var>th normal-flow-reference-area being coincident with
the end-edge of the content-rectangle of the span-reference-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the <span class="trait">writing-mode</span> is "rl-tb", the
above description means that the columns are ordered from right-to-left
as would be expected. This follows because the start-edge is on
the <a href="#right" class="property">right</a> in an "rl-tb" writing-mode.</p></div><p>All areas generated by using the <a href="#fo_region-body" class="el">fo:region-body</a> are of area-class "xsl-absolute".</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> and <span class="trait">writing-mode</span>
of the region-viewport-area are determined by the formatting object
that generates the area (see <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>).
The <span class="trait">reference-orientation</span> of the
region-reference-area is set to "0" and is, therefore, the
same as the orientation established by the region-viewport-area.
The <span class="trait">writing-mode</span> of the
region-reference-area is set to the same value as that of
the region-viewport-area.
</p><p>The remaining traits on the
region-viewport-area and region-reference-area are
set according to the normal rules for determining the values of
traits.</p><p>The traits on the span-reference-areas and on the
normal-flow-reference-areas are determined
in the same manner as described in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p><p><em>Constraints:</em></p><p>The constraints applicable to all regions (see
<a href="#fo_simple-page-master"><b>6.4.14 fo:simple-page-master</b></a>) all apply.
</p><p>
The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the region-viewport-area is
determined by the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the
content-rectangle of the page-reference-area minus the values
of the <span class="trait">start-indent</span> and <span class="trait">end-indent</span>
traits of the region-master. The start-edge and end-edge of the
content-rectangle of the region-viewport-area are determined by the
<span class="trait">reference-orientation</span> trait on the page-master.
</p><p>
The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the region-viewport-area is
determined by the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the content-rectangle
for the page-reference-area minus the values of the
<span class="trait">space-before</span> and <span class="trait">space-after</span> traits of
the region-master. The before-edge and after-edge of the content-rectangle
of the region-viewport-area
are determined by the <span class="trait">reference-orientation</span> trait on
the page-master.
</p><p>
The values of the <span class="trait">space-before</span> and
<span class="trait">start-indent</span> traits are used to <a href="#position" class="property">position</a> the
region-viewport-area relative to the before-edge and
start-edge of the content-rectangle of
the page-reference-area.
</p><p>
The constraints on the <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of the region-reference-area
generated using the <a href="#fo_region-body" class="el">fo:region-body</a> are covered in the "Constraints
applicable to regions" section of <a href="#fo_simple-page-master"><b>6.4.14 fo:simple-page-master</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#column-count"><b>7.28.2 column-count</b></a><br/><a href="#column-gap"><b>7.28.3 column-gap</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#region-name"><b>7.28.21 region-name</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_region-before" id="fo_region-before"/>6.4.17 fo:region-before</h4><p><em>Common Usage:</em></p><p>Used in constructing a simple-page-master. This region specifies
a viewport/reference pair that is located on the "before" side of
the page-reference-area.
In lr-tb <a href="#writing-mode" class="property">writing-mode</a>, this region corresponds to
the header
region. The <span class="trait">overflow</span> trait controls how
much of the underlying region-reference-area is visible; that is, whether
the region-reference-area is clipped by its parent region-viewport-area.</p><p><em>Areas:</em></p><p>The <a href="#fo_region-before" class="el">fo:region-before</a> formatting object is used to generate one
region-viewport-area
and one region-reference-area.
</p><p>The values of the <span class="trait">padding</span>
and <span class="trait">border-width</span> traits must be "0".
</p><p>
The before-edge of the content-rectangle of this
region-viewport-area is positioned coincident with the
before-edge of the content-rectangle of the page-reference-area
generated using the parent <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. The <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the region-viewport-area is
determined by the <span class="trait">extent</span> trait on the <a href="#fo_region-before" class="el">fo:region-before</a>
formatting object.</p><p>The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the region-viewport-area is determined by the
<span class="trait">precedence</span> trait on the <a href="#fo_region-before" class="el">fo:region-before</a>. If the value
of the <span class="trait">precedence</span> trait is <code>true</code>, then the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> extends up to the start-edge and
end-edge of the
content-rectangle of the page-reference-area. In this case, the region-before
region-viewport-area acts like a <a href="#float" class="property">float</a> into areas
generated by the region-start and region-end. If the
value of the <span class="trait">precedence</span> trait on the <a href="#fo_region-before" class="el">fo:region-before</a>
is <code>false</code>, then these adjacent regions <a href="#float" class="property">float</a> into the area
generated by the <a href="#fo_region-before" class="el">fo:region-before</a> and the <a href="#extent" class="property">extent</a> of the
<a href="#fo_region-before" class="el">fo:region-before</a> is (effectively) reduced by the incursions of the
adjacent regions.
</p><p>
The region-reference-area lies on a canvas
underneath the region-viewport-area.
</p><p>
The <a href="#size" class="property">size</a> of the region-reference-area depends on the setting of the
<span class="trait">overflow</span> trait on the region. If the value of that
trait
is "auto", "hidden", "error-if-overflow", "paginate",
or "visible" then the <a href="#size" class="property">size</a> of the
reference-area
is the same as the <a href="#size" class="property">size</a> of the viewport. If the value of the
<span class="trait">overflow</span>
trait is "scroll", the <a href="#size" class="property">size</a> of the reference-area is
equal
to the <a href="#size" class="property">size</a> of the viewport in the
inline-progression-direction in the
<span class="trait">writing-mode</span> for the region and has no constraint in the
block-progression-direction (which implies that it grows to
hold the distribution of all the content bound to the region).</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> and <span class="trait">writing-mode</span>
of the region-viewport-area are determined by the formatting object
that generates the area (see <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>).
The <span class="trait">reference-orientation</span> of the
region-reference-area is set to "0" and is, therefore, the
same as the orientation established by the region-viewport-area.
The <span class="trait">writing-mode</span> of the
region-reference-area is set to the same value as that of
the region-viewport-area.
</p><p>The remaining traits on the
region-viewport-area and region-reference-area are
set according to the normal rules for determining the values of
traits.</p><p><em>Constraints:</em></p><p>
The constraints on the <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of the region-reference-area
generated using the <a href="#fo_region-before" class="el">fo:region-before</a> are covered in the "Constraints
applicable to regions" section of <a href="#fo_simple-page-master"><b>6.4.14 fo:simple-page-master</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#extent"><b>7.28.5 extent</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#precedence"><b>7.28.20 precedence</b></a><br/><a href="#region-name"><b>7.28.21 region-name</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_region-after" id="fo_region-after"/>6.4.18 fo:region-after</h4><p><em>Common Usage:</em></p><p>Used in constructing a simple-page-master. This region specifies
a viewport/reference pair that is located on the "after" side of
the page-reference-area.
In lr-tb <a href="#writing-mode" class="property">writing-mode</a>, this region corresponds to
the footer
region. The <span class="trait">overflow</span> trait controls how
much of the underlying region-reference-area is visible; that is, whether
the region-reference-area is clipped by its parent region-viewport-area.
</p><p><em>Areas:</em></p><p>The <a href="#fo_region-after" class="el">fo:region-after</a> formatting object is used to generate one
region-viewport-area
and one region-reference-area.
</p><p>The values of the <span class="trait">padding</span>
and <span class="trait">border-width</span> traits must be "0".
</p><p>
The after-edge of the content-rectangle of this
region-viewport-area is positioned coincident with the
after-edge of the content-rectangle of the page-reference-area
generated using the parent <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. The <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the region-viewport-area is
determined by the <span class="trait">extent</span> trait on the <a href="#fo_region-after" class="el">fo:region-after</a>
formatting object.</p><p>The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the region-viewport-area is determined by the
<span class="trait">precedence</span> trait on the <a href="#fo_region-after" class="el">fo:region-after</a>. If the value
of the <span class="trait">precedence</span> trait is <code>true</code>, then the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> extends up to the start-edge and
end-edge of the
content-rectangle of the page-reference-area. In this case, the region-after
region-viewport-area acts like a <a href="#float" class="property">float</a> into areas
generated by the region-start and region-end. If the
value of the <span class="trait">precedence</span> trait on the <a href="#fo_region-after" class="el">fo:region-after</a>
is <code>false</code>, then these adjacent regions <a href="#float" class="property">float</a> into the area
generated by the <a href="#fo_region-after" class="el">fo:region-after</a> and the <a href="#extent" class="property">extent</a> of the
<a href="#fo_region-after" class="el">fo:region-after</a> is (effectively) reduced by the incursions of the
adjacent regions.
</p><p>
The region-reference-area lies on a canvas
underneath the region-viewport-area.
</p><p>The <a href="#size" class="property">size</a> of the region-reference-area depends on the setting of the
<span class="trait">overflow</span> trait on the region. If the value of that
trait
is "auto", "hidden", "error-if-overflow", "paginate",
or "visible" then the <a href="#size" class="property">size</a> of the
reference-area
is the same as the <a href="#size" class="property">size</a> of the viewport. If the value of the
<span class="trait">overflow</span>
trait is "scroll", the <a href="#size" class="property">size</a> of the reference-area is
equal
to the <a href="#size" class="property">size</a> of the viewport in the
inline-progression-direction in the
<span class="trait">writing-mode</span> for the region and has no constraint in the
block-progression-direction (which implies that it grows to
hold the distribution of all the content bound to the region).</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> and <span class="trait">writing-mode</span>
of the region-viewport-area are determined by the formatting object
that generates the area (see <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>).
The <span class="trait">reference-orientation</span> of the
region-reference-area is set to "0" and is, therefore, the
same as the orientation established by the region-viewport-area.
The <span class="trait">writing-mode</span> of the
region-reference-area is set to the same value as that of
the region-viewport-area.
</p><p>The remaining traits on the
region-viewport-area and region-reference-area are
set according to the normal rules for determining the values of
traits.</p><p><em>Constraints:</em></p><p>
The constraints on the <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of the region-reference-area
generated using the <a href="#fo_region-after" class="el">fo:region-after</a> are covered in the "Constraints
applicable to regions" section of <a href="#fo_simple-page-master"><b>6.4.14 fo:simple-page-master</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#extent"><b>7.28.5 extent</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#precedence"><b>7.28.20 precedence</b></a><br/><a href="#region-name"><b>7.28.21 region-name</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_region-start" id="fo_region-start"/>6.4.19 fo:region-start</h4><p><em>Common Usage:</em></p><p>Used in constructing a simple-page-master. This region specifies
a viewport/reference pair that is located on the "start" side of
the page-reference-area.
In lr-tb <a href="#writing-mode" class="property">writing-mode</a>, this region corresponds to a <a href="#left" class="property">left</a>
sidebar. The <span class="trait">overflow</span> trait controls how
much of the underlying region-reference-area is visible; that is, whether
the region-reference-area is clipped by its parent region-viewport-area.</p><p><em>Areas:</em></p><p>The <a href="#fo_region-start" class="el">fo:region-start</a> formatting object is used to generate one
region-viewport-area
and one region-reference-area.
</p><p>The values of the <span class="trait">padding</span>
and <span class="trait">border-width</span> traits must be "0".
</p><p>
The start-edge of the content-rectangle of this
region-viewport-area is positioned coincident with the
start-edge of the content-rectangle of the page-reference-area
generated using the parent <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the region-viewport-area is
determined by the <span class="trait">extent</span> trait on the <a href="#fo_region-start" class="el">fo:region-start</a>
formatting object.</p><p>The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the region-viewport-area is
determined by the <span class="trait">precedence</span> trait on the
adjacent <a href="#fo_region-before" class="el">fo:region-before</a> and the <a href="#fo_region-after" class="el">fo:region-after</a>, if these exist;
otherwise it is determined as if the value of the <span class="trait">precedence</span>
trait was <code>false</code>.
If the value of the
<span class="trait">precedence</span> trait of the <a href="#fo_region-before" class="el">fo:region-before</a> (or, respectively,
<a href="#fo_region-after" class="el">fo:region-after</a>) is <code>false</code>, then the
<a href="#block-progression-dimension" class="property">block-progression-dimension</a>
extends up to the before- (or, respectively, after-) edge of the
content-rectangle of the page-reference-area. In this case, the
region-start acts like a <a href="#float" class="property">float</a> into areas
generated by the region-before (respectively, the region-after). If
the value of the <span class="trait">precedence</span> trait on the adjacent regions is
<code>true</code>, then these adjacent regions <a href="#float" class="property">float</a> into
the area generated by
the <a href="#fo_region-start" class="el">fo:region-start</a> and the <a href="#extent" class="property">extent</a> of the <a href="#fo_region-start" class="el">fo:region-start</a> is
(effectively) reduced by the incursions of the adjacent regions with
the value of the <span class="trait">precedence</span> trait equal to <code>true</code>.</p><p>The region-reference-area lies on a canvas
underneath the region-viewport-area.
</p><p>The <a href="#size" class="property">size</a> of the region-reference-area depends on the setting of the
<span class="trait">overflow</span> trait on the region. If the value of that
trait
is "auto", "hidden", "error-if-overflow", "paginate",
or "visible" then the <a href="#size" class="property">size</a> of the
reference-area
is the same as the <a href="#size" class="property">size</a> of the viewport. If the value of the
<span class="trait">overflow</span>
trait is "scroll", the <a href="#size" class="property">size</a> of the reference-area is
equal
to the <a href="#size" class="property">size</a> of the viewport in the
inline-progression-direction in the
<span class="trait">writing-mode</span> for the region and has no constraint in the
block-progression-direction (which implies that it grows to
hold the distribution of all the content bound to the region).</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> and <span class="trait">writing-mode</span>
of the region-viewport-area are determined by the formatting object
that generates the area (see <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>).
The <span class="trait">reference-orientation</span> of the
region-reference-area is set to "0" and is, therefore, the
same as the orientation established by the region-viewport-area.
The <span class="trait">writing-mode</span> of the
region-reference-area is set to the same value as that of
the region-viewport-area.
</p><p>The remaining traits on the
region-viewport-area and region-reference-area are
set according to the normal rules for determining the values of
traits.</p><p><em>Constraints:</em></p><p>
The constraints on the <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of the region-reference-area
generated using the <a href="#fo_region-start" class="el">fo:region-start</a> are covered in the "Constraints
applicable to regions" section of <a href="#fo_simple-page-master"><b>6.4.14 fo:simple-page-master</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#extent"><b>7.28.5 extent</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#region-name"><b>7.28.21 region-name</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_region-end" id="fo_region-end"/>6.4.20 fo:region-end</h4><p><em>Common Usage:</em></p><p>Used in constructing a simple-page-master. This region specifies
a viewport/reference pair that is located on the "end" side of
the page-reference-area.
In lr-tb <a href="#writing-mode" class="property">writing-mode</a>, this region corresponds to a <a href="#right" class="property">right</a> sidebar.
The <span class="trait">overflow</span> trait controls how
much of the underlying region-reference-area is visible; that is, whether
the region-reference-area is clipped by its parent region-viewport-area.</p><p><em>Areas:</em></p><p>The <a href="#fo_region-end" class="el">fo:region-end</a> formatting object is used to generate one
region-viewport-area
and one region-reference-area.
</p><p>The values of the <span class="trait">padding</span>
and <span class="trait">border-width</span> traits must be "0".
</p><p>The end-edge of the content-rectangle of this region-viewport-area
is positioned coincident with the end-edge of the content-rectangle of
the page-reference-area generated using the parent
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>. The
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the
region-viewport-area is determined by the <span class="trait">extent</span> trait
on the <a href="#fo_region-end" class="el">fo:region-end</a> formatting object.</p><p>The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
region-viewport-area is determined by the <span class="trait">precedence</span>
trait on the adjacent <a href="#fo_region-before" class="el">fo:region-before</a> and the
<a href="#fo_region-after" class="el">fo:region-after</a>, if these exist; otherwise it is determined
as if the value of the <span class="trait">precedence</span> trait was <code>false</code>. If the value of the
<span class="trait">precedence</span> trait of the <a href="#fo_region-before" class="el">fo:region-before</a> (or,
respectively, <a href="#fo_region-after" class="el">fo:region-after</a>) is <code>false</code>, then the
<a href="#block-progression-dimension" class="property">block-progression-dimension</a> extends up to the
before- (or, respectively, after-) edge of the content-rectangle of
the page-reference-area. In this case, the region-end acts like a
<a href="#float" class="property">float</a> into areas generated by the region-before
(respectively, the region-after). If the value of the
<span class="trait">precedence</span> trait on the adjacent regions is <code>true</code>, then these adjacent regions
<a href="#float" class="property">float</a> into the area generated by the
<a href="#fo_region-end" class="el">fo:region-end</a> and the <a href="#extent" class="property">extent</a> of the
<a href="#fo_region-end" class="el">fo:region-end</a> is (effectively) reduced by the incursions of
the adjacent regions with the value of the <span class="trait">precedence</span>
trait equal to <code>true</code>.</p><p>The region-reference-area lies on a canvas underneath the
region-viewport-area.
</p><p>The <a href="#size" class="property">size</a> of the region-reference-area depends
on the setting of the <span class="trait">overflow</span> trait on the region. If
the value of that trait is "auto", "hidden", "error-if-overflow",
"paginate", or "visible" then the <a href="#size" class="property">size</a> of the
reference-area is the same as the <a href="#size" class="property">size</a> of the
viewport. If the value of the <span class="trait">overflow</span> trait is
"scroll", the <a href="#size" class="property">size</a> of the reference-area is equal
to the <a href="#size" class="property">size</a> of the viewport in the
inline-progression-direction in the <span class="trait">writing-mode</span> for
the region and has no constraint in the block-progression-direction
(which implies that it grows to hold the distribution of all the
content bound to the region).</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">reference-orientation</span> and
<span class="trait">writing-mode</span> of the region-viewport-area are determined
by the formatting object that generates the area (see <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>). The <span class="trait">reference-orientation</span>
of the region-reference-area is set to "0" and is, therefore, the same
as the orientation established by the region-viewport-area. The
<span class="trait">writing-mode</span> of the region-reference-area is set to the
same value as that of the region-viewport-area.
</p><p>The remaining traits on the
region-viewport-area and region-reference-area are
set according to the normal rules for determining the values of
traits.</p><p><em>Constraints:</em></p><p>
The constraints on the <a href="#size" class="property">size</a> and <a href="#position" class="property">position</a> of the region-reference-area
generated using the <a href="#fo_region-end" class="el">fo:region-end</a> are covered in the "Constraints
applicable to regions" section of <a href="#fo_simple-page-master"><b>6.4.14 fo:simple-page-master</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#extent"><b>7.28.5 extent</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#region-name"><b>7.28.21 region-name</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_region" id="fo_region"/>6.4.21 fo:region</h4><p><em>Common Usage:</em></p><p><em>Common Usage:</em></p><p>Used in constructing a page-master, the behavior of each
fo:region is similar to the behavior of fo:region-body of XSL-FO
1.1. A region specifies a viewport/reference pair that is located in
an absoulte position within the fo:page-master. The
"overflow"trait controls how much of the underlying
region-reference-area is visible; that is, whether the
region-reference-area is clipped by its parent
region-viewport-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Typically, for paged media, the areas returned by the
fo:flow formatting object in a <a href="#fo_page-sequence" class="el">fo:page-sequence</a> are made to be
descendants of a sequence of region-reference-areas that correspond
to region-bodies. These region-reference-areas are all area
descendants of page-areas for which the page-master included an
<a href="#fo_region-body" class="el">fo:region-body</a>. If the <a href="#fo_flow" class="el">fo:flow</a> flow is assigned to some other
region, then the areas returned by the fo:flow are constrained to be
descendants of region-reference-areas generated using the assigned
region-master.</p></div><p>The <a href="#fo_region" class="el">fo:region</a> may be divided into multiple columns.
When the <a href="#column-count" class="property">column-count</a> trait is greater than one
the region will be subdivided into multiple columns.</p><p><em>Areas:</em></p><p>Same as <a href="#fo_region-body" class="el">fo:region-body</a></p><p><em>Trait Derivation:</em></p><p>Same as <a href="#fo_region-body" class="el">fo:region-body</a></p><p><em>Constraints:</em></p><p>Same as <a href="#fo_region-body" class="el">fo:region-body</a></p><p><em>Contents:</em></p><div class="exampleOuter"><div class="exampleInner"><pre>(shape-name-specifier,
shape-path-specifier?,
shape-background-specifier*, shape-border-specifier*)
</pre></div></div><p>Example</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:page-master
master-name="only"
page-height="11in" page-width="8.5in"
margin-top="3pt" margin-bottom="3pt"
margin-left="3pt" margin-right="3pt"&gt;
&lt;fo:region
absolute-position="absolute"
top="0.8636in" left="1.125in"
width="6.75in" height="7.75in"
region-name="region_A"
z-index="0"
wrap="shape"
wrap-sides="both"
wrap-path="shape"&gt;
... shape reference specifier(s) ...
&lt;/fo:region&gt;
&lt;fo:region
absolute-position="absolute"
top="1.3in" left="1.4in"
width="3.6in" height="5.4in"
region-name="region_B"
z-index="1"&gt;
... shape reference specifier(s) ...
&lt;/fo:region&gt;
&lt;/fo:page-master&gt;</pre></div></div><p><em>The following properties apply to this
formatting object:</em></p><p> <a href="#common-absolute-position-properties"><b>7.6 Common Absolute Position Properties</b></a></p><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a></p><p><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a></p><p><a href="#common-wrap-properties"><b>7.14 Common Wrap Properties</b></a></p><p><a href="#clip"><b>7.22.1 clip</b></a></p><p><a href="#column-count"><b>7.28.2 column-count</b></a></p><p><a href="#column-gap"><b>7.28.3 column-gap</b></a></p><p><a href="#display-align"><b>7.15.5 display-align</b></a></p><p><a href="#height"><b>7.16.6 height</b></a></p><p><a href="#overflow"><b>7.22.2 overflow</b></a></p><p><a href="#region-name"><b>7.28.21 region-name</b></a></p><p><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a></p><p><a href="#width"><b>7.16.14 width</b></a></p><p><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p><p><a href="#z-index"><b>7.31.18 z-index</b></a></p><p>The shape assignment model allows a region to point to one or more
regions that are used to define:</p><p>content path: where the region's content is bound to wrap</p><p>wrapping path: where the region's intruded content is bound to wrap around</p><p>border: one or more shapes used to define a border that is beyond
standard FO border capabilities or it is designed ad-hoc</p><p>background: one or more shapes used to define a background effect
that is beyond standard FO background capabilities</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This draft does not yet cover the interactions
between non-rectangular shapes and footnotes.</p></div><p>Shape assignment model illustration</p><div style="margin-left: 3em;"><div><a name="fig-pageregionfig3"/></div>
<img src="figures/shape-reference-model.png" alt="" title="shape assignment model"/>
<p><b>Figure 34. </b>Shape assignment model illustration.</p>
</div><p>Example 3. Full Shape and Region use and re-use.</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:layout-master-set&gt;
&lt;fo:shape shape-name="hexagon"&gt;
&lt;svg:svg xmlns:svg="http://www.w3.org/2000/svg"&gt;
&lt;svg:path d="M ... z " /&gt;
&lt;/svg:svg&gt;
&lt;/fo:shape&gt;
&lt;fo:shape shape-name="intruder-bag"&gt;
&lt;svg:svg xmlns:svg="http://www.w3.org/2000/svg"&gt;
&lt;svg:path d="M ... z " /&gt;
&lt;/svg:svg&gt;
&lt;/fo:shape&gt;
&lt;fo:shape shape-name="border-bag"&gt;
&lt;svg:svg xmlns:svg="http://www.w3.org/2000/svg"&gt;
&lt;svg:path d="M ... z " /&gt;
&lt;/svg:svg&gt;&gt;
&lt;/fo:shape&gt;
&lt;fo:shape shape-name="bag"&gt;
&lt;svg:svg xmlns:svg="http://www.w3.org/2000/svg"&gt;
&lt;svg:path d="M ... z " /&gt;
&lt;/svg:svg&gt;
&lt;/fo:shape&gt;
&lt;fo:page-master
master-name="only"
page-height="11in" page-width="8.5in"
margin-top="3pt" margin-bottom="3pt"
margin-left="3pt" margin-right="3pt"&gt;
&lt;fo:region
absolute-position="absolute"
top="0.8636in" left="1.125in"
width="10in" height="12in"
region-name="region_A"
z-index="0"&gt;
&lt;fo:shape-name-specifier
shape-name-reference="bag"
width="100%" height="100%"
display-align="center" /&gt;
&lt;fo:shape-path-specifier
shape-name-reference="intruder-bag"
width="100%" height="100%"
display-align="center" /&gt;
&lt;fo:shape-border-specifier
shape-name-reference="border-bag"
width="100%" height="100%"
display-align="center" /&gt;
&lt;fo:fo:shape-background-specifier
shape-name-reference="hexagon"
width="80%" height="80%"
relative-position="relative"
top="6in" left="6in" /&gt;
&lt;fo:fo:shape-background-specifier
shape-name-reference="hexagon"
width="60%" height="60%"
relative-position="relative"
top="4in" left="4in" /&gt;
&lt;fo:fo:shape-background-specifier
shape-name-reference="hexagon"
width="40%" height="40%"
relative-position="relative"
top="2in" left="2in" /&gt;
&lt;fo:fo:shape-background-specifier
shape-name-reference="hexagon"
width="20%" height="20%"
relative-position="relative"
top="1in" left="1in" /&gt;
&lt;/fo:region&gt;
&lt;/fo:page-master&gt;
&lt;/fo:layout-master-set&gt;</pre></div></div></div><div class="div3">
<h4><a name="fo_extension-region" id="fo_extension-region"/>6.4.22 Extension Regions</h4><p>The <a href="#fo_region-body" class="el">fo:region-body</a> has two extension-regions, called
extension-region-start and extension-region-end, which
specify corresponding reference-areas called
"start-marginalia-reference-area" and
"end-marginalia-reference-area".</p><p>The extent in the inline-direction of each extension-region is
indicated in the <a href="#extent" class="property">extent</a> attribute of the
<a href="#fo_extension-region-start" class="el">fo:extension-region-start</a> or
<a href="#fo_extension-region-end" class="el">fo:extension-region-end</a> declaration, while the
block-dimension of the area is the same of the region-body.</p><p>Figure
<a href="#fig-marginalia1">35</a>
shows the current XSL-FO 1.1 page model extended to also
include these regions.</p><div style="margin-left: 3em;"><div><a name="fig-marginalia1"/></div>
<img src="figures/marginalia1.gif" alt="marginalia diagram" title="marginalia"/>
<p><b>Figure 35. </b>Extending the page model
to include extensions regions</p>
</div><p>An example declaration of these regions is shown below:</p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:simple-page-master master-name="only"
page-height="29.7cm"
page-width="21cm"
margin-top="1cm"
margin-bottom="2cm"
margin-left="2.5cm"
margin-right="2.5cm"&gt;
&lt;fo:region-body margin-top="3cm" margin-bottom="1.5cm"
margin-left="2cm" margin-right="2cm"/&gt;
&lt;fo:extension-region-start extent="1cm" distance="0.5cm"/&gt;
&lt;fo:extension-region-end extent="1cm" distance="0.5cm"/&gt;
&lt;fo:region-before precedence="true" extent="3cm"/&gt;
&lt;fo:region-after precedence="true" extent="1.5cm"/&gt;
&lt;fo:region-start extent="1cm"/&gt;
&lt;fo:region-end extent="1cm"/&gt;
&lt;/fo:simple-page-master&gt;</pre></div></div><p>The elements <a href="#fo_extension-region-start" class="el">fo:extension-region-start</a> or
<a href="#fo_extension-region-end" class="el">fo:extension-region-end</a> also define other properties of the
region such as border, padding, background, etc.</p><p>It is an error if a marginalia is contained in a page whose
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a> does not contain any
<a href="#fo_extension-region-start" class="el">fo:extension-region-start</a> or <a href="#fo_extension-region-end" class="el">fo:extension-region-end</a>
declarations.</p></div><div class="div3">
<h4><a name="fo_extension-region-start" id="fo_extension-region-start"/>6.4.23 fo:extension-region-start</h4><p><em>Common Usage:</em></p><p>Used to define a rectangular region that extends from
the region-body along the "start" direction
to contain marginalia, if they exist.
</p><p><em>Areas:</em></p><p>The extension-region-start specifies a viewport/reference pair
that is located on the "start" side of the region-body,
meaning that the before edge of the extension-region is aligned with
the before-edge of the region-body and the end-edge of this region
is parallel to the start-edge of the region-body, at a distance
specified by the "distance"attribute.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>Empty.</pre></div></div><div class="div3">
<h4><a name="fo_extension-region-end" id="fo_extension-region-end"/>6.4.24 fo:extension-region-end</h4><p><em>Common Usage:</em></p><p>Used to define a rectangular region that extends from the
<a href="#fo_region-body" class="el">fo:region-body</a> along the "end" direction to
contain <a href="#fo_marginalia" class="el">fo:marginalia</a>, if they exist.</p><p>The <a href="#fo_extension-region-end" class="el">fo:extension-region-end</a> region
specifies a viewport/reference pair that is located on the
"end" side of the region-body. The before-edge
of this region is aligned with the before-edge of the
region-body and the start-edge of this region is parallel
to the end-edge of the region-body, at a distance
specified by the <a href="#distance" class="property">distance</a> attribute.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>Empty.</pre></div></div><div class="div3">
<h4><a name="fo_shape-path-specifier" id="fo_shape-path-specifier"/>6.4.25 fo:shape-path-specifier</h4><p><em>Common Usage:</em></p><p>The fo:shape-path-specifier is used to specify the intrusion path
created from this region when intruding other regions.</p><p><em>Contents</em></p><div class="exampleOuter"><div class="exampleInner"><pre>EMPTY</pre></div></div><p><em>The following properties apply to this
formatting object:</em></p><p>[shape-name-reference similar to flow-name-reference]</p><div class="note"><p class="prefix"><b>Note:</b></p><p>No such property defined</p></div><p><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a></p><p><a href="#display-align"><b>7.15.5 display-align</b></a></p><p><a href="#height"><b>7.16.6 height</b></a></p><p><a href="#width"><b>7.16.14 width</b></a></p></div><div class="div3">
<h4><a name="fo_shape-background-specifier" id="fo_shape-background-specifier"/>6.4.26 fo:shape-background-specifier</h4><p><em>Common Usage:</em></p><p>The fo:shape-background-specifier is used to specify the
backround shape design.</p><p><em>Contents:</em></p><p>EMPTY</p><p><em>The following properties apply to this formatting object:</em></p><p>[shape-name-reference similar to flow-name-reference]</p><div class="note"><p class="prefix"><b>Note:</b></p><p>No such property defined</p></div><p><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a></p><p><a href="#display-align"><b>7.15.5 display-align</b></a></p><p><a href="#height"><b>7.16.6 height</b></a></p><p><a href="#width"><b>7.16.14 width</b></a></p></div><div class="div3">
<h4><a name="fo_shape-border-specifier" id="fo_shape-border-specifier"/>6.4.27 fo:shape-border-specifier</h4><p><em>Common Usage:</em></p><p>The fo:shape-border-specifier is used to specify the backround
shape design.</p><p><em>Contents:</em></p><p>EMPTY</p><p><em>The following properties apply to this formatting object:</em></p><p>[shape-name-reference similar to flow-name-reference]</p><div class="note"><p class="prefix"><b>Note:</b></p><p>No such property defined</p></div><p><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a></p><p><a href="#height"><b>7.16.6 height</b></a></p><p><a href="#width"><b>7.16.14 width</b></a></p></div><div class="div3">
<h4><a name="fo_flow" id="fo_flow"/>6.4.28 fo:flow</h4><p><em>Common Usage:</em></p><p>The content of the <a href="#fo_flow" class="el">fo:flow</a> formatting object is a sequence
of flow objects that provides the flowing text content that is
distributed into pages.</p><p><em>Areas:</em></p><p>The <a href="#fo_flow" class="el">fo:flow</a> formatting object does not generate any areas.
The <a href="#fo_flow" class="el">fo:flow</a> formatting object returns a sequence of areas
created by concatenating the sequences of areas returned by each of
the children of the <a href="#fo_flow" class="el">fo:flow</a>. The order of concatenation is
the same order as the children are ordered under the <a href="#fo_flow" class="el">fo:flow</a>.
</p><p><em>Constraints:</em></p><p>The flow-map determines the assignment of the content
of the <a href="#fo_flow" class="el">fo:flow</a> to a region.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#flow-name"><b>7.28.8 flow-name</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_static-content" id="fo_static-content"/>6.4.29 fo:static-content</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_static-content" class="el">fo:static-content</a> formatting object holds a sequence
or a tree of formatting objects that is to be presented in a single
region or repeated in like-named regions on one or more pages in the
page-sequence. Its common use is for repeating or running headers and
footers. </p><p>This content is repeated, in its entirety, on every page to which
it is assigned.
</p><p><em>Areas:</em></p><p>The <a href="#fo_static-content" class="el">fo:static-content</a> formatting object does not generate
any areas. The <a href="#fo_static-content" class="el">fo:static-content</a> formatting object returns
the sequence of areas created by concatenating the sequences of areas
returned by each of the children of the
<a href="#fo_static-content" class="el">fo:static-content</a>. The order of concatenation is the same
order as the children are ordered under the
<a href="#fo_static-content" class="el">fo:static-content</a>.
</p><p><em>Constraints:</em></p><p>The flow-map determines the assignment of the content
of the <a href="#fo_static-content" class="el">fo:static-content</a> to a region.</p><p>The <a href="#fo_static-content" class="el">fo:static-content</a> may be processed multiple times and
thus the default ordering constraint of section <a href="#area-genorder"><b>4.7.1 General Ordering Constraints</b></a> does not apply to the
<a href="#fo_static-content" class="el">fo:static-content</a>. Instead, it must satisfy the constraint on
a per-page basis. Specifically, if <var>P</var> is a
page-reference-area, <var>C</var> is an area-class, and <var>S</var>
is the set of all descendants of <var>P</var> of area-class
<var>C</var> returned to the <a href="#fo_static-content" class="el">fo:static-content</a> descendant,
then <var>S</var> must be properly ordered.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#flow-name"><b>7.28.8 flow-name</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_title" id="fo_title"/>6.4.30 fo:title</h4><p><em>Common Usage:</em></p><p>
The <a href="#fo_title" class="el">fo:title</a> formatting object is used to associate a title
with a given page-sequence. This title may be used by an interactive
User Agent to identify the pages. For example, the content of the
<a href="#fo_title" class="el">fo:title</a> can be formatted and displayed in a "title" window
or in a "tool tip".
</p><p><em>Areas:</em></p><p>This formatting object returns the sequence of areas returned by
the children of this formatting object.
</p><p><em>Constraints:</em></p><p>The sequence of returned areas must be the concatenation of the
sub-sequences of areas returned by each of the flow children of the
<a href="#fo_title" class="el">fo:title</a> formatting object in the order in which the children
occur.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div><p>An <a href="#fo_title" class="el">fo:title</a> is not permitted to have an <a href="#fo_float" class="el">fo:float</a>,
<a href="#fo_footnote" class="el">fo:footnote</a> or <a href="#fo_marker" class="el">fo:marker</a> as a descendant.</p><p>Additionally, an <a href="#fo_title" class="el">fo:title</a> is not permitted to have as a
descendant an <a href="#fo_block-container" class="el">fo:block-container</a> that generates an absolutely
positioned area.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_flow-map" id="fo_flow-map"/>6.4.31 fo:flow-map</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_flow-map" class="el">fo:flow-map</a> is used to specify the assignment of flows to
regions.</p><p><em>Areas:</em></p><p>The <a href="#fo_flow-map" class="el">fo:flow-map</a> formatting object generates no area directly. It
is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> formatting object to assign flows
to regions.</p><p>Each <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> child of the <a href="#fo_flow" class="el">fo:flow</a> map defines a source list
and a target list. The source list is a sequence of flow names whose
corresponding <a href="#fo_flow" class="el">fo:flow</a> objects (in the referring <a href="#fo_page-sequence" class="el">fo:page-sequence</a>) are
treated as a single <a href="#fo_flow" class="el">fo:flow</a> for composition purposes. The target list is
a sequence of region-names which identify the region or regions on each
page which are used for the source content.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This is independent of the actual sequence of pages, which
is generated as it has always been generated using the <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
and <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a> objects referred to by the <a href="#master-reference" class="property">master-reference</a>
property of the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p></div><p>For each <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> child of the <a href="#fo_flow-map" class="el">fo:flow-map</a>, having an
<a href="#fo_flow-source-list" class="el">fo:flow-source-list</a> child S and an <a href="#fo_flow-target-list" class="el">fo:flow-target-list</a> child T,
we say that the
<a href="#fo_flow-map" class="el">fo:flow-map</a> <b>assigns</b> each of the flows referenced by the
<a href="#fo_flow-name-specifier" class="el">fo:flow-name-specifier</a> children of S to the regions referenced by the
<a href="#fo_region-name-specifier" class="el">fo:region-name-specifier</a> children of T.</p><p><em>Constraints:</em></p><p>Many of the constraints that a flow-map induces are expressed in
<a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>.</p><p>The children of the <a href="#fo_flow-map" class="el">fo:flow-map</a> are <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> objects containing
parallel constraints for assigning flows to regions. It is an error for a
<a href="#flow-name" class="property">flow-name</a> to appear in the source list of more than one
<a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>
child of a given <a href="#fo_flow-map" class="el">fo:flow-map</a>. It is also an error for a <a href="#region-name" class="property">region-name</a> to
appear in the target list of more than one <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>
child of a
given <a href="#fo_flow-map" class="el">fo:flow-map</a>.</p><p>Implicit flow-map:</p><div class="exampleInner"><pre>
&lt;fo:flow-map&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier
flow-name-reference="xsl-region-body"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier
region-name-reference="xsl-region-body"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier
flow-name-reference="xsl-region-before"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier
region-name-reference="xsl-region-before"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier
flow-name-reference="xsl-region-after"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier
region-name-reference="xsl-region-after"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier
flow-name-reference="xsl-region-start"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier
region-name-reference="xsl-region-start"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;fo:flow-assignment&gt;
&lt;fo:flow-source-list&gt;
&lt;fo:flow-name-specifier
flow-name-reference="xsl-region-end"/&gt;
&lt;/fo:flow-source-list&gt;
&lt;fo:flow-target-list&gt;
&lt;fo:region-name-specifier
region-name-reference="xsl-region-end"/&gt;
&lt;/fo:flow-target-list&gt;
&lt;/fo:flow-assignment&gt;
&lt;/fo:flow-map&gt;
</pre></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_flow-assignment">flow-assignment</a>+)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#flow-map-name"><b>7.28.6 flow-map-name</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_flow-assignment" id="fo_flow-assignment"/>6.4.32 fo:flow-assignment</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> is used to specify the assignment of one
sequence of flows to a sequence
of regions.</p><p><em>Areas:</em></p><p>The <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a> formatting
object generates no area directly. It is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
formatting
object to assign flows to regions.</p><p><em>Constraints:</em></p><p>The children of the <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>
are a source-list and target-list containing constraints for assigning
one sequence of flows to a sequence of regions.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_flow-source-list">flow-source-list</a>,<a href="#fo_flow-target-list">flow-target-list</a>)
</pre></div></div><div class="div3">
<h4><a name="fo_flow-source-list" id="fo_flow-source-list"/>6.4.33 fo:flow-source-list</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_flow-source-list" class="el">fo:flow-source-list</a> is
used to specify the sequence of flows to assign in a particular
<a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>.</p><p><em>Areas:</em></p><p>The <a href="#fo_flow-source-list" class="el">fo:flow-source-list</a> formatting
object generates no area directly. It is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
formatting
object to assign flows to regions.</p><p><em>Constraints:</em></p><p>The children of the <a href="#fo_flow-source-list" class="el">fo:flow-source-list</a>
are a sequence of flow-name-specifiers identifying flows of the sequence.
These flows must be either all <a href="#fo_flow" class="el">fo:flow</a> formatting objects or all
<a href="#fo_static-content" class="el">fo:static-content</a> formatting objects.
It is an error if they are a mixture.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_flow-name-specifier">flow-name-specifier</a>+)
</pre></div></div><div class="div3">
<h4><a name="fo_flow-name-specifier" id="fo_flow-name-specifier"/>6.4.34 fo:flow-name-specifier</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_flow-name-specifier" class="el">fo:flow-name-specifier</a>
is used to specify one flow in a source-list.</p><p><em>Areas:</em></p><p>The <a href="#fo_flow-name-specifier" class="el">fo:flow-name-specifier</a>
formatting object generates no area directly. It is used by the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>
formatting object to assign flows to regions.</p><p><em>Constraints:</em></p><p>The <a href="#flow-name-reference" class="property">flow-name-reference</a> property
specifies the name of a flow in the source sequence.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#flow-name-reference"><b>7.28.9 flow-name-reference</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_flow-target-list" id="fo_flow-target-list"/>6.4.35 fo:flow-target-list</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_flow-target-list" class="el">fo:flow-target-list</a> is
used to specify the sequence of regions to which flows are assigned in
a particular <a href="#fo_flow-assignment" class="el">fo:flow-assignment</a>.</p><p><em>Areas:</em></p><p>The <a href="#fo_flow-target-list" class="el">fo:flow-target-list</a> formatting
object generates no area directly. It is used by the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
formatting
object to assign flows to regions.</p><p><em>Constraints:</em></p><p>The children of the <a href="#fo_flow-target-list" class="el">fo:flow-target-list</a>
are a sequence of region-name-specifiers identifying regions in the
sequence.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_region-name-specifier">region-name-specifier</a>+)
</pre></div></div><div class="div3">
<h4><a name="fo_region-name-specifier" id="fo_region-name-specifier"/>6.4.36 fo:region-name-specifier</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_region-name-specifier" class="el">fo:region-name-specifier</a>
is used to specify one region in a target-list.</p><p><em>Areas:</em></p><p>The <a href="#fo_region-name-specifier" class="el">fo:region-name-specifier</a>
formatting object generates no area directly. It is used by the
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>
formatting object to assign flows to regions.</p><p><em>Constraints:</em></p><p>The <a href="#region-name-reference" class="property">region-name-reference</a>
property specifies the name of a region in the target sequence.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#region-name-reference"><b>7.28.22 region-name-reference</b></a></p></blockquote></div></div><div class="div2">
<h3><a name="d2e14662" id="d2e14662"/>6.5 Block-level Formatting Objects</h3><div class="div3">
<h4><a name="d2e14665" id="d2e14665"/>6.5.1 Introduction</h4><p>The <a href="#fo_block" class="el">fo:block</a> formatting object is used for formatting
paragraphs, titles, figure captions, table titles, etc. The
following example illustrates the usage of <a href="#fo_block" class="el">fo:block</a> in a
stylesheet.</p><div class="div4">
<h5><a name="d2e14676" id="d2e14676"/>6.5.1.1 Example</h5><p>The following example shows the use of <a href="#fo_block" class="el">fo:block</a> for
chapter and section titles, and paragraphs.</p><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;chapter&gt;
&lt;title&gt;Chapter title&lt;/title&gt;
&lt;section&gt;
&lt;title&gt;First section title&lt;/title&gt;
&lt;paragraph&gt;Section one's first paragraph.&lt;/paragraph&gt;
&lt;paragraph&gt;Section one's second paragraph.&lt;/paragraph&gt;
&lt;/section&gt;
&lt;section&gt;
&lt;title&gt;Second section title&lt;/title&gt;
&lt;paragraph&gt;Section two's only paragraph.&lt;/paragraph&gt;
&lt;/section&gt;
&lt;/chapter&gt;
&lt;/doc&gt;
</pre></div><p>In this example the chapter title appears at the top of
the page (its "<a href="#space-before" class="property">space-before</a>" is discarded).</p><p>Space between chapter title
and first section title is (8pt,8pt,8pt): the chapter title's
"<a href="#space-after" class="property">space-after</a>"
has a higher <a href="#precedence" class="property">precedence</a> than the section title's "<a href="#space-before" class="property">space-before</a>"
(which takes
on the initial value of zero), so the latter is discarded.</p><p>Space between
the first section title and section one's first paragraph is
(6pt,6pt,6pt):
the section title's "<a href="#space-after" class="property">space-after</a>" has higher <a href="#precedence" class="property">precedence</a> than
the paragraph's
"<a href="#space-before" class="property">space-before</a>", so the latter is discarded.</p><p>Space between the two paragraphs
is (6pt,8pt,10pt): the "<a href="#space-after" class="property">space-after</a>" the first paragraph is
discarded because
its <a href="#precedence" class="property">precedence</a> is equal to that of the "<a href="#space-before" class="property">space-before</a>" the
next paragraph,
and the optimum of the "<a href="#space-after" class="property">space-after</a>" of the first paragraph
is greater than
the optimum of the "<a href="#space-before" class="property">space-before</a>" of the second paragraph.</p><p>Space between
the second paragraph of the first section and the title of
the second section
is (12pt,12pt,12pt): the "<a href="#space-after" class="property">space-after</a>" the paragraph is
discarded because
its <a href="#precedence" class="property">precedence</a> is equal to that of the "<a href="#space-before" class="property">space-before</a>" of
the section title,
and the optimum of the "<a href="#space-after" class="property">space-after</a>" of the paragraph is
less than the optimum
of the "<a href="#space-before" class="property">space-before</a>" of the section title.</p><p>The indent on the first
line of the first paragraph in section one and the only
paragraph in section
two is zero; the indent on the first line of the second
paragraph in section
one is 2pc.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
&lt;xsl:template match="chapter"&gt;
&lt;fo:block break-before="page"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="chapter/title"&gt;
&lt;fo:block text-align="center" space-after="8pt"
space-before="16pt" space-after.precedence="3"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="section"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="section/title"&gt;
&lt;fo:block text-align="center" space-after="6pt"
space-before="12pt" space-before.precedence="0"
space-after.precedence="3"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="paragraph[1]" priority="1"&gt;
&lt;fo:block text-indent="0pc" space-after="7pt"
space-before.minimum="6pt" space-before.optimum="8pt"
space-before.maximum="10pt"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="paragraph"&gt;
&lt;fo:block text-indent="2pc" space-after="7pt"
space-before.minimum="6pt" space-before.optimum="8pt"
space-before.maximum="10pt"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:block break-before="page"&gt;
&lt;fo:block text-align="center" space-after="8pt"
space-before="16pt"
space-after.precedence="3"&gt;Chapter title
&lt;/fo:block&gt;
&lt;fo:block text-align="center" space-after="6pt"
space-before="12pt" space-before.precedence="0"
space-after.precedence="3"&gt;First section title
&lt;/fo:block&gt;
&lt;fo:block text-indent="0pc" space-after="7pt"
space-before.minimum="6pt" space-before.optimum="8pt"
space-before.maximum="10pt"&gt;Section one's first paragraph.
&lt;/fo:block&gt;
&lt;fo:block text-indent="2pc" space-after="7pt"
space-before.minimum="6pt" space-before.optimum="8pt"
space-before.maximum="10pt"&gt;Section one's second paragraph.
&lt;/fo:block&gt;
&lt;fo:block text-align="center" space-after="6pt"
space-before="12pt" space-before.precedence="0"
space-after.precedence="3"&gt;Second section title
&lt;/fo:block&gt;
&lt;fo:block text-indent="0pc" space-after="7pt"
space-before.minimum="6pt" space-before.optimum="8pt"
space-before.maximum="10pt"&gt;Section two's only paragraph.
&lt;/fo:block&gt;
&lt;/fo:block&gt;
</pre></div></div></div><div class="div3">
<h4><a name="fo_block" id="fo_block"/>6.5.2 fo:block</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_block" class="el">fo:block</a> formatting object is commonly used for formatting paragraphs,
titles, headlines, figure and table captions, etc.</p><p><em>Areas:</em></p><p>The <a href="#fo_block" class="el">fo:block</a> formatting object generates one or more
<b>normal</b> block-areas.
The <a href="#fo_block" class="el">fo:block</a> returns these areas, any
<b>page-level-out-of-line</b> areas, and
any <b>reference-level-out-of-line</b> areas
returned by the children of the <a href="#fo_block" class="el">fo:block</a>.
The <a href="#fo_block" class="el">fo:block</a> also generates zero or more line-areas as children of the
normal block-areas it returns, in accordance with
<a href="#area-linebuild"><b>4.7.2 Line-building</b></a>.</p><p><em>Trait Derivation:</em></p><p>The .minimum, .optimum, and .maximum components of the
<span class="trait">half-leading</span> trait
are set to 1/2 the difference of
the computed value of the <span class="trait">line-height</span> property and the
computed value of the sum of the
<span class="trait">text-altitude</span> and <span class="trait">text-depth</span> properties.
The .<a href="#precedence" class="property">precedence</a> and .conditionality components are copied from the
<span class="trait">line-height</span> property.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The usage of the half-leading is described in <a href="#area-line"><b>4.5 Line-areas</b></a>.</p></div><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_block" class="el">fo:block</a> formatting object.</p><p>The children of each normal area generated by an <a href="#fo_block" class="el">fo:block</a>
must satisfy the constraints specified in <a href="#area-linebuild"><b>4.7.2 Line-building</b></a>.
</p><p>In addition the constraints imposed by the traits derived from the
properties applicable to this formatting object must be satisfied.
The geometric constraints are rigorously defined in <a href="#area_model"><b>4 Area Model</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children,
optionally followed by an <a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>.
</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-hyphenation-properties"><b>7.10 Common Hyphenation Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#clear"><b>7.20.1 clear</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#hyphenation-keep"><b>7.17.1 hyphenation-keep</b></a><br/><a href="#hyphenation-ladder-count"><b>7.17.2 hyphenation-ladder-count</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#last-line-end-indent"><b>7.17.3 last-line-end-indent</b></a><br/><a href="#linefeed-treatment"><b>7.17.7 linefeed-treatment</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#line-height-shift-adjustment"><b>7.17.5 line-height-shift-adjustment</b></a><br/><a href="#line-stacking-strategy"><b>7.17.6 line-stacking-strategy</b></a><br/><a href="#orphans"><b>7.21.6 orphans</b></a><br/><a href="#white-space-treatment"><b>7.17.12 white-space-treatment</b></a><br/><a href="#span"><b>7.22.4 span</b></a><br/><a href="#text-align"><b>7.17.8 text-align</b></a><br/><a href="#text-align-last"><b>7.17.9 text-align-last</b></a><br/><a href="#text-indent"><b>7.17.10 text-indent</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#white-space-collapse"><b>7.17.11 white-space-collapse</b></a><br/><a href="#widows"><b>7.21.7 widows</b></a><br/><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_block-container" id="fo_block-container"/>6.5.3 fo:block-container</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_block-container" class="el">fo:block-container</a> flow object is used to
generate a block-level reference-area, typically containing
text blocks with a different writing-mode. In addition, it
can also be used with a different <a href="#reference-orientation" class="property">reference-orientation</a> to
rotate its content.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of this flow object is not required for
changing
the inline-progression-direction only; in that case the Unicode BIDI
algorithm and the <a href="#fo_bidi-override" class="el">fo:bidi-override</a> are sufficient.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_block-container" class="el">fo:block-container</a> formatting object generates one or more
viewport/reference pairs.
All generated viewport-areas are
subject to the constraints given by the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> and
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> traits of the <a href="#fo_block-container" class="el">fo:block-container</a>. The
<a href="#fo_block-container" class="el">fo:block-container</a> returns these areas and any page-level-out-of-line
areas returned by the children of the <a href="#fo_block-container" class="el">fo:block-container</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In the case that the block-progression-dimension.maximum
is other than "auto", then <a href="#overflow" class="property">overflow</a> processing may apply.
The "repeat" value of <a href="#overflow" class="property">overflow</a> can be used to generate multiple
viewport/reference pairs if this is desired rather than clipping or
scrolling.</p></div><p>If the <a href="#absolute-position" class="property">absolute-position</a> trait is "auto", these areas all have an
area-class of "xsl-normal". If the absolution-position trait is
"absolute" or "fixed" then there is one viewport/reference pair, and its
area-class is "xsl-absolute" or "xsl-fixed", respectively.</p><p><em>Trait Derivation:</em></p><p>The <a href="#reference-orientation" class="property">reference-orientation</a> and <a href="#writing-mode" class="property">writing-mode</a> traits of the viewport-area
and reference-area come from the <a href="#fo_block-container" class="el">fo:block-container</a>. These determine the
orientation of the start-edge, end-edge, before-edge and after-edge of
the content-rectangle of the viewport-area, and of the padding-,
border-, and content-rectangles of the reference-area.
The <span class="trait">reference-orientation</span> of the
reference-area is set to "0" and is, therefore, the
same as the orientation established by the viewport-area.
The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the reference-area is the same as that
of the viewport-area, and may not be "auto" if the
inline-progression-direction is different from that of the parent of the
<a href="#fo_block-container" class="el">fo:block-container</a>. The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
reference-area is not constrained; thus the reference-area may be larger
than the viewport-area and this may cause the "<a href="#overflow" class="property">overflow</a>" property to
operate.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>As a property value applies to each of the areas
generated by this flow object the <a href="#size" class="property">size</a> can vary from instance
to instance if the value is "auto" or a
&lt;length-range&gt;.</p></div><p><em>Constraints:</em></p><p>The children of each reference-area generated
by an <a href="#fo_block-container" class="el">fo:block-container</a> formatting object
must be normal <b>block-area</b>s returned by the children of the <a href="#fo_block-container" class="el">fo:block-container</a>,
must be <b>properly stacked</b>, and
must be <b>properly ordered</b>.
</p><p>Any <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_block-container" class="el">fo:block-container</a>
are handled as described in <a href="#fo_float"><b>6.12.2 fo:float</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition an <a href="#fo_block-container" class="el">fo:block-container</a> that does not generate
an <b>absolutely positioned</b> area
may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-absolute-position-properties"><b>7.6 Common Absolute Position Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#clear"><b>7.20.1 clear</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#span"><b>7.22.4 span</b></a><br/><a href="#width"><b>7.16.14 width</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a><br/><a href="#z-index"><b>7.31.18 z-index</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_alternative-copyfit-content" id="fo_alternative-copyfit-content"/>6.5.4 fo:alternative-copyfit-content</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> formatting obiect is intended
to express alternative content for copyfit.</p><p>It might be a child of a <a href="#fo_flow" class="el">fo:flow</a> object (when copyfitting content
into a region) or <a href="#fo_block-container" class="el">fo:block-container</a> or <a href="#fo_table-cell" class="el">fo:table-cell</a> (when
copyfitting content in block-containers or table cells).</p><p><em>Areas:</em></p><p>The <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> formatting object does not
generate any areas. The <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> formatting
object returns the areas generated and returned by its children.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>(%block;)*</pre></div><p><em>Example:</em></p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:flow flow-name="A"&gt;
&lt;fo:alternative-copyfit-content&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt;Crucis rosa ut
hoc sien qua non res veni.&lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Etiam tristique,
nulla a pulvinar hendrerit nihil tortor urna auctor etim
domine secularia cali sed ut quotie ire in domince hoc fantus quis eius rei rei.
&lt;/fo:block&gt;
&lt;/fo:alternative-copyfit-content&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt;
Lorem maecenas blandit ac, neque sed ut pulvinar, lectus sagittis
sapien per risus vel. Ligula sapien sed morbi cras tellus commodo.
Si qua ex docet dei etris crucis&lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; curabitur
magna nis, faucibus sed ornare sed, congue eu dui.
Pellentesque habitant morbi tristique senectus et netus et
malessecularia uada fames ac turpis egestas. &lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Nunc sit amet dolor
sed sem congue mattis sed ut arcu. Mauris id magna sit amet elit aliquam.&lt;/fo:block&gt;
&lt;fo:block&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada
fames.&lt;/fo:block&gt;
&lt;/fo:flow&gt;</pre></div></div><p><em>The following properties apply to this formatting
object:</em></p><div style="border: dotted blue 1px; background: #CCC; padding: 1em; margin-left: 3em;"><p><b>Open issue</b></p><p>Deferred. Likely to be resolved using a function similar to
xsl:choose to select content based on formatter feedback. </p></div><div style="border: dotted blue 1px; background: #CCC; padding: 1em; margin-left: 3em;"><p><b>Open issue</b></p><p>Should copyfit content be allowed in static content.</p></div></div></div><div class="div2">
<h3><a name="d2e15199" id="d2e15199"/>6.6 Inline-level Formatting Objects</h3><div class="div3">
<h4><a name="d2e15202" id="d2e15202"/>6.6.1 Introduction</h4><p>Inline-level formatting objects are most commonly used to
<a href="#format" class="property">format</a>
a portion of text or for generating rules and leaders. There
are many other uses. The following examples illustrate
some of these uses of inline-level formatting objects.</p><ul><li><p>
putting the first line of a paragraph into
small-caps,</p></li><li><p>turning a normally inline formatting object, <a href="#fo_external-graphic" class="el">fo:external-graphic</a>, into
a block by "wrapping" with an <a href="#fo_block" class="el">fo:block</a> formatting
object,</p></li><li><p>formatting a running footer containing the word
"Page" followed by a page number.</p></li></ul><div class="div4">
<h5><a name="d2e15226" id="d2e15226"/>6.6.1.1 Examples</h5><div class="div5">
<h6><a name="d2e15229" id="d2e15229"/>6.6.1.1.1 First Line of Paragraph in Small-caps</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;p&gt;This is the text of a paragraph that is going to be
presented with the first line in small-caps.&lt;/p&gt;
&lt;/doc&gt;
</pre></div><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;fo:initial-property-set font-variant="small-caps"/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:block&gt;
&lt;fo:initial-property-set font-variant="small-caps"&gt;
&lt;/fo:initial-property-set&gt;This is the text of a paragraph that is going to be
presented with the first line in small-caps.
&lt;/fo:block&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e15244" id="d2e15244"/>6.6.1.1.2 Figure with a Photograph</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;figure&gt;
&lt;photo image="TH0317A.jpg"/&gt;
&lt;caption&gt;C'ieng Tamlung of C'ieng Mai&lt;/caption&gt;
&lt;/figure&gt;
&lt;/doc&gt;
</pre></div><p>In this example the image (an <a href="#fo_external-graphic" class="el">fo:external-graphic</a>) is
placed as a centered block-level object.
The caption is centered with 10mm indents.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="figure"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="photo"&gt;
&lt;fo:block text-align="center"&gt;
&lt;fo:external-graphic src="'url({@image})'"/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="caption"&gt;
&lt;fo:block space-before="3pt" text-align="center"
start-indent="10mm" end-indent="10mm"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>fo: element and attribute tree:</p><div class="exampleInner"><pre>
&lt;fo:block&gt;
&lt;fo:block text-align="center"&gt;
&lt;fo:external-graphic src="'url(TH0317A.jpg)'"/&gt;
&lt;/fo:block&gt;
&lt;fo:block space-before="3pt" text-align="center" start-indent="10mm"
end-indent="10mm"&gt;C'ieng Tamlung of C'ieng Mai&lt;/fo:block&gt;
&lt;/fo:block&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e15264" id="d2e15264"/>6.6.1.1.3 Page numbering and page number reference</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;!DOCTYPE doc SYSTEM "pgref.dtd"&gt;
&lt;doc&gt;
&lt;chapter id="x"&gt;&lt;title&gt;Chapter&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/chapter&gt;
&lt;chapter&gt;&lt;title&gt;Chapter&lt;/title&gt;
&lt;p&gt;For a description of X see &lt;ref refid="x"/&gt;.&lt;/p&gt;
&lt;/chapter&gt;
&lt;/doc&gt;
</pre></div><p>In this example each page has a running footer containing the word
"Page" followed by the page number. The "ref" element generates the
word "page" followed by the page number of the page on which the
referenced by the "refid" attribute was placed.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="doc"&gt;
&lt;fo:root&gt;
&lt;fo:layout-master-set&gt;
&lt;fo:simple-page-master master-name="page"
page-height="297mm" page-width="210mm"
margin-top="20mm" margin-bottom="10mm"
margin-left="25mm" margin-right="25mm"&gt;
&lt;fo:region-body
margin-top="0mm" margin-bottom="15mm"
margin-left="0mm" margin-right="0mm"/&gt;
&lt;fo:region-after extent="10mm"/&gt;
&lt;/fo:simple-page-master&gt;
&lt;/fo:layout-master-set&gt;
&lt;fo:page-sequence master-reference="page"&gt;
&lt;fo:static-content flow-name="xsl-region-after"&gt;
&lt;fo:block&gt;
&lt;xsl:text&gt;Page &lt;/xsl:text&gt;
&lt;fo:page-number/&gt;
&lt;/fo:block&gt;
&lt;/fo:static-content&gt;
&lt;fo:flow flow-name="xsl-region-body"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="chapter/title"&gt;
&lt;fo:block id="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter" format="1. "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="ref"&gt;
&lt;xsl:text&gt;page &lt;/xsl:text&gt;
&lt;fo:page-number-citation refid="{generate-id(id(@refid)/title)}"/&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:root&gt;
&lt;fo:layout-master-set&gt;
&lt;fo:simple-page-master master-name="page"
page-height="297mm" page-width="210mm"
margin-top="20mm" margin-bottom="10mm"
margin-left="25mm" margin-right="25mm"&gt;
&lt;fo:region-body margin-top="0mm" margin-bottom="15mm"
margin-left="0mm" margin-right="0mm"/&gt;
&lt;fo:region-after extent="10mm"/&gt;
&lt;/fo:simple-page-master&gt;
&lt;/fo:layout-master-set&gt;
&lt;fo:page-sequence master-reference="page"&gt;
&lt;fo:static-content flow-name="xsl-region-after"&gt;
&lt;fo:block&gt;Page &lt;fo:page-number/&gt;
&lt;/fo:block&gt;
&lt;/fo:static-content&gt;
&lt;fo:flow flow-name="xsl-region-body"&gt;
&lt;fo:block id="N5"&gt;1. Chapter&lt;/fo:block&gt;
&lt;fo:block&gt;Text&lt;/fo:block&gt;
&lt;fo:block id="N13"&gt;2. Chapter&lt;/fo:block&gt;
&lt;fo:block&gt;For a description of X see page &lt;fo:page-number-citation refid="N5"/&gt;
&lt;/fo:block&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e15281" id="d2e15281"/>6.6.1.1.4 Table of Contents with Leaders</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;chapter&gt;&lt;title&gt;Chapter&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;/chapter&gt;
&lt;chapter&gt;&lt;title&gt;Chapter&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;/chapter&gt;
&lt;/doc&gt;
</pre></div><p>In this example the table of contents is formatted with a dot leader
between the heading text and the page number.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="doc"&gt;
&lt;!-- create the table of contents --&gt;
&lt;xsl:apply-templates select="chapter/title" mode="toc"/&gt;
&lt;!-- do the document --&gt;
&lt;xsl:apply-templates/&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="chapter/title" mode="toc"&gt;
&lt;fo:block text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter" format="1. "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:basic-link&gt;
&lt;xsl:text&gt; &lt;/xsl:text&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"/&gt;
&lt;xsl:text&gt; &lt;/xsl:text&gt;
&lt;fo:page-number-citation ref-id="{generate-id(.)}"/&gt;
&lt;/fo:block&gt;
&lt;xsl:apply-templates select="../section/title" mode="toc"/&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="section/title" mode="toc"&gt;
&lt;fo:block start-indent="10mm" text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter|section" format="1.1 "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:basic-link&gt;
&lt;xsl:text&gt; &lt;/xsl:text&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"/&gt;
&lt;xsl:text&gt; &lt;/xsl:text&gt;
&lt;fo:page-number-citation ref-id="{generate-id(.)}"/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="chapter/title"&gt;
&lt;fo:block id="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter" format="1. "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="section/title"&gt;
&lt;fo:block id="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter|section" format="1.1 "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:block text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="N4"&gt;1. Chapter
&lt;/fo:basic-link&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"&gt;
&lt;/fo:leader&gt;
&lt;fo:page-number-citation ref-id="N4"&gt;
&lt;/fo:page-number-citation&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm" text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="N11"&gt;1.1 Section
&lt;/fo:basic-link&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"&gt;
&lt;/fo:leader&gt;
&lt;fo:page-number-citation ref-id="N11"&gt;
&lt;/fo:page-number-citation&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm" text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="N19"&gt;1.2 Section
&lt;/fo:basic-link&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"&gt;
&lt;/fo:leader&gt;
&lt;fo:page-number-citation ref-id="N19"&gt;
&lt;/fo:page-number-citation&gt;
&lt;/fo:block&gt;
&lt;fo:block text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="N28"&gt;2. Chapter
&lt;/fo:basic-link&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"&gt;
&lt;/fo:leader&gt;
&lt;fo:page-number-citation ref-id="N28"&gt;
&lt;/fo:page-number-citation&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm" text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="N35"&gt;2.1 Section
&lt;/fo:basic-link&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"&gt;
&lt;/fo:leader&gt;
&lt;fo:page-number-citation ref-id="N35"&gt;
&lt;/fo:page-number-citation&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm" text-align-last="justify"&gt;
&lt;fo:basic-link internal-destination="N43"&gt;2.2 Section
&lt;/fo:basic-link&gt;
&lt;fo:leader leader-length.minimum="12pt" leader-length.optimum="40pt"
leader-length.maximum="100%" leader-pattern="dots"&gt;
&lt;/fo:leader&gt;
&lt;fo:page-number-citation ref-id="N43"&gt;
&lt;/fo:page-number-citation&gt;
&lt;/fo:block&gt;
&lt;fo:block id="N4"&gt;1. Chapter
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N11"&gt;1.1 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N19"&gt;1.2 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N28"&gt;2. Chapter
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N35"&gt;2.1 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N43"&gt;2.2 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
</pre></div></div></div></div><div class="div3">
<h4><a name="fo_bidi-override" id="fo_bidi-override"/>6.6.2 fo:bidi-override</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_bidi-override" class="el">fo:bidi-override</a> formatting object is used when the Unicode BIDI
algorithm fails. It forces a string of text to be written in a specific
direction.</p><p><em>Areas:</em></p><p>The <a href="#fo_bidi-override" class="el">fo:bidi-override</a> formatting object generates one or more
<b>normal</b> <b>inline-area</b>s.
The <a href="#fo_bidi-override" class="el">fo:bidi-override</a> returns these areas,
together with any <b>normal</b> block-areas,
<b>page-level-out-of-line</b> areas,
and <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_bidi-override" class="el">fo:bidi-override</a>.</p><p><em>Trait Derivation:</em></p><p>The <a href="#direction" class="property">direction</a> traits are derived from the "<a href="#writing-mode" class="property">writing-mode</a>",
"<a href="#direction" class="property">direction</a>", and "<a href="#unicode-bidi" class="property">unicode-bidi</a>" properties as described in
<a href="#refine-writing-mode"><b>5.5.3 Writing-mode and Direction Properties</b></a>.</p><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_bidi-override" class="el">fo:bidi-override</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_bidi-override" class="el">fo:bidi-override</a>
must satisfy the constraints specified in <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p>An <a href="#fo_bidi-override" class="el">fo:bidi-override</a> that is a descendant of an <a href="#fo_leader" class="el">fo:leader</a> or of
the <a href="#fo_inline" class="el">fo:inline</a> child
of an <a href="#fo_footnote" class="el">fo:footnote</a> may not have block-level children,
unless it has a nearer ancestor that is an <a href="#fo_inline-container" class="el">fo:inline-container</a>.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#direction"><b>7.30.1 direction</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#unicode-bidi"><b>7.30.6 unicode-bidi</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_character" id="fo_character"/>6.6.3 fo:character</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_character" class="el">fo:character</a> flow object represents a <a href="#character" class="property">character</a> that
is mapped to
a glyph for presentation. It is an atomic unit to the formatter.</p><p>When the result tree is interpreted as a tree of formatting objects,
a <a href="#character" class="property">character</a> in the result tree is treated as if it were an empty
element of type <a href="#fo_character" class="el">fo:character</a> with a <a href="#character" class="property">character</a> attribute
equal to the Unicode representation of the character.
The semantics of an "auto" value for <a href="#character" class="property">character</a> properties, which is
typically their initial value,
are based on the Unicode code point. Overrides may be specified in
an implementation-specific manner.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In a stylesheet the explicit creation of an <a href="#fo_character" class="el">fo:character</a> may be
used to explicitly override the default mapping.</p></div><p>Unicode Tag Characters need not be supported.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Unicode Version 3.1, in fact,
states that they are not to be used
"with <em>any</em> protocols that provide alternate means for language tagging,
such as HTML or XML.".
Unicode TR20 (<a href="#UNICODE-TR20">[UNICODE TR20]</a>) also
declares very clearly that they are not suitable together with
markup.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_character" class="el">fo:character</a> formatting object generates and returns
one or more
<b>normal</b> <b>inline-area</b>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Cases where more than one <b>inline-area</b> is generated
are encountered in scripts where a single <a href="#character" class="property">character</a> generates both a
prefix and a suffix glyph to some other character.</p></div><p><em>Constraints:</em></p><p>The dimensions of the areas are determined by the <a href="#font" class="property">font</a> metrics for
the glyph.</p><p>When formatting an <a href="#fo_character" class="el">fo:character</a> with a "<a href="#treat-as-word-space" class="property">treat-as-word-space</a>" value
of "true", the User Agent may use a different method for determining
the <span class="trait">inline-progression-dimension</span> of the area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Such methods typically make use of
a word space value stored in the <a href="#font" class="property">font</a>, or
a formatter defined word space value.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-hyphenation-properties"><b>7.10 Common Hyphenation Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#treat-as-word-space"><b>7.18.7 treat-as-word-space</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#character"><b>7.18.1 character</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#glyph-orientation-horizontal"><b>7.30.2 glyph-orientation-horizontal</b></a><br/><a href="#glyph-orientation-vertical"><b>7.30.3 glyph-orientation-vertical</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#suppress-at-line-break"><b>7.18.3 suppress-at-line-break</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#text-transform"><b>7.18.6 text-transform</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_initial-property-set" id="fo_initial-property-set"/>6.6.4 fo:initial-property-set</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_initial-property-set" class="el">fo:initial-property-set</a> auxiliary formatting object
specifies formatting properties
for the first line of an <a href="#fo_block" class="el">fo:block</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It is analogous to the CSS first-line pseudo-element.</p><p>In future versions of this Recommendation a property controlling
the number of lines, or the "depth" that these initial properties
apply to may be added.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_initial-property-set" class="el">fo:initial-property-set</a> formatting object does not generate
or return any areas. It simply holds a set of traits that are applicable
to the first line-area of the area that
has a value of "true" for the <span class="trait">is-first</span> trait and that was
generated by the parent <a href="#fo_block" class="el">fo:block</a> of the <a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>.
</p><p><em>Trait Derivation:</em></p><p>The traits on the <a href="#fo_initial-property-set" class="el">fo:initial-property-set</a> are taken into
account as traits constraining the first line as if
the child inline formatting objects of the <a href="#fo_block" class="el">fo:block</a>,
or parts of them in the
case of a line-break, that were used in formatting
the first line were enclosed by an <a href="#fo_inline" class="el">fo:inline</a>, as a direct
child of the <a href="#fo_block" class="el">fo:block</a>, with those traits.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#text-transform"><b>7.18.6 text-transform</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_external-graphic" id="fo_external-graphic"/>6.6.5 fo:external-graphic</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_external-graphic" class="el">fo:external-graphic</a> flow object is used for a
graphic where the graphics data resides outside of the fo: element tree.</p><p><em>Areas:</em></p><p>The <a href="#fo_external-graphic" class="el">fo:external-graphic</a>
formatting object generates and returns one inline-level
viewport-area and one reference-area containing the external graphic.
The inline-level area uses the <b>large-allocation-rectangle</b>
as defined in <a href="#area-geo"><b>4.2.3 Geometric Definitions</b></a>.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An <a href="#fo_external-graphic" class="el">fo:external-graphic</a> may be placed
block-level by enclosing it in an <a href="#fo_block" class="el">fo:block</a>.</p><p>A "<a href="#line-stacking-strategy" class="property">line-stacking-strategy</a>" of "<a href="#max-height" class="property">max-height</a>" or "<a href="#line-height" class="property">line-height</a>" is
typically used for stacking one or more lines with <a href="#fo_external-graphic" class="el">fo:external-graphic</a>
content.</p></div><p><em>Constraints:</em></p><p>The viewport's <a href="#size" class="property">size</a> is determined by the
<span class="trait">block-progression-dimension</span> and <span class="trait">inline-progression-dimension</span> traits.
For values of "auto", the content <a href="#size" class="property">size</a> of the graphic is used.
</p><p>The content <a href="#size" class="property">size</a> of a graphic is determined by taking the
intrinsic <a href="#size" class="property">size</a> of the graphic and <a href="#scaling" class="property">scaling</a> as specified by the
<span class="trait">content-height</span>, <span class="trait">content-width</span>,
<span class="trait">scaling</span>, <span class="trait">allowed-height-scale</span>,
and <span class="trait">allowed-width-scale</span> traits.
If one of the <a href="#content-height" class="property">content-height</a> or
<a href="#content-width" class="property">content-width</a> is not "auto", the same scale factor
(as calculated from the specified non-auto value) is applied equally to
both directions.
</p><p>Once scaled, the reference-area
is aligned with respect to the viewport-area
using the <span class="trait">text-align</span> and
<span class="trait">display-align</span>
traits. If it is too large for the viewport-area,
the graphic is aligned as if it would fit and the <span class="trait">overflow</span>
trait controls the clipping, scroll bars, etc.
</p><p>In the case when the graphics <a href="#format" class="property">format</a> does not specify an intrinsic
<a href="#size" class="property">size</a> of the graphic the <a href="#size" class="property">size</a> is determined in an implementation-defined
manner.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, a <a href="#size" class="property">size</a> of 1/96" as the <a href="#size" class="property">size</a>
of one pixel for rasterized images may be used.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#allowed-height-scale"><b>7.16.1 allowed-height-scale</b></a><br/><a href="#allowed-width-scale"><b>7.16.2 allowed-width-scale</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#content-height"><b>7.16.4 content-height</b></a><br/><a href="#content-type"><b>7.31.7 content-type</b></a><br/><a href="#content-width"><b>7.16.5 content-width</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#scaling"><b>7.16.12 scaling</b></a><br/><a href="#scaling-method"><b>7.16.13 scaling-method</b></a><br/><a href="#src"><b>7.31.16 src</b></a><br/><a href="#text-align"><b>7.17.8 text-align</b></a><br/><a href="#width"><b>7.16.14 width</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_instream-foreign-object" id="fo_instream-foreign-object"/>6.6.6 fo:instream-foreign-object</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a> flow object is used for an inline
graphic or other "generic" object
where the object data resides as descendants of the
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>, typically as an XML element subtree in
a non-XSL namespace.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A common <a href="#format" class="property">format</a> is SVG.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>
formatting object generates and returns one inline
viewport-area and one reference-area containing the instream-foreign-object.
The inline-level area uses the <b>large-allocation-rectangle</b>
as defined in <a href="#area-geo"><b>4.2.3 Geometric Definitions</b></a>.
</p><p><em>Constraints:</em></p><p>The viewport's <a href="#size" class="property">size</a> is determined by the
<span class="trait">block-progression-dimension</span> and <span class="trait">inline-progression-dimension</span> traits.
For values of "auto", the content <a href="#size" class="property">size</a> of the instream foreign object is used.
</p><p>The content <a href="#size" class="property">size</a> of an instream-foreign-object is determined by taking the
intrinsic <a href="#size" class="property">size</a> of the object and <a href="#scaling" class="property">scaling</a> as specified by the
<span class="trait">content-height</span>, <span class="trait">content-width</span>,
<span class="trait">scaling</span>, <span class="trait">allowed-height-scale</span>,
and <span class="trait">allowed-width-scale</span> traits.
If one of the <a href="#content-height" class="property">content-height</a> or
<a href="#content-width" class="property">content-width</a> is not "auto", the same scale factor
(as calculated from the specified non-auto value) is applied equally to
both directions.
</p><p>Once scaled, the reference-area
is aligned with respect to the viewport-area
using the <span class="trait">text-align</span> and
<span class="trait">display-align</span>
traits. If it is too large for the viewport-area,
the instream-foreign-object is aligned as if it would fit and the <span class="trait">overflow</span>
trait controls the clipping, scroll bars, etc.
</p><p>In the case when the instream-foreign-object does not specify an intrinsic
<a href="#size" class="property">size</a> of the object, the <a href="#size" class="property">size</a> is determined in an implementation defined
manner.</p><p><em>Contents:</em></p><p>The <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a> flow object has
a child from a non-XSL
namespace. The permitted structure of this child is that
defined for that namespace.
</p><p>The <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a> flow object may have additional attributes
in the non-XSL namespace. These,
as well as the xsl defined properties,
are made available to the processor
of the content of the flow object. Their semantics are defined by that
namespace.
</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#allowed-height-scale"><b>7.16.1 allowed-height-scale</b></a><br/><a href="#allowed-width-scale"><b>7.16.2 allowed-width-scale</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#content-height"><b>7.16.4 content-height</b></a><br/><a href="#content-type"><b>7.31.7 content-type</b></a><br/><a href="#content-width"><b>7.16.5 content-width</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#scaling"><b>7.16.12 scaling</b></a><br/><a href="#scaling-method"><b>7.16.13 scaling-method</b></a><br/><a href="#text-align"><b>7.17.8 text-align</b></a><br/><a href="#width"><b>7.16.14 width</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_inline" id="fo_inline"/>6.6.7 fo:inline</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_inline" class="el">fo:inline</a> formatting object is commonly used for formatting
a portion of text with a <a href="#background" class="property">background</a> or enclosing it in a border.
</p><p><em>Areas:</em></p><p>The <a href="#fo_inline" class="el">fo:inline</a> formatting object generates one or more
<b>normal</b> <b>inline-area</b>s.
The <a href="#fo_inline" class="el">fo:inline</a> returns these areas,
together with any <b>normal</b> block-areas,
<b>page-level-out-of-line</b> areas,
and <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_inline" class="el">fo:inline</a>.</p><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_inline" class="el">fo:inline</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_inline" class="el">fo:inline</a>
must satisfy the constraints specified in <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.
</p><p>In addition the constraints imposed by the traits derived from the
properties applicable to this formatting object must be satisfied.
The geometric constraints are rigorously defined in <a href="#area_model"><b>4 Area Model</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p>An <a href="#fo_inline" class="el">fo:inline</a> that is a child of an <a href="#fo_footnote" class="el">fo:footnote</a> may not have
block-level children.
An <a href="#fo_inline" class="el">fo:inline</a> that is a descendant of an <a href="#fo_leader" class="el">fo:leader</a> or of the
<a href="#fo_inline" class="el">fo:inline</a> child of an <a href="#fo_footnote" class="el">fo:footnote</a>
may not have block-level children, unless it has a nearer ancestor that
is an <a href="#fo_inline-container" class="el">fo:inline-container</a>.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#width"><b>7.16.14 width</b></a><br/><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_inline-container" id="fo_inline-container"/>6.6.8 fo:inline-container</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_inline-container" class="el">fo:inline-container</a> flow object is used to
generate an inline reference-area, typically containing
text blocks with a different writing-mode.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of this flow object is not required for
bi-directional text;
in this case the Unicode BIDI
algorithm and the <a href="#fo_bidi-override" class="el">fo:bidi-override</a> are sufficient.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_inline-container" class="el">fo:inline-container</a> formatting object generates one or more
viewport/reference pairs.
All generated viewport-areas are
subject to the constraints given by the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> and
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> traits of the <a href="#fo_inline-container" class="el">fo:inline-container</a>. The
<a href="#fo_inline-container" class="el">fo:inline-container</a> returns these areas and any page-level-out-of-line
areas returned by the children of the <a href="#fo_inline-container" class="el">fo:inline-container</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In the case that the block-progression-dimension.maximum
is other than "auto", then <a href="#overflow" class="property">overflow</a> processing may apply.
The "repeat" value of <a href="#overflow" class="property">overflow</a> can be used to generate multiple
viewport/reference pairs if this is desired rather than clipping or
scrolling.</p></div><p>If the <a href="#absolute-position" class="property">absolute-position</a> trait is "auto", these areas all have an
area-class of "xsl-normal". If the absolution-position trait is
"absolute" or "fixed" then there is one viewport/reference pair, and its
area-class is "xsl-absolute" or "xsl-fixed", respectively.</p><p><em>Trait Derivation:</em></p><p>The <a href="#reference-orientation" class="property">reference-orientation</a> and <a href="#writing-mode" class="property">writing-mode</a> traits of the viewport-area
and reference-area come from the <a href="#fo_inline-container" class="el">fo:inline-container</a>. These determine
the orientation of the start-edge, end-edge, before-edge and after-edge
of the content-rectangle of the viewport-area, and of the padding-,
border-, and content-rectangles of the reference-area.
The <span class="trait">reference-orientation</span> of the
reference-area is set to "0" and is, therefore, the
same as the orientation established by the viewport-area.
The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the reference-area is the same as that
of the viewport-area, and may not be "auto" if the
inline-progression-direction is different from that of the parent of the
<a href="#fo_inline-container" class="el">fo:inline-container</a>. The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
reference-area is not constrained; thus the reference-area may be larger
than the viewport-area and this may cause the "<a href="#overflow" class="property">overflow</a>" property to
operate.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>As a property value applies to each of the areas
generated by this flow object the <a href="#size" class="property">size</a> can vary from instance
to instance if the value is "auto" or a
&lt;length-range&gt;.</p></div><p>The values in the baseline-table of
this object are calculated as follows:</p><dl><dt class="label">baseline</dt><dd><p>If the writing mode has a block-progression-direction that
is parallel to the block-progression-direction of the parent:
the alignment-point is at the <a href="#position" class="property">position</a> of the <a href="#dominant-baseline" class="property">dominant-baseline</a>
of the first descendant line-area. If there is no such line-area
the alignment-point is at the <a href="#position" class="property">position</a> of the after-edge of the allocation rectangle.
</p><p>If the writing mode has a block-progression-direction that
is not parallel to the block-progression-direction of the parent:
the alignment-point is at the <a href="#position" class="property">position</a> that is half way between
the before-edge and after-edge of the content rectangle.
</p></dd><dt class="label">before-edge</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> of the before-edge of
the allocation rectangle.
</p></dd><dt class="label">text-before-edge</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is the closest
to the before-edge of the allocation rectangle selected from the
two candidate edges.
If the writing mode has a block-progression-direction that
is parallel to the block-progression-direction of the parent
the candidate edges are the before-edge and
the after-edge of the content rectangle; if it is not, the candidate
edges are the start-edge and the end-edge of the content rectangle.
</p></dd><dt class="label">middle</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is half way between
the before-edge and after-edge of the allocation rectangle.
</p></dd><dt class="label">after-edge</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> of the after-edge of
the allocation rectangle.
</p></dd><dt class="label">text-after-edge</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is the closest
to the after-edge of the allocation rectangle selected from the
two candidate edges.
If the writing mode has a block-progression-direction that
is parallel to the block-progression-direction of the parent
the candidate edges are the before-edge and
the after-edge of the content rectangle; if it is not, the candidate
edges are the start-edge and the end-edge of the content rectangle.
</p></dd><dt class="label">ideographic</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is
7/10 of the distance from the before-edge of the allocation rectangle
to the after-edge of the allocation rectangle.
</p></dd><dt class="label">alphabetic</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is
6/10 of the distance from the before-edge of the allocation rectangle
to the after-edge of the allocation rectangle.
</p></dd><dt class="label">hanging</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is
2/10 of the distance from the before-edge of the allocation rectangle
to the after-edge of the allocation rectangle.
</p></dd><dt class="label">mathematical</dt><dd><p>The alignment-point is at the <a href="#position" class="property">position</a> that is
5/10 of the distance from the before-edge of the allocation rectangle
to the after-edge of the allocation rectangle.
</p></dd></dl><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_inline-container" class="el">fo:inline-container</a> formatting object.</p><p>The children of each reference-area generated by an <a href="#fo_inline-container" class="el">fo:inline-container</a>
formatting object
must be normal <b>block-area</b>s returned by the children of the <a href="#fo_inline-container" class="el">fo:inline-container</a>,
must be <b>properly stacked</b>, and
must be <b>properly ordered</b>.
</p><p>Any <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_inline-container" class="el">fo:inline-container</a>
are handled as described in <a href="#fo_float"><b>6.12.2 fo:float</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#clip"><b>7.22.1 clip</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#overflow"><b>7.22.2 overflow</b></a><br/><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a><br/><a href="#width"><b>7.16.14 width</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_leader" id="fo_leader"/>6.6.9 fo:leader</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_leader" class="el">fo:leader</a> formatting object is often used:</p><ul><li><p>in table-of-contents
to generate sequences of "." glyphs that separate
titles from page numbers</p></li><li><p>to create entry fields in fill-in-the-blank forms</p></li><li><p>to create horizontal rules for use as separators</p></li></ul><p><em>Areas:</em></p><p>The <a href="#fo_leader" class="el">fo:leader</a> formatting object generates and returns
a single normal <b>inline-area</b>.</p><p><em>Trait Derivation:</em></p><p>If the value of the <span class="trait">leader-pattern</span> is "use-content"
the <span class="trait">block-progression-dimension</span> of the content-rectangle is determined
in the same manner as for inline-areas; otherwise it is determined by
the <span class="trait">rule-thickness</span> trait.</p><p><em>Constraints:</em></p><p>If the leader's minimum length is too long to place in the
line-area, the leader will begin a new line. If it is too long to be
placed in a line by itself, it will <a href="#overflow" class="property">overflow</a> the line and potentially
<a href="#overflow" class="property">overflow</a> the reference-area in accordance with that container's
<span class="trait">overflow</span> trait.</p><p>The <a href="#fo_leader" class="el">fo:leader</a> formatting object can have any inline formatting objects and
characters as its children, except that <a href="#fo_leader" class="el">fo:leader</a>s may not be nested.
Its children
are ignored unless the value of the <span class="trait">leader-pattern</span> trait is "use-content".</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the value of the <span class="trait">leader-pattern</span> trait is "use-content"
and the <a href="#fo_leader" class="el">fo:leader</a> has no children, the leader shall be filled with
blank space.</p></div><p>The inline-area generated by the <a href="#fo_leader" class="el">fo:leader</a> has a dimension in the
inline-progression-direction which shall be at least the
<span class="trait">leader-length.minimum</span> and at most the
<span class="trait">leader-length.maximum</span>.</p><p>For lines-areas that have been specified to be justified, the justified
line-area must honor the <span class="trait">leader-alignment</span> trait of any inline-areas
generated by <a href="#fo_leader" class="el">fo:leader</a>s.</p><p>If the value of the <span class="trait">leader-pattern</span> trait is "dots" or "use-content",
the following constraint applies:</p><p>
The inline-area generated by the <a href="#fo_leader" class="el">fo:leader</a> has as its children the areas
returned by children of the <a href="#fo_leader" class="el">fo:leader</a>, or obtained by formatting the pattern
specified in the <span class="trait">leader-pattern</span> trait, repeated an integral number of
times. If the <a href="#width" class="property">width</a> of even a single repetition is larger than the dimension
of the inline-area in the inline-progression-direction, the inline-area shall
be filled with blank space. The <a href="#space-start" class="property">space-start</a> and <a href="#space-end" class="property">space-end</a> of the child areas
is set to account for the constraints specified in the
<span class="trait">leader-pattern-width</span>
and <span class="trait">leader-alignment</span> traits.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If it is desired that the leader should stretch to fill all available space
on a line, the maximum length of the leader should be specified to be at least as
large as the column width.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The alignment of the leader may be <a href="#script" class="property">script</a> specific and may require indicating
what alignment point is required, because it is different from the default alignment for
the script. For example, in some usage of Indic scripts the leader is aligned at the
alphabetic baseline.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>An <a href="#fo_leader" class="el">fo:leader</a> can be wrapped in an <a href="#fo_block" class="el">fo:block</a>, yielding a block-area
with a line-area containing the leader,
to create a rule for separating
or decorating block-areas.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div><p>The content must not contain an <a href="#fo_leader" class="el">fo:leader</a>, <a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_float" class="el">fo:float</a>, <a href="#fo_footnote" class="el">fo:footnote</a>, or <a href="#fo_marker" class="el">fo:marker</a>
either as a direct child or as a descendant.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#leader-alignment"><b>7.23.1 leader-alignment</b></a><br/><a href="#leader-length"><b>7.23.4 leader-length</b></a><br/><a href="#leader-pattern"><b>7.23.2 leader-pattern</b></a><br/><a href="#leader-pattern-width"><b>7.23.3 leader-pattern-width</b></a><br/><a href="#rule-style"><b>7.23.5 rule-style</b></a><br/><a href="#rule-thickness"><b>7.23.6 rule-thickness</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-number" id="fo_page-number"/>6.6.10 fo:page-number</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_page-number" class="el">fo:page-number</a> formatting object is used to obtain an
inline-area
whose content is
the page-number for the page on which the inline-area is
placed.</p><p><em>Areas:</em></p><p>The <a href="#fo_page-number" class="el">fo:page-number</a> formatting object generates and returns
a single normal <b>inline-area</b>.</p><p><em>Constraints:</em></p><p>The content of the inline-area depends on the
<b>reference-page</b> and the <b>reference-page-sequence</b>.
For the <a href="#fo_page-number" class="el">fo:page-number</a> the <b>reference-page</b> is the page
on which the inline-area is placed and the
<b>reference-page-sequence</b> is the ancestor <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
of the <a href="#fo_page-number" class="el">fo:page-number</a>.</p><p>The child areas of this inline-area are the same as the result of
formatting a result-tree fragment consisting of
the content of any <a href="#fo_folio-prefix" class="el">fo:folio-prefix</a> child of the
<b>reference-page-sequence</b>,
followed by <a href="#fo_character" class="el">fo:character</a> flow
objects; one for each <a href="#character" class="property">character</a> in the folio-number string and
with only the "<a href="#character" class="property">character</a>" property specified,
followed by the
content of any <a href="#fo_folio-suffix" class="el">fo:folio-suffix</a> child of the
<b>reference-page-sequence</b>.</p><p>The folio-number string is obtained by converting the folio-number
for the <b>reference-page</b> in accordance with the
number to string conversion properties of the
<b>reference-page-sequence</b>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The conversion properties are:
<a href="#format"><b>7.27.1 format</b></a>,
<a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a>,
<a href="#grouping-size"><b>7.27.3 grouping-size</b></a>,
<a href="#letter-value"><b>7.27.4 letter-value</b></a>,
<a href="#country"><b>7.10.1 country</b></a>, and
<a href="#language"><b>7.10.6 language</b></a>.
</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#text-transform"><b>7.18.6 text-transform</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a><br/><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-number-citation" id="fo_page-number-citation"/>6.6.11 fo:page-number-citation</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a> is used to reference the
page-number for the page containing the first <b>normal</b>
area returned by the cited formatting
object.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It may be used to provide the page-numbers in the table of contents,
cross-references, and index entries.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a> formatting object generates and returns
a single normal <b>inline-area</b>.</p><p><em>Constraints:</em></p><p>The <b>cited page</b> is the page containing,
as a descendant, the
first normal area returned by the formatting object with
an <span class="trait">id</span> trait matching the <span class="trait">ref-id</span> trait
of the <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a> (the referenced formatting object).</p><p>The child areas of the generated inline-area are the same as
the result of formatting the result-tree fragment,
defined in <a href="#fo_page-number"><b>6.6.10 fo:page-number</b></a>,
using the <b>cited page</b> as the <b>reference-page</b>,
and the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> that generated the <b>cited-page</b>
as the <b>reference-page-sequence</b>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#ref-id"><b>7.31.13 ref-id</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#text-transform"><b>7.18.6 text-transform</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a><br/><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_page-number-citation-last" id="fo_page-number-citation-last"/>6.6.12 fo:page-number-citation-last</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a> is used to reference the
page-number for the last page containing an
area that is (a) returned by the cited formatting
object and (b) has an area-class that is consistent with the specified page-citation-strategy.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It may be used to provide the page-numbers in the table of contents,
cross-references, and, when combined with <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>, for page range entries.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a> formatting object generates and returns
a single normal <b>inline-area</b>.</p><p><em>Constraints:</em></p><p>The <b>cited page</b> is the page of the last page area
(in the pre-order traversal order of the area tree) that satisfies
the constraints of the <span class="trait">page-citation-strategy</span> on
this <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>. </p><p>The child areas of the generated inline-area are the same as
the result of formatting the result-tree fragment,
defined in <a href="#fo_page-number"><b>6.6.10 fo:page-number</b></a>,
using the <b>cited page</b> as the <b>reference-page</b>,
and the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> that generated the <b>cited-page</b>
as the <b>reference-page-sequence</b>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#page-citation-strategy"><b>7.31.10 page-citation-strategy</b></a><br/><a href="#ref-id"><b>7.31.13 ref-id</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#text-transform"><b>7.18.6 text-transform</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a><br/><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_folio-prefix" id="fo_folio-prefix"/>6.6.13 fo:folio-prefix</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_folio-prefix" class="el">fo:folio-prefix</a> formatting object specifies
a static prefix for the folio numbers within a page-sequence.</p><p><em>Areas:</em></p><p>The <a href="#fo_folio-prefix" class="el">fo:folio-prefix</a> formatting object does not directly produce
any areas.
Its children will be retrieved and used when formatting page numbers.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div><p>An <a href="#fo_folio-prefix" class="el">fo:folio-prefix</a> is not permitted to have an
<a href="#fo_page-number" class="el">fo:page-number</a>, <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>, or <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>
as a descendant.</p></div><div class="div3">
<h4><a name="fo_folio-suffix" id="fo_folio-suffix"/>6.6.14 fo:folio-suffix</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_folio-suffix" class="el">fo:folio-suffix</a> formatting object specifies
a static suffix for the folio numbers within a page-sequence.</p><p><em>Areas:</em></p><p>The <a href="#fo_folio-suffix" class="el">fo:folio-suffix</a> formatting object does not directly produce
any areas.
Its children will be retrieved and used when formatting page numbers.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div><p>An <a href="#fo_folio-suffix" class="el">fo:folio-suffix</a> is not permitted to have an
<a href="#fo_page-number" class="el">fo:page-number</a>, <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>, or <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>
as a descendant.</p></div><div class="div3">
<h4><a name="fo_scaling-value-citation" id="fo_scaling-value-citation"/>6.6.15 fo:scaling-value-citation</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a> is used to obtain the
scale-factor applied to the cited <a href="#fo_external-graphic" class="el">fo:external-graphic</a>.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It may be used to provide the scale used in applications where a
graphic is normally shown at true <a href="#size" class="property">size</a>, but is scaled down if it
does not fit.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a> formatting object generates and returns
a single normal <b>inline-area</b>.</p><p><em>Constraints:</em></p><p>The cited <a href="#fo_external-graphic" class="el">fo:external-graphic</a> is the
<a href="#fo_external-graphic" class="el">fo:external-graphic</a> with an <span class="trait">id</span> trait matching
the <span class="trait">ref-id</span> trait of the
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>The <b>applied scale-factor</b> is the scale-factor that was
applied to the intrinsic <a href="#size" class="property">size</a> of the cited <a href="#fo_external-graphic" class="el">fo:external-graphic</a>
multiplied by the value of the "<a href="#intrinsic-scale-value" class="property">intrinsic-scale-value</a>" property.
It is expressed as an integer percentage value.
The "<a href="#scale-option" class="property">scale-option</a>" property specifies if the scale-factor for the <a href="#width" class="property">width</a>
or <a href="#height" class="property">height</a> should be used.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In the case when the graphics <a href="#format" class="property">format</a> does not specify an intrinsic
<a href="#size" class="property">size</a> of the graphic and the <a href="#size" class="property">size</a> has been determined in an
implementation-defined manner the scale factor obtained may not be
meaningful.</p></div><p>The <b>applied scale-factor string</b> is obtained by converting
the applied scale-factor in accordance with the
number to string conversion properties.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The conversion properties are:
<a href="#format"><b>7.27.1 format</b></a>,
<a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a>,
<a href="#grouping-size"><b>7.27.3 grouping-size</b></a>,
<a href="#letter-value"><b>7.27.4 letter-value</b></a>,
<a href="#country"><b>7.10.1 country</b></a>, and
<a href="#language"><b>7.10.6 language</b></a>.
</p></div><p>The child areas of the generated inline-area are the same as the result of
formatting a result-tree fragment consisting of <a href="#fo_character" class="el">fo:character</a> flow
objects; one for each <a href="#character" class="property">character</a> in the applied scale-factor string and
with only the "<a href="#character" class="property">character</a>" property specified.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-font-properties"><b>7.9 Common Font Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#country"><b>7.10.1 country</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#format"><b>7.27.1 format</b></a><br/><a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a><br/><a href="#grouping-size"><b>7.27.3 grouping-size</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#language"><b>7.10.6 language</b></a><br/><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a><br/><a href="#letter-value"><b>7.27.4 letter-value</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#intrinsic-scale-value"><b>7.31.9 intrinsic-scale-value</b></a><br/><a href="#ref-id"><b>7.31.13 ref-id</b></a><br/><a href="#score-spaces"><b>7.31.15 score-spaces</b></a><br/><a href="#scale-option"><b>7.31.14 scale-option</b></a><br/><a href="#text-altitude"><b>7.30.4 text-altitude</b></a><br/><a href="#text-decoration"><b>7.18.4 text-decoration</b></a><br/><a href="#text-depth"><b>7.30.5 text-depth</b></a><br/><a href="#text-shadow"><b>7.18.5 text-shadow</b></a><br/><a href="#text-transform"><b>7.18.6 text-transform</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a><br/><a href="#word-spacing"><b>7.18.8 word-spacing</b></a><br/><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></blockquote></div></div><div class="div2">
<h3><a name="d2e17500" id="d2e17500"/>6.7 Formatting Objects for Tables</h3><div class="div3">
<h4><a name="d2e17503" id="d2e17503"/>6.7.1 Introduction</h4><p>There are nine formatting objects used to construct tables:
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.
The result tree structure is shown below.
</p><div style="margin-left: 3em;">
<img src="figures/TableTree.gif" alt="A tree representation of table Formatting Objects showing how they fit within one another." title="Tree representation of the Formatting Objects for tables"/>
<p><b>Figure 36. </b>Tree Representation of the Formatting Objects for Tables</p>
</div><div class="div4">
<h5><a name="d2e17544" id="d2e17544"/>6.7.1.1 Examples</h5><div class="div5">
<h6><a name="d2e17547" id="d2e17547"/>6.7.1.1.1 Simple Table, Centered and Indented</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;table&gt;
&lt;caption&gt;&lt;p&gt;Caption for this table&lt;/p&gt;&lt;/caption&gt;
&lt;tgroup cols="3" width="325pt"&gt;
&lt;colspec colwidth="100pt"/&gt;
&lt;colspec colwidth="150pt"/&gt;
&lt;colspec colwidth="75pt"/&gt;
&lt;tbody&gt;
&lt;row&gt;
&lt;entry&gt;&lt;p&gt;Cell 1&lt;/p&gt;&lt;/entry&gt;
&lt;entry&gt;&lt;p&gt;Cell 2&lt;/p&gt;&lt;/entry&gt;
&lt;entry&gt;&lt;p&gt;Cell 3&lt;/p&gt;&lt;/entry&gt;
&lt;/row&gt;
&lt;/tbody&gt;
&lt;/tgroup&gt;
&lt;/table&gt;
&lt;/doc&gt;
</pre></div><p>The table and its caption is centered in the available space
between the following indents: <a href="#start-indent" class="property">start-indent</a>="100pt" and <a href="#end-indent" class="property">end-indent</a>="0pt".
The centering and indent is not desired for the content of the caption
and the cells.
</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:attribute-set name="inside-table"&gt;
&lt;xsl:attribute name="start-indent"&gt;0pt&lt;/xsl:attribute&gt;
&lt;xsl:attribute name="text-align"&gt;start&lt;/xsl:attribute&gt;
&lt;/xsl:attribute-set&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="table"&gt;
&lt;fo:table-and-caption text-align="center" start-indent="100pt"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-and-caption&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="caption"&gt;
&lt;fo:table-caption xsl:use-attribute-sets="inside-table"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-caption&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="tgroup"&gt;
&lt;fo:table width="{@width}" table-layout="fixed"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="colspec"&gt;
&lt;fo:table-column column-width="{@colwidth}"&gt;
&lt;xsl:attribute name="column-number"&gt;
&lt;xsl:number count="colspec"/&gt;
&lt;/xsl:attribute&gt;
&lt;/fo:table-column&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="tbody"&gt;
&lt;fo:table-body xsl:use-attribute-sets="inside-table"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-body&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="row"&gt;
&lt;fo:table-row&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-row&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="entry"&gt;
&lt;fo:table-cell&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-cell&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:table-and-caption text-align="center" start-indent="100pt"&gt;
&lt;fo:table-caption start-indent="0pt" text-align="start"&gt;
&lt;fo:block&gt;Caption for this table
&lt;/fo:block&gt;
&lt;/fo:table-caption&gt;
&lt;fo:table width="325pt" table-layout="fixed"&gt;
&lt;fo:table-column column-width="100pt" column-number="1"&gt;
&lt;/fo:table-column&gt;
&lt;fo:table-column column-width="150pt" column-number="2"&gt;
&lt;/fo:table-column&gt;
&lt;fo:table-column column-width="75pt" column-number="3"&gt;
&lt;/fo:table-column&gt;
&lt;fo:table-body start-indent="0pt" text-align="start"&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;Cell 1
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;Cell 2
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;Cell 3
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:table-body&gt;
&lt;/fo:table&gt;
&lt;/fo:table-and-caption&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e17570" id="d2e17570"/>6.7.1.1.2 Simple Table with Relative Column-width Specifications</h6><p>This example is using a simple, "Oasis-table-model-like", markup for the
table elements. The column-widths are specified using full
relative <a href="#column-width" class="property">column-width</a> specification.</p><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;table&gt;
&lt;tgroup cols="3"&gt;
&lt;colspec colname="col1" colwidth="1*"/&gt;
&lt;colspec colname="col2" colwidth="2*+2pi"/&gt;
&lt;colspec colname="col3" colwidth="72"/&gt;
&lt;tbody&gt;
&lt;row&gt;
&lt;entry colnum="1" valign="top"&gt;&lt;p&gt;Cell 1&lt;/p&gt;&lt;/entry&gt;
&lt;entry colnum="2" valign="middle" align="center"&gt;&lt;p&gt;Cell 2&lt;/p&gt;&lt;/entry&gt;
&lt;entry colnum="3" align="center"&gt;&lt;p&gt;Cell 3&lt;/p&gt;&lt;/entry&gt;
&lt;/row&gt;
&lt;/tbody&gt;
&lt;/tgroup&gt;
&lt;/table&gt;
&lt;/doc&gt;
</pre></div><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="table"&gt;
&lt;fo:table width="12cm" table-layout="fixed"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="colspec"&gt;
&lt;fo:table-column&gt;
&lt;xsl:attribute name="column-number"&gt;
&lt;xsl:number count="colspec"/&gt;
&lt;/xsl:attribute&gt;
&lt;xsl:attribute name="column-width"&gt;
&lt;xsl:call-template name="calc.column.width"&gt;
&lt;xsl:with-param name="colwidth"&gt;
&lt;xsl:value-of select="@colwidth"/&gt;
&lt;/xsl:with-param&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:attribute&gt;
&lt;/fo:table-column&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="tbody"&gt;
&lt;fo:table-body&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-body&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="row"&gt;
&lt;fo:table-row&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-row&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="entry"&gt;
&lt;fo:table-cell column-number="{@colnum}"&gt;
&lt;xsl:if test="@valign"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="@valign='middle'"&gt;
&lt;xsl:attribute name="display-align"&gt;center&lt;/xsl:attribute&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="@valign='top'"&gt;
&lt;xsl:attribute name="display-align"&gt;before&lt;/xsl:attribute&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="@valign='bottom'"&gt;
&lt;xsl:attribute name="display-align"&gt;after&lt;/xsl:attribute&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:attribute name="display-align"&gt;before&lt;/xsl:attribute&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:if&gt;
&lt;xsl:if test="@align"&gt;
&lt;xsl:attribute name="text-align"&gt;
&lt;xsl:value-of select="@align"/&gt;
&lt;/xsl:attribute&gt;
&lt;/xsl:if&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-cell&gt;
&lt;/xsl:template&gt;
&lt;xsl:template name="calc.column.width"&gt;
&lt;!-- **
* &lt;p&gt;Calculate an XSL FO table column-width specification from a
* full relative table column-width specification.&lt;/p&gt;
*
* &lt;p&gt;Table column-widths are in the following basic
* forms:&lt;/p&gt;
*
* &lt;ul&gt;
* &lt;li&gt;&lt;b&gt;99.99units&lt;/b&gt;, a fixed length-specifier.&lt;/li&gt;
* &lt;li&gt;&lt;b&gt;99.99&lt;/b&gt;, a fixed length-specifier without any units.&lt;/li&gt;
* &lt;li&gt;&lt;b&gt;99.99*&lt;/b&gt;, a relative length-specifier.&lt;/li&gt;
* &lt;li&gt;&lt;b&gt;99.99*+99.99units&lt;/b&gt;, a combination of both.&lt;/li&gt;
* &lt;/ul&gt;
*
* &lt;p&gt;The units are points (pt), picas (pi), centimeters (cm),
* millimeters (mm), and inches (in). These are the same units as XSL,
* except that XSL abbreviates picas "pc" instead of "pi". If a length
* specifier has no units, the default unit (pt) is assumed.&lt;/p&gt;
*
* &lt;p&gt;Relative length-specifiers are represented in XSL with the
* proportional-column-width() function.&lt;/p&gt;
*
* &lt;p&gt;Here are some examples:&lt;/p&gt;
*
* &lt;ul&gt;
* &lt;li&gt;"36pt" becomes "36pt"&lt;/li&gt;
* &lt;li&gt;"3pi" becomes "3pc"&lt;/li&gt;
* &lt;li&gt;"36" becomes "36pt"&lt;/li&gt;
* &lt;li&gt;"3*" becomes "proportional-column-width(3)"&lt;/li&gt;
* &lt;li&gt;"3*+2pi" becomes "proportional-column-width(3)+2pc"&lt;/li&gt;
* &lt;li&gt;"1*+2" becomes "proportional-column-width(1)+2pt"&lt;/li&gt;
* &lt;/ul&gt;
*
* @param colwidth The column width specification.
*
* @returns The XSL column width specification.
* --&gt;
&lt;xsl:param name="colwidth"&gt;1*&lt;/xsl:param&gt;
&lt;!-- Ok, the colwidth could have any one of the following forms: --&gt;
&lt;!-- 1* = proportional width --&gt;
&lt;!-- 1unit = 1.0 units wide --&gt;
&lt;!-- 1 = 1pt wide --&gt;
&lt;!-- 1*+1unit = proportional width + some fixed width --&gt;
&lt;!-- 1*+1 = proportional width + some fixed width --&gt;
&lt;!-- If it has a proportional width, translate it to XSL --&gt;
&lt;xsl:if test="contains($colwidth, '*')"&gt;
&lt;xsl:text&gt;proportional-column-width(&lt;/xsl:text&gt;
&lt;xsl:value-of select="substring-before($colwidth, '*')"/&gt;
&lt;xsl:text&gt;)&lt;/xsl:text&gt;
&lt;/xsl:if&gt;
&lt;!-- Now get the non-proportional part of the specification --&gt;
&lt;xsl:variable name="width-units"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="contains($colwidth, '*')"&gt;
&lt;xsl:value-of
select="normalize-space(substring-after($colwidth, '*'))"/&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:value-of select="normalize-space($colwidth)"/&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:variable&gt;
&lt;!-- Now the width-units could have any one of the following forms: --&gt;
&lt;!-- = &lt;empty string&gt; --&gt;
&lt;!-- 1unit = 1.0 units wide --&gt;
&lt;!-- 1 = 1pt wide --&gt;
&lt;!-- with an optional leading sign --&gt;
&lt;!-- Get the width part by blanking out the units part and discarding --&gt;
&lt;!-- white space. --&gt;
&lt;xsl:variable name="width"
select="normalize-space(translate($width-units,
'+-0123456789.abcdefghijklmnopqrstuvwxyz',
'+-0123456789.'))"/&gt;
&lt;!-- Get the units part by blanking out the width part and discarding --&gt;
&lt;!-- white space. --&gt;
&lt;xsl:variable name="units"
select="normalize-space(translate($width-units,
'abcdefghijklmnopqrstuvwxyz+-0123456789.',
'abcdefghijklmnopqrstuvwxyz'))"/&gt;
&lt;!-- Output the width --&gt;
&lt;xsl:value-of select="$width"/&gt;
&lt;!-- Output the units, translated appropriately --&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="$units = 'pi'"&gt;pc&lt;/xsl:when&gt;
&lt;xsl:when test="$units = '' and $width != ''"&gt;pt&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;&lt;xsl:value-of select="$units"/&gt;&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:table width="12cm" table-layout="fixed"&gt;
&lt;fo:table-column column-number="1" column-width="proportional-column-width(1)"&gt;
&lt;/fo:table-column&gt;
&lt;fo:table-column column-number="2" column-width="proportional-column-width(2)+2pc"&gt;
&lt;/fo:table-column&gt;
&lt;fo:table-column column-number="3" column-width="72pt"&gt;
&lt;/fo:table-column&gt;
&lt;fo:table-body&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell column-number="1" display-align="before"&gt;
&lt;fo:block&gt;Cell 1
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;fo:table-cell column-number="2" display-align="center" text-align="center"&gt;
&lt;fo:block&gt;Cell 2
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;fo:table-cell column-number="3" text-align="center"&gt;
&lt;fo:block&gt;Cell 3
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:table-body&gt;
&lt;/fo:table&gt;
</pre></div></div></div></div><div class="div3">
<h4><a name="fo_table-and-caption" id="fo_table-and-caption"/>6.7.2 fo:table-and-caption</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> flow object is used for
formatting a table
together with its caption.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> may be placed inline by enclosing
it in an <a href="#fo_inline-container" class="el">fo:inline-container</a>.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>This formatting object corresponds to the CSS anonymous
box that encloses the table caption and the table.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> formatting object generates one or more
<b>normal</b> <b>block-area</b>s.
The <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> returns these areas, any
<b>page-level-out-of-line</b> areas, and
any <b>reference-level-out-of-line</b> areas
returned by the children of the <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>.</p><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> formatting object.</p><p>The children of the areas generated by the <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>
are one or two areas;
one for the table caption and one for the table itself.
These are positioned relative to each other as specified by the
<span class="trait">caption-side</span> trait.
They are placed relative to the content-rectangle of the generated area
as specified by the <span class="trait">text-align</span> trait.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_table-caption">table-caption</a>?,<a href="#fo_table">table</a>)
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#caption-side"><b>7.29.7 caption-side</b></a><br/><a href="#clear"><b>7.20.1 clear</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#text-align"><b>7.17.8 text-align</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table" id="fo_table"/>6.7.3 fo:table</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table" class="el">fo:table</a> flow object is used for formatting the
tabular material
of a table.</p><p>The <a href="#fo_table" class="el">fo:table</a> flow object and its child flow objects
model the
visual layout of a table in a "row primary" manner. A complete table
may be seen as consisting of a grid of rows and columns where each
cell occupies one or more grid units in the row-progression-direction
and column-progression-direction.</p><p>The table content is divided into a header (optional), footer (optional),
and one or more bodies. Properties specify if the headers and footers
should be repeated at a break in the table. Each of these parts occupies
one or more rows in the table grid.</p><p><em>Areas:</em></p><p>The <a href="#fo_table" class="el">fo:table</a> formatting object generates and
returns one or more
<b>normal</b> <b>block-area</b>s.
These areas
consist of the content of the <a href="#fo_table-header" class="el">fo:table-header</a>
(unless omitted as specified by the "<a href="#table-omit-header-at-break" class="property">table-omit-header-at-break</a>"
property),
followed by some portion of the content of the <a href="#fo_table-body" class="el">fo:table-body</a>(s),
followed by the content of the <a href="#fo_table-footer" class="el">fo:table-footer</a>
(unless omitted as specified by the "<a href="#table-omit-footer-at-break" class="property">table-omit-footer-at-break</a>"
property).
In addition the <a href="#fo_table" class="el">fo:table</a> returns any
<b>page-level-out-of-line</b> areas, and
any <b>reference-level-out-of-line</b> areas
returned by the children of the <a href="#fo_table" class="el">fo:table</a>.</p><p>The areas generated and returned by the <a href="#fo_table" class="el">fo:table</a> formatting object have
as children:</p><ul><li><p>Areas, with only <a href="#background" class="property">background</a>, corresponding to the
table-header, table-footer, table-body,
spanned columns, columns, and rows.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The spanned columns (<a href="#fo_table-column" class="el">fo:table-column</a> with a "<a href="#number-columns-spanned" class="property">number-columns-spanned</a>"
value greater than 1) are used in the same way as the "column groups"
in CSS2 for determining the background.</p></div></li><li><p>Areas returned by the <a href="#fo_table-cell" class="el">fo:table-cell</a> formatting objects.</p></li></ul><p>These areas have a <a href="#z-index" class="property">z-index</a> controlling the rendering order
determined in accordance with 17.5.1 of the CSS2 specification
(<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#table-layers">http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#table-layers"</a>).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A cell that is spanned may have a different <a href="#background" class="property">background</a> in each
of the grid units it occupies.</p></div><p><em>Trait Derivation:</em></p><p>The column-progression-direction and row-progression-direction are
determined by the <span class="trait">writing-mode</span> trait. Columns use the
inline-progression-direction, and
rows use the block-progression-direction.
</p><p>The method for deriving the <a href="#border" class="property">border</a> traits for a table is
specified by the "<a href="#border-collapse" class="property">border-collapse</a>" property.</p><p>If the value of the "<a href="#border-collapse" class="property">border-collapse</a>" property is
"separate" the <a href="#border" class="property">border</a>
is composed of two components. The first, which is placed
with the inside edge coincident with the outermost table grid boundary line,
has the <a href="#width" class="property">width</a> of half the value for the "<a href="#border-separation" class="property">border-separation</a>" property.
It is filled in accordance with the "<a href="#background" class="property">background</a>" property of the <a href="#fo_table" class="el">fo:table</a>.
Second, outside the outermost table grid boundary line
is placed, for each side of the table, a <a href="#border" class="property">border</a> based
on a <a href="#border" class="property">border</a> specified on the table.</p><p>If the value of the "<a href="#border-collapse" class="property">border-collapse</a>" property is "collapse"
or "collapse-with-precedence" the <a href="#border" class="property">border</a>
is determined, for each segment, at the cell level.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>By specifying "collapse-with-precedence" and
an appropriately
high <a href="#precedence" class="property">precedence</a> on the <a href="#border" class="property">border</a>
specification for the <a href="#fo_table" class="el">fo:table</a> one may ensure that this specification
is the one used on all <a href="#border" class="property">border</a> segments.</p></div><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_table" class="el">fo:table</a> formatting object.</p><p>The content of the <a href="#fo_table-header" class="el">fo:table-header</a> and <a href="#fo_table-footer" class="el">fo:table-footer</a>,
unless omitted as specified by the "<a href="#table-omit-header-at-break" class="property">table-omit-header-at-break</a>" and
"<a href="#table-omit-footer-at-break" class="property">table-omit-footer-at-break</a>" properties, shall be repeated for
each normal block-area generated and returned by the <a href="#fo_table" class="el">fo:table</a>
formatting object.</p><p>The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the content-rectangle of the table is the
sum of the inline-progression-dimensions
of the columns in the table grid. The method used to determine these
inline-progression-dimensions is governed by the values of
the <span class="trait">table-layout</span> and
the <span class="trait">inline-progression-dimension</span> traits in the following manner:</p><dl><dt class="label">inline-progression-dimension="auto" table-layout="auto"</dt><dd><p>The automatic table layout shall be used.</p></dd><dt class="label">inline-progression-dimension="auto" table-layout="fixed"</dt><dd><p>The automatic table layout shall be used.</p></dd><dt class="label">inline-progression-dimension=&lt;length&gt;
or &lt;percentage&gt; table-layout="auto"</dt><dd><p>The automatic table layout shall be used.</p></dd><dt class="label">inline-progression-dimension=&lt;length&gt;
or &lt;percentage&gt; table-layout="fixed"</dt><dd><p>The fixed table layout shall be used.</p></dd></dl><p>The automatic table layout and fixed table layout is defined in
17.5.2 of the CSS2 specification
(<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#width-layout">http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#width-layout"</a>).</p><p>The method for determining the <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the table is
governed by the <span class="trait">block-progression-dimension</span> trait.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The CSS2 specification explicitly does not specify
what the behavior
should be if there is a mismatch between an explicitly
specified table <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
and the block-progression-dimensions of the content.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of the "proportional-column-width()" function is only
permitted when the fixed table layout is used.</p><p>If the use of proportional column widths are
desired on a table of an unknown explicit <a href="#width" class="property">width</a>,
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> cannot be specified to be "auto".
Instead, the <a href="#width" class="property">width</a> must be specified as a percentage.
For example, setting <a href="#table-layout" class="property">table-layout</a>="fixed" and
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>="100%" would allow proportional
column widths while simultaneously creating a table as wide as
possible in the current context.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The result of using a percentage for
the <a href="#width" class="property">width</a> may be unpredictable, especially when using the
automatic table layout.
</p></div><p>It is an error if two or more table-cells overlap, for example because
two or more table-cells attempt to <a href="#span" class="property">span</a> rows or columns into the
same cell <a href="#position" class="property">position</a> within the table grid.
An implementation may recover from this error by repositioning the
table-cells so that all of the content is shown.</p><p>Table-cells must each be entirely contained both horizontally and
vertically in a single table-body, table-header or table-footer. It is
therefore an error if table-cells attempt to <a href="#span" class="property">span</a> too far. This might
for example happen in a table whose <a href="#table-layout" class="property">table-layout</a> is fixed by having a
<a href="#number-rows-spanned" class="property">number-rows-spanned</a> or <a href="#number-columns-spanned" class="property">number-columns-spanned</a> value larger than the number
of available rows or columns in the spanned direction. An implementation
may recover by behaving as if the table-cell spanned only as many rows
or columns as are actually available.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_table-column">table-column</a>*,<a href="#fo_table-header">table-header</a>?,<a href="#fo_table-footer">table-footer</a>?,<a href="#fo_table-body">table-body</a>+)
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-collapse"><b>7.29.3 border-collapse</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-separation"><b>7.29.5 border-separation</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#clear"><b>7.20.1 clear</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#table-layout"><b>7.29.16 table-layout</b></a><br/><a href="#table-omit-footer-at-break"><b>7.29.17 table-omit-footer-at-break</b></a><br/><a href="#table-omit-header-at-break"><b>7.29.18 table-omit-header-at-break</b></a><br/><a href="#width"><b>7.16.14 width</b></a><br/><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-column" id="fo_table-column"/>6.7.4 fo:table-column</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-column" class="el">fo:table-column</a> auxiliary formatting object specifies
characteristics
applicable to table cells that have the same column and span.
The most important property is the "<a href="#column-width" class="property">column-width</a>" property.</p><p><em>Areas:</em></p><p>The <a href="#fo_table-column" class="el">fo:table-column</a> formatting object does not generate
or return any areas.
It holds a set of traits that provide constraints on the
column widths and a specification of some presentation
characteristics, such as <a href="#background" class="property">background</a> which
affects the areas generated by the <a href="#fo_table" class="el">fo:table</a> (see <a href="#fo_table"><b>6.7.3 fo:table</b></a>).
Inheritable properties may also be specified on the <a href="#fo_table-column" class="el">fo:table-column</a>.
These can be referenced by the from-table-column() function
in an expression.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>More details, in particular the use of an <a href="#fo_table-column" class="el">fo:table-column</a>
with <a href="#number-columns-spanned" class="property">number-columns-spanned</a> greater than 1, are given in the
description of <a href="#fo_table" class="el">fo:table</a> and of the from-table-column() function.
</p></div><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a>
<em>Note</em>
Only the <a href="#background" class="property">background</a> properties:
<a href="#background-attachment" class="property">background-attachment</a>,
<a href="#background-color" class="property">background-color</a>,
<a href="#background-image" class="property">background-image</a>,
<a href="#background-repeat" class="property">background-repeat</a>,
<a href="#background-position-horizontal" class="property">background-position-horizontal</a>, and
<a href="#background-position-vertical" class="property">background-position-vertical</a>
from this set apply.
If the value of <a href="#border-collapse" class="property">border-collapse</a> is "collapse" or "collapse-with-precedence" for the table the
<a href="#border" class="property">border</a> properties:
<a href="#border-before-color" class="property">border-before-color</a>,
<a href="#border-before-style" class="property">border-before-style</a>,
<a href="#border-before-width" class="property">border-before-width</a>,
<a href="#border-after-color" class="property">border-after-color</a>,
<a href="#border-after-style" class="property">border-after-style</a>,
<a href="#border-after-width" class="property">border-after-width</a>,
<a href="#border-start-color" class="property">border-start-color</a>,
<a href="#border-start-style" class="property">border-start-style</a>,
<a href="#border-start-width" class="property">border-start-width</a>,
<a href="#border-end-color" class="property">border-end-color</a>,
<a href="#border-end-style" class="property">border-end-style</a>,
<a href="#border-end-width" class="property">border-end-width</a>,
<a href="#border-top-color" class="property">border-top-color</a>,
<a href="#border-top-style" class="property">border-top-style</a>,
<a href="#border-top-width" class="property">border-top-width</a>,
<a href="#border-bottom-color" class="property">border-bottom-color</a>,
<a href="#border-bottom-style" class="property">border-bottom-style</a>,
<a href="#border-bottom-width" class="property">border-bottom-width</a>,
<a href="#border-left-color" class="property">border-left-color</a>,
<a href="#border-left-style" class="property">border-left-style</a>,
<a href="#border-left-width" class="property">border-left-width</a>,
<a href="#border-right-color" class="property">border-right-color</a>,
<a href="#border-right-style" class="property">border-right-style</a>, and
<a href="#border-right-width" class="property">border-right-width</a>
also apply.<br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#column-number"><b>7.29.8 column-number</b></a><br/><a href="#column-width"><b>7.29.9 column-width</b></a><br/><a href="#number-columns-repeated"><b>7.29.12 number-columns-repeated</b></a><br/><a href="#number-columns-spanned"><b>7.29.13 number-columns-spanned</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-caption" id="fo_table-caption"/>6.7.5 fo:table-caption</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-caption" class="el">fo:table-caption</a> formatting object
is used to contain block-level formatting objects containing
the caption for the table only when using the <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>. </p><p><em>Areas:</em></p><p>The <a href="#fo_table-caption" class="el">fo:table-caption</a> formatting object generates one or more
<b>normal</b> <b>reference-area</b>s.
The <a href="#fo_table-caption" class="el">fo:table-caption</a> returns these reference-areas and any
<b>page-level-out-of-line</b> areas
returned by the children of the <a href="#fo_table-caption" class="el">fo:table-caption</a>.</p><p><em>Constraints:</em></p><p>For the case when the value of the <span class="trait">caption-side</span>
trait is "before" or "after" the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of
the content-rectangle of the generated
reference-area is equal to the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of
the content-rectangle of the reference-area that encloses
it.</p><p>When the value is "start" or "end" the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the generated reference-area is constrained by the value of
the <span class="trait">inline-progression-dimension</span> trait.</p><p>When the value is "top", "<a href="#bottom" class="property">bottom</a>", "<a href="#left" class="property">left</a>", or
"<a href="#right" class="property">right</a>" the value is mapped in the same way as for corresponding
properties (see <a href="#compcorr"><b>5.3 Computing the Values of Corresponding Properties</b></a>) and the property is then
treated as if the corresponding value had been specified.</p><p>If the caption
is to be positioned before the table, the areas generated by
the <a href="#fo_table-caption" class="el">fo:table-caption</a> shall be placed in the area tree as though the <a href="#fo_table-caption" class="el">fo:table-caption</a>
had a "<a href="#keep-with-next" class="property">keep-with-next</a>" property with value "always".</p><p>If the caption is to be positioned after the table, the areas generated by
the <a href="#fo_table-caption" class="el">fo:table-caption</a> shall be placed in the area tree as though the <a href="#fo_table-caption" class="el">fo:table-caption</a>
had a "<a href="#keep-with-previous" class="property">keep-with-previous</a>" property with value "always".</p><p>No area may have more than one normal child area
returned by the same <a href="#fo_table-caption" class="el">fo:table-caption</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_table-caption" class="el">fo:table-caption</a>
formatting object
must be normal <b>block-area</b>s returned by the children of
the <a href="#fo_table-caption" class="el">fo:table-caption</a>,
must be <b>properly stacked</b>, and
must be <b>properly ordered</b>.
</p><p>Any <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_table-caption" class="el">fo:table-caption</a>
are handled as described in <a href="#fo_float"><b>6.12.2 fo:float</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#width"><b>7.16.14 width</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-header" id="fo_table-header"/>6.7.6 fo:table-header</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-header" class="el">fo:table-header</a> formatting object is used to contain
the content
of the table header.</p><p><em>Areas:</em></p><p>The <a href="#fo_table-header" class="el">fo:table-header</a> formatting object does not generate any areas. The
<a href="#fo_table-header" class="el">fo:table-header</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_table-header" class="el">fo:table-header</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_table-header" class="el">fo:table-header</a>
is the same order as the children are ordered under the <a href="#fo_table-header" class="el">fo:table-header</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_table-row">table-row</a>+|<a href="#fo_table-cell">table-cell</a>+)
</pre></div><p>The <a href="#fo_table-header" class="el">fo:table-header</a> has <a href="#fo_table-row" class="el">fo:table-row</a> (one or more) as
its children,
or alternatively <a href="#fo_table-cell" class="el">fo:table-cell</a> (one or more). In the latter case
cells are grouped into rows using the <a href="#starts-row" class="property">starts-row</a> and <a href="#ends-row" class="property">ends-row</a> properties.
</p><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><em>Note</em>. Only the <a href="#background" class="property">background</a> properties:
<a href="#background-attachment" class="property">background-attachment</a>,
<a href="#background-color" class="property">background-color</a>,
<a href="#background-image" class="property">background-image</a>,
<a href="#background-repeat" class="property">background-repeat</a>,
<a href="#background-position-horizontal" class="property">background-position-horizontal</a>, and
<a href="#background-position-vertical" class="property">background-position-vertical</a>
from this set apply.
If the value of <a href="#border-collapse" class="property">border-collapse</a> is "collapse" or "collapse-with-precedence" for the table the
<a href="#border" class="property">border</a> properties:
<a href="#border-before-color" class="property">border-before-color</a>,
<a href="#border-before-style" class="property">border-before-style</a>,
<a href="#border-before-width" class="property">border-before-width</a>,
<a href="#border-after-color" class="property">border-after-color</a>,
<a href="#border-after-style" class="property">border-after-style</a>,
<a href="#border-after-width" class="property">border-after-width</a>,
<a href="#border-start-color" class="property">border-start-color</a>,
<a href="#border-start-style" class="property">border-start-style</a>,
<a href="#border-start-width" class="property">border-start-width</a>,
<a href="#border-end-color" class="property">border-end-color</a>,
<a href="#border-end-style" class="property">border-end-style</a>,
<a href="#border-end-width" class="property">border-end-width</a>,
<a href="#border-top-color" class="property">border-top-color</a>,
<a href="#border-top-style" class="property">border-top-style</a>,
<a href="#border-top-width" class="property">border-top-width</a>,
<a href="#border-bottom-color" class="property">border-bottom-color</a>,
<a href="#border-bottom-style" class="property">border-bottom-style</a>,
<a href="#border-bottom-width" class="property">border-bottom-width</a>,
<a href="#border-left-color" class="property">border-left-color</a>,
<a href="#border-left-style" class="property">border-left-style</a>,
<a href="#border-left-width" class="property">border-left-width</a>,
<a href="#border-right-color" class="property">border-right-color</a>,
<a href="#border-right-style" class="property">border-right-style</a>, and
<a href="#border-right-width" class="property">border-right-width</a>
also apply.<br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-footer" id="fo_table-footer"/>6.7.7 fo:table-footer</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-footer" class="el">fo:table-footer</a> formatting object is used to contain
the content
of the table footer.</p><p><em>Areas:</em></p><p>The <a href="#fo_table-footer" class="el">fo:table-footer</a> formatting object does not generate any areas. The
<a href="#fo_table-footer" class="el">fo:table-footer</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_table-footer" class="el">fo:table-footer</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_table-footer" class="el">fo:table-footer</a>
is the same order as the children are ordered under the <a href="#fo_table-footer" class="el">fo:table-footer</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_table-row">table-row</a>+|<a href="#fo_table-cell">table-cell</a>+)
</pre></div><p>The <a href="#fo_table-footer" class="el">fo:table-footer</a> has <a href="#fo_table-row" class="el">fo:table-row</a> (one or more) as
its children,
or alternatively <a href="#fo_table-cell" class="el">fo:table-cell</a> (one or more). In the latter case
cells are grouped into rows using the <a href="#starts-row" class="property">starts-row</a> and <a href="#ends-row" class="property">ends-row</a> properties.
</p><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><em> Note</em>. Only the <a href="#background" class="property">background</a> properties:
<a href="#background-attachment" class="property">background-attachment</a>,
<a href="#background-color" class="property">background-color</a>,
<a href="#background-image" class="property">background-image</a>,
<a href="#background-repeat" class="property">background-repeat</a>,
<a href="#background-position-horizontal" class="property">background-position-horizontal</a>, and
<a href="#background-position-vertical" class="property">background-position-vertical</a>
from this set apply.
If the value of <a href="#border-collapse" class="property">border-collapse</a> is "collapse" or "collapse-with-precedence" for the table the
<a href="#border" class="property">border</a> properties:
<a href="#border-before-color" class="property">border-before-color</a>,
<a href="#border-before-style" class="property">border-before-style</a>,
<a href="#border-before-width" class="property">border-before-width</a>,
<a href="#border-after-color" class="property">border-after-color</a>,
<a href="#border-after-style" class="property">border-after-style</a>,
<a href="#border-after-width" class="property">border-after-width</a>,
<a href="#border-start-color" class="property">border-start-color</a>,
<a href="#border-start-style" class="property">border-start-style</a>,
<a href="#border-start-width" class="property">border-start-width</a>,
<a href="#border-end-color" class="property">border-end-color</a>,
<a href="#border-end-style" class="property">border-end-style</a>,
<a href="#border-end-width" class="property">border-end-width</a>,
<a href="#border-top-color" class="property">border-top-color</a>,
<a href="#border-top-style" class="property">border-top-style</a>,
<a href="#border-top-width" class="property">border-top-width</a>,
<a href="#border-bottom-color" class="property">border-bottom-color</a>,
<a href="#border-bottom-style" class="property">border-bottom-style</a>,
<a href="#border-bottom-width" class="property">border-bottom-width</a>,
<a href="#border-left-color" class="property">border-left-color</a>,
<a href="#border-left-style" class="property">border-left-style</a>,
<a href="#border-left-width" class="property">border-left-width</a>,
<a href="#border-right-color" class="property">border-right-color</a>,
<a href="#border-right-style" class="property">border-right-style</a>, and
<a href="#border-right-width" class="property">border-right-width</a>
also apply.<br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-body" id="fo_table-body"/>6.7.8 fo:table-body</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-body" class="el">fo:table-body</a> formatting object is used to contain
the content
of the table body.</p><p><em>Areas:</em></p><p>The <a href="#fo_table-body" class="el">fo:table-body</a> formatting object does not generate any areas. The
<a href="#fo_table-body" class="el">fo:table-body</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_table-body" class="el">fo:table-body</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_table-body" class="el">fo:table-body</a>
is the same order as the children are ordered under the <a href="#fo_table-body" class="el">fo:table-body</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_table-row">table-row</a>+|<a href="#fo_table-cell">table-cell</a>+)
</pre></div><p>The <a href="#fo_table-body" class="el">fo:table-body</a> has <a href="#fo_table-row" class="el">fo:table-row</a> (one or more) as its
children,
or alternatively <a href="#fo_table-cell" class="el">fo:table-cell</a> (one or more). In the latter case
cells are grouped into rows using the <a href="#starts-row" class="property">starts-row</a> and <a href="#ends-row" class="property">ends-row</a> properties.
</p><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a> <em>Note</em>. Only the <a href="#background" class="property">background</a> properties:
<a href="#background-attachment" class="property">background-attachment</a>,
<a href="#background-color" class="property">background-color</a>,
<a href="#background-image" class="property">background-image</a>,
<a href="#background-repeat" class="property">background-repeat</a>,
<a href="#background-position-horizontal" class="property">background-position-horizontal</a>, and
<a href="#background-position-vertical" class="property">background-position-vertical</a>
from this set apply.
If the value of <a href="#border-collapse" class="property">border-collapse</a> is "collapse" or "collapse-with-precedence" for the table the
<a href="#border" class="property">border</a> properties:
<a href="#border-before-color" class="property">border-before-color</a>,
<a href="#border-before-style" class="property">border-before-style</a>,
<a href="#border-before-width" class="property">border-before-width</a>,
<a href="#border-after-color" class="property">border-after-color</a>,
<a href="#border-after-style" class="property">border-after-style</a>,
<a href="#border-after-width" class="property">border-after-width</a>,
<a href="#border-start-color" class="property">border-start-color</a>,
<a href="#border-start-style" class="property">border-start-style</a>,
<a href="#border-start-width" class="property">border-start-width</a>,
<a href="#border-end-color" class="property">border-end-color</a>,
<a href="#border-end-style" class="property">border-end-style</a>,
<a href="#border-end-width" class="property">border-end-width</a>,
<a href="#border-top-color" class="property">border-top-color</a>,
<a href="#border-top-style" class="property">border-top-style</a>,
<a href="#border-top-width" class="property">border-top-width</a>,
<a href="#border-bottom-color" class="property">border-bottom-color</a>,
<a href="#border-bottom-style" class="property">border-bottom-style</a>,
<a href="#border-bottom-width" class="property">border-bottom-width</a>,
<a href="#border-left-color" class="property">border-left-color</a>,
<a href="#border-left-style" class="property">border-left-style</a>,
<a href="#border-left-width" class="property">border-left-width</a>,
<a href="#border-right-color" class="property">border-right-color</a>,
<a href="#border-right-style" class="property">border-right-style</a>, and
<a href="#border-right-width" class="property">border-right-width</a>
also apply.<br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-row" id="fo_table-row"/>6.7.9 fo:table-row</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-row" class="el">fo:table-row</a> formatting object is used to group
table-cells into
rows; all table-cells in a table-row start in the same geometric row on
the table grid.</p><p><em>Areas:</em></p><p>The <a href="#fo_table-row" class="el">fo:table-row</a> formatting object does not generate any areas. The
<a href="#fo_table-row" class="el">fo:table-row</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_table-row" class="el">fo:table-row</a>.
The <a href="#fo_table-row" class="el">fo:table-row</a> holds
a specification of some presentation
characteristics, such as <a href="#background" class="property">background</a> which
affects the areas generated by the <a href="#fo_table" class="el">fo:table</a> (see <a href="#fo_table"><b>6.7.3 fo:table</b></a>).
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_table-row" class="el">fo:table-row</a>
is the same order as the children are ordered under the <a href="#fo_table-row" class="el">fo:table-row</a>.
</p><p>The method for determining the <a href="#height" class="property">height</a> of the row in the grid is
governed by the <span class="trait">row-height</span> trait.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_table-cell">table-cell</a>+)
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a> <em>Note</em>. Only the <a href="#background" class="property">background</a> properties:
<a href="#background-attachment" class="property">background-attachment</a>,
<a href="#background-color" class="property">background-color</a>,
<a href="#background-image" class="property">background-image</a>,
<a href="#background-repeat" class="property">background-repeat</a>,
<a href="#background-position-horizontal" class="property">background-position-horizontal</a>, and
<a href="#background-position-vertical" class="property">background-position-vertical</a>
from this set apply.
If the value of <a href="#border-collapse" class="property">border-collapse</a> is "collapse" or "collapse-with-precedence" for the table the
<a href="#border" class="property">border</a> properties:
<a href="#border-before-color" class="property">border-before-color</a>,
<a href="#border-before-style" class="property">border-before-style</a>,
<a href="#border-before-width" class="property">border-before-width</a>,
<a href="#border-after-color" class="property">border-after-color</a>,
<a href="#border-after-style" class="property">border-after-style</a>,
<a href="#border-after-width" class="property">border-after-width</a>,
<a href="#border-start-color" class="property">border-start-color</a>,
<a href="#border-start-style" class="property">border-start-style</a>,
<a href="#border-start-width" class="property">border-start-width</a>,
<a href="#border-end-color" class="property">border-end-color</a>,
<a href="#border-end-style" class="property">border-end-style</a>,
<a href="#border-end-width" class="property">border-end-width</a>,
<a href="#border-top-color" class="property">border-top-color</a>,
<a href="#border-top-style" class="property">border-top-style</a>,
<a href="#border-top-width" class="property">border-top-width</a>,
<a href="#border-bottom-color" class="property">border-bottom-color</a>,
<a href="#border-bottom-style" class="property">border-bottom-style</a>,
<a href="#border-bottom-width" class="property">border-bottom-width</a>,
<a href="#border-left-color" class="property">border-left-color</a>,
<a href="#border-left-style" class="property">border-left-style</a>,
<a href="#border-left-width" class="property">border-left-width</a>,
<a href="#border-right-color" class="property">border-right-color</a>,
<a href="#border-right-style" class="property">border-right-style</a>, and
<a href="#border-right-width" class="property">border-right-width</a>
also apply.<br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#visibility"><b>7.31.17 visibility</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_table-cell" id="fo_table-cell"/>6.7.10 fo:table-cell</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_table-cell" class="el">fo:table-cell</a> formatting object is used to group
content to be
placed in a table cell.</p><p>The "<a href="#starts-row" class="property">starts-row</a>" and "<a href="#ends-row" class="property">ends-row</a>" properties can be
used when the input data does not have elements containing
the cells in each row, but instead, for example, each row starts
at elements of a particular type.</p><p><em>Areas:</em></p><p>The <a href="#fo_table-cell" class="el">fo:table-cell</a> formatting object generates one or more
<b>normal</b> <b>reference-area</b>s.
The <a href="#fo_table-cell" class="el">fo:table-cell</a> returns these reference-areas and any
<b>page-level-out-of-line</b> areas
returned by the children of the <a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p><em>Trait Derivation:</em></p><p>The method for deriving the <a href="#border" class="property">border</a> for a cell is
specified by the <span class="trait">border-collapse</span> trait.</p><p>If the value of the <span class="trait">border-collapse</span> trait is "separate" the <a href="#border" class="property">border</a>
is composed of two components. The first, which is placed
with the outside edge coincident with the table grid boundary line,
has the <a href="#width" class="property">width</a> of half the value for the <span class="trait">border-separation</span> trait.
It is filled in accordance with the <span class="trait">background</span> trait of the <a href="#fo_table" class="el">fo:table</a>.
Inside this <a href="#border" class="property">border</a> is placed, for each side of the cell, a <a href="#border" class="property">border</a> based
on a <a href="#border" class="property">border</a> specified on the cell or inherited.</p><p>If the value of the <span class="trait">border-collapse</span> trait is "collapse-with-precedence" the <a href="#border" class="property">border</a>
for each side of the cell is determined by, for each segment of a <a href="#border" class="property">border</a>,
selecting, from all <a href="#border" class="property">border</a> specifications for that segment, the <a href="#border" class="property">border</a>
that has the highest precedence. It is an error if there are two such
borders that have the same <a href="#precedence" class="property">precedence</a> but are not identical.
An implementation may recover by selecting
one of the borders.
Each <a href="#border" class="property">border</a> segment is placed centered on the table grid boundary line.
On devices that do not support sub-pixel rendering,
if an effective <a href="#border" class="property">border</a> <a href="#width" class="property">width</a> is determined to be an odd number of pixels
it is implementation defined on which side of the grid boundary line
the odd pixel is placed.
</p><p>If the value of the <a href="#border-collapse" class="property">border-collapse</a> trait is "collapse", the <a href="#border" class="property">border</a> for
each side of the cell is determined by, for each segment of a <a href="#border" class="property">border</a>,
selecting, from all <a href="#border" class="property">border</a> specifications for that segment, the <a href="#border" class="property">border</a> that
has the most "eye catching" <a href="#border" class="property">border</a> style, see below for the details. Each
<a href="#border" class="property">border</a> segment is placed centered on the table grid boundary line. On
devices that do not support sub-pixel rendering, if an effective <a href="#border" class="property">border</a>
<a href="#width" class="property">width</a> is determined to be an odd number of pixels it is implementation
defined on which side of the grid boundary line the odd pixel is placed.
Where there is a conflict between the styles of <a href="#border" class="property">border</a> segments that
collapse, the following rules determine which <a href="#border" class="property">border</a> style "wins":</p><ol class="enumar"><li><p>Borders with the '<a href="#border-style" class="property">border-style</a>' of 'hidden' take <a href="#precedence" class="property">precedence</a> over all
other conflicting borders. Any <a href="#border" class="property">border</a> with this value suppresses all
borders at this location.</p></li><li><p>Borders with a style of 'none' have the lowest priority. Only if the
<a href="#border" class="property">border</a> properties of all the elements meeting at this edge are 'none' will
the <a href="#border" class="property">border</a> be omitted (but note that 'none' is the default value for the
<a href="#border" class="property">border</a> style.)</p></li><li><p>If none of the styles is 'hidden' and at least one of them is not
'none', then narrow borders are discarded in favor of wider ones.</p></li><li><p>If the remaining <a href="#border" class="property">border</a> styles have the same '<a href="#border-width" class="property">border-width</a>' than styles
are preferred in this order: 'double', 'solid', 'dashed', 'dotted',
'ridge', 'outset', 'groove', and the lowest: 'inset'.</p></li><li><p>If <a href="#border" class="property">border</a> styles differ only in color, then a style set on a cell wins
over one on a row, which wins over a row group, column, column group and,
lastly, table.
</p></li></ol><p><em>Constraints:</em></p><p>A table-cell occupies one or more grid units in the
row-progression-direction and
column-progression-direction.
The content-rectangle of the cell is the <a href="#size" class="property">size</a> of the portion
of the grid
the cell occupies minus, for each of the four sides:</p><ul><li><p>If the value of the <span class="trait">border-collapse</span> trait is "separate":
half the value of the <span class="trait">border-separation</span> trait; otherwise 0.</p></li><li><p>If the value of the <span class="trait">border-collapse</span> trait is "separate":
the thickness of the cell-border; otherwise half the thickness of the
effective border.</p></li><li><p>The cell padding.</p></li></ul><p>The method for determining the <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the cell in the grid is governed by the <span class="trait">row-height</span> trait.</p><p>No area may have more than one normal child area
returned by the same <a href="#fo_table-cell" class="el">fo:table-cell</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_table-cell" class="el">fo:table-cell</a>
formatting object
must be normal <b>block-area</b>s returned by the children of
the <a href="#fo_table-cell" class="el">fo:table-cell</a>,
must be <b>properly stacked</b>, and
must be <b>properly ordered</b>.
</p><p>Any <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_table-cell" class="el">fo:table-cell</a>
are handled as described in <a href="#fo_float"><b>6.12.2 fo:float</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a><br/><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a><br/><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a><br/><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a><br/><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a><br/><a href="#column-number"><b>7.29.8 column-number</b></a><br/><a href="#display-align"><b>7.15.5 display-align</b></a><br/><a href="#relative-align"><b>7.15.9 relative-align</b></a><br/><a href="#empty-cells"><b>7.29.10 empty-cells</b></a><br/><a href="#ends-row"><b>7.29.11 ends-row</b></a><br/><a href="#height"><b>7.16.6 height</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a><br/><a href="#number-columns-spanned"><b>7.29.13 number-columns-spanned</b></a><br/><a href="#number-rows-spanned"><b>7.29.14 number-rows-spanned</b></a><br/><a href="#starts-row"><b>7.29.15 starts-row</b></a><br/><a href="#width"><b>7.16.14 width</b></a></p></blockquote></div></div><div class="div2">
<h3><a name="d2e19627" id="d2e19627"/>6.8 Formatting Objects for Lists</h3><div class="div3">
<h4><a name="d2e19630" id="d2e19630"/>6.8.1 Introduction</h4><p>There are four formatting objects used to construct lists:
<a href="#fo_list-block" class="el">fo:list-block</a>, <a href="#fo_list-item" class="el">fo:list-item</a>, <a href="#fo_list-item-label" class="el">fo:list-item-label</a>, and <a href="#fo_list-item-body" class="el">fo:list-item-body</a>.
</p><div style="margin-left: 3em;">
<img src="figures/ListTree.gif" alt="A tree representation of list Formatting Objects showing how they fit within one another." title="Tree representation of the Formatting Objects for lists"/>
<p><b>Figure 37. </b>Tree representation of the formatting Objects for Lists.</p>
</div><p>The <a href="#fo_list-block" class="el">fo:list-block</a> has the <a href="#role" class="property">role</a> of containing the complete list and
of specifying values used for the list geometry in the
inline-progression-direction (see details below).</p><p>The children of the <a href="#fo_list-block" class="el">fo:list-block</a> are one or more <a href="#fo_list-item" class="el">fo:list-item</a>, each
containing a pair of <a href="#fo_list-item-label" class="el">fo:list-item-label</a> and <a href="#fo_list-item-body" class="el">fo:list-item-body</a>.</p><p>The <a href="#fo_list-item" class="el">fo:list-item</a> has the <a href="#role" class="property">role</a> of containing each item in a list.</p><p>The <a href="#fo_list-item-label" class="el">fo:list-item-label</a> has the <a href="#role" class="property">role</a> of containing the content,
block-level formatting objects, of the label for the
list-item; typically an <a href="#fo_block" class="el">fo:block</a> containing
a number, a dingbat <a href="#character" class="property">character</a>, or a term.</p><p>The <a href="#fo_list-item-body" class="el">fo:list-item-body</a> has the <a href="#role" class="property">role</a> of containing the content,
block-level formatting objects, of the body of the
list-item; typically one or more <a href="#fo_block" class="el">fo:block</a>.</p><p>The placement, in the block-progression-direction, of the
label with respect to the body is made in accordance with the
"<a href="#vertical-align" class="property">vertical-align</a>" property of the <a href="#fo_list-item" class="el">fo:list-item</a>.</p><img src="figures/ListGeom.gif" alt="A rendering of a sample list-block Formatting Object, naming the distances and the indents between each generated area." title="Areas generated by a list"/><p>The specification of the list geometry in the
inline-progression-direction is achieved by:</p><ul><li><p>Specifying appropriate values of the "<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>"
and "<a href="#provisional-label-separation" class="property">provisional-label-separation</a>" properties.
The "<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>" specifies the desired
distance between the start-indents of the label and the body of
the list-item.
The "<a href="#provisional-label-separation" class="property">provisional-label-separation</a>" specifies the desired
separation between the <a href="#end-indent" class="property">end-indent</a> of the label and the <a href="#start-indent" class="property">start-indent</a>
of the body of the list-item.
</p></li><li><p>Specifying <a href="#end-indent" class="property">end-indent</a>="label-end()" on the <a href="#fo_list-item-label" class="el">fo:list-item-label</a>.
</p><p>Specifying <a href="#start-indent" class="property">start-indent</a>="body-start()" on the <a href="#fo_list-item-body" class="el">fo:list-item-body</a>.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>These list specific functions are defined in
<a href="#provisional-label-separation"><b>7.31.12 provisional-label-separation</b></a> and
<a href="#provisional-distance-between-starts"><b>7.31.11 provisional-distance-between-starts</b></a>.</p></div></li></ul><p>The <a href="#start-indent" class="property">start-indent</a> of the list-item-label and <a href="#end-indent" class="property">end-indent</a> of the
list-item-body, if desired, are typically specified as a length.</p><div class="div4">
<h5><a name="d2e19778" id="d2e19778"/>6.8.1.1 Examples</h5><div class="div5">
<h6><a name="d2e19781" id="d2e19781"/>6.8.1.1.1 Enumerated List</h6><p>The list-items are contained in an <code>"ol"</code>
element. The items are
contained in <code>"item"</code> elements and contain text (as opposed to
paragraphs).</p><p>The style is to enumerate the items
alphabetically with a dot after
the letter.</p><p>Input sample:</p><div class="exampleInner"><pre>
&lt;ol&gt;
&lt;item&gt;List item 1.&lt;/item&gt;
&lt;item&gt;List item 2.&lt;/item&gt;
&lt;item&gt;List item 3.&lt;/item&gt;
&lt;/ol&gt;
</pre></div><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="ol"&gt;
&lt;fo:list-block provisional-distance-between-starts="15mm"
provisional-label-separation="5mm"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:list-block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="ol/item"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label start-indent="5mm" end-indent="label-end()"&gt;
&lt;fo:block&gt;
&lt;xsl:number format="a."/&gt;
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:list-block provisional-distance-between-starts="15mm"
provisional-label-separation="5mm"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label start-indent="5mm" end-indent="label-end()"&gt;
&lt;fo:block&gt;a.
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;List item 1.
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label start-indent="5mm" end-indent="label-end()"&gt;
&lt;fo:block&gt;b.
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;List item 2.
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label start-indent="5mm" end-indent="label-end()"&gt;
&lt;fo:block&gt;c.
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;List item 3.
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/fo:list-block&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e19806" id="d2e19806"/>6.8.1.1.2 HTML-style <code>"dl"</code> lists</h6><p>In this example the stylesheet processes HTML-style <code>"dl"</code> lists, which
contain unwrapped pairs of <code>"dt"</code> and <code>"dd"</code> elements, transforming
them into <a href="#fo_list-block" class="el">fo:list-block</a>s.</p><p>Balanced pairs of <code>"dt"</code>/<code>"dd"</code>s are converted into <a href="#fo_list-item" class="el">fo:list-item</a>s.
For unbalanced <code>"dt"</code>/<code>"dd"</code>s, the stylesheet makes the
following assumptions:</p><ul><li><p>Multiple <code>"dt"</code>s are grouped together into a single
<a href="#fo_list-item-label" class="el">fo:list-item-label</a> in a single list-item.</p></li><li><p>Multiple DDs are:</p><ul><li><p>Output as individual FO list-items with an empty
list-item-label if the stylesheet variable
<code>$allow-naked-dd</code> is <code>true</code>.</p></li><li><p>Are grouped together into a single FO list-item-body if
<code>$allow-naked-dd</code> is <code>false</code>.</p></li></ul></li></ul><p>In other words, given a structure like this:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;dl&gt;
&lt;dt&gt;term&lt;/dt&gt;
&lt;dd&gt;definition&lt;/dd&gt;
&lt;dt&gt;term&lt;/dt&gt;
&lt;dt&gt;term&lt;/dt&gt;
&lt;dd&gt;definition&lt;/dd&gt;
&lt;dt&gt;term&lt;/dt&gt;
&lt;dd&gt;definition&lt;/dd&gt;
&lt;dd&gt;definition&lt;/dd&gt;
&lt;/dl&gt;
&lt;/doc&gt;
</pre></div><p>If <code>$allow-naked-dd</code> is <code>true</code>, the result instance: elements
and attributes in the fo: namespace is:</p><div class="exampleInner"><pre>
&lt;fo:list-block provisional-distance-between-starts="35mm"
provisional-label-separation="5mm"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/fo:list-block&gt;
</pre></div><p>If <code>$allow-naked-dd</code> is <code>false</code>, the result instance:
elements and attributes in the fo: namespace is:</p><div class="exampleInner"><pre>
&lt;fo:list-block provisional-distance-between-starts="35mm"
provisional-label-separation="5mm"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block&gt;term
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;fo:block&gt;definition
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/fo:list-block&gt;
</pre></div><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:include href="dtdd.xsl"/&gt;
&lt;xsl:template match="doc"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="dl"&gt;
&lt;xsl:call-template name="process.dl"/&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="dt|dd"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Included stylesheet "dtdd.xsl"</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:variable name="allow-naked-dd" select="true()"/&gt;
&lt;xsl:template name="process.dl"&gt;
&lt;fo:list-block provisional-distance-between-starts="35mm"
provisional-label-separation="5mm"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="$allow-naked-dd"&gt;
&lt;xsl:call-template name="process.dl.content.with.naked.dd"/&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:call-template name="process.dl.content"/&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/fo:list-block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template name="process.dl.content.with.naked.dd"&gt;
&lt;xsl:param name="dts" select="./force-list-to-be-empty"/&gt;
&lt;xsl:param name="nodes" select="*"/&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="count($nodes)=0"&gt;
&lt;!-- Out of nodes, output any pending DTs --&gt;
&lt;xsl:if test="count($dts)&gt;0"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;xsl:apply-templates select="$dts"/&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"/&gt;
&lt;/fo:list-item&gt;
&lt;/xsl:if&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="name($nodes[1])='dd'"&gt;
&lt;!-- We found a DD, output the DTs and the DD --&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;xsl:apply-templates select="$dts"/&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;xsl:apply-templates select="$nodes[1]"/&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;xsl:call-template name="process.dl.content.with.naked.dd"&gt;
&lt;xsl:with-param name="nodes" select="$nodes[position()&gt;1]"/&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="name($nodes[1])='dt'"&gt;
&lt;!-- We found a DT, add it to the list of DTs and loop --&gt;
&lt;xsl:call-template name="process.dl.content.with.naked.dd"&gt;
&lt;xsl:with-param name="dts" select="$dts|$nodes[1]"/&gt;
&lt;xsl:with-param name="nodes" select="$nodes[position()&gt;1]"/&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;!-- This shouldn't happen --&gt;
&lt;xsl:message&gt;
&lt;xsl:text&gt;DT/DD list contained something bogus (&lt;/xsl:text&gt;
&lt;xsl:value-of select="name($nodes[1])"/&gt;
&lt;xsl:text&gt;).&lt;/xsl:text&gt;
&lt;/xsl:message&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:template&gt;
&lt;xsl:template name="process.dl.content"&gt;
&lt;xsl:param name="dts" select="./force-list-to-be-empty"/&gt;
&lt;xsl:param name="dds" select="./force-list-to-be-empty"/&gt;
&lt;xsl:param name="output-on"&gt;&lt;/xsl:param&gt;
&lt;xsl:param name="nodes" select="*"/&gt;
&lt;!-- The algorithm here is to build up a list of DTs and DDs, --&gt;
&lt;!-- outputing them only on the transition from DD back to DT --&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="count($nodes)=0"&gt;
&lt;!-- Out of nodes, output any pending elements --&gt;
&lt;xsl:if test="count($dts)&gt;0 or count($dds)&gt;0"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;xsl:apply-templates select="$dts"/&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;xsl:apply-templates select="$dds"/&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/xsl:if&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="name($nodes[1])=$output-on"&gt;
&lt;!-- We're making the transition from DD back to DT --&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;xsl:apply-templates select="$dts"/&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;xsl:apply-templates select="$dds"/&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;!-- Reprocess this node (and the rest of the node list) --&gt;
&lt;!-- resetting the output-on state to nil --&gt;
&lt;xsl:call-template name="process.dl.content"&gt;
&lt;xsl:with-param name="nodes" select="$nodes"/&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="name($nodes[1])='dt'"&gt;
&lt;!-- We found a DT, add it to the list and loop --&gt;
&lt;xsl:call-template name="process.dl.content"&gt;
&lt;xsl:with-param name="dts" select="$dts|$nodes[1]"/&gt;
&lt;xsl:with-param name="dds" select="$dds"/&gt;
&lt;xsl:with-param name="nodes" select="$nodes[position()&gt;1]"/&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:when&gt;
&lt;xsl:when test="name($nodes[1])='dd'"&gt;
&lt;!-- We found a DD, add it to the list and loop, noting that --&gt;
&lt;!-- the next time we cross back to DT's, we need to output the --&gt;
&lt;!-- current DT/DDs. --&gt;
&lt;xsl:call-template name="process.dl.content"&gt;
&lt;xsl:with-param name="dts" select="$dts"/&gt;
&lt;xsl:with-param name="dds" select="$dds|$nodes[1]"/&gt;
&lt;xsl:with-param name="output-on"&gt;dt&lt;/xsl:with-param&gt;
&lt;xsl:with-param name="nodes" select="$nodes[position()&gt;1]"/&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;!-- This shouldn't happen --&gt;
&lt;xsl:message&gt;
&lt;xsl:text&gt;DT/DD list contained something bogus (&lt;/xsl:text&gt;
&lt;xsl:value-of select="name($nodes[1])"/&gt;
&lt;xsl:text&gt;).&lt;/xsl:text&gt;
&lt;/xsl:message&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>The "dtdd.xsl" stylesheet may be customized in the following ways:</p><ul><li><p>Set the value of <code>$allow-naked-dd</code> to control the processing of unbalanced
<code>"dd"</code>s.</p></li><li><p>Change <code>"dt"</code> to the name of the element
which is a term in the list.</p></li><li><p>Change <code>"dd"</code> to the name of the element
which is a definition in the list.</p></li><li><p>In the, perhaps unlikely, event that the documents may contain
an element named <code>"force-list-to-be-empty"</code>, that element name
should be changed to a name that is not used in the documents.</p></li></ul><p>In the stylesheet using the "dtdd.xsl" stylesheet change the <code>"dl"</code>
to the name of the element which is the wrapper for the list.</p></div></div></div><div class="div3">
<h4><a name="fo_list-block" id="fo_list-block"/>6.8.2 fo:list-block</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_list-block" class="el">fo:list-block</a> flow object is used to <a href="#format" class="property">format</a> a list.</p><p><em>Areas:</em></p><p>The <a href="#fo_list-block" class="el">fo:list-block</a> formatting object generates one or more
<b>normal</b> <b>block-area</b>s.
The <a href="#fo_list-block" class="el">fo:list-block</a> returns these areas, any
<b>page-level-out-of-line</b> areas, and
any <b>reference-level-out-of-line</b> areas
returned by the children of the <a href="#fo_list-block" class="el">fo:list-block</a>.</p><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_list-block" class="el">fo:list-block</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_list-block" class="el">fo:list-block</a>
formatting object
must be normal <b>block-area</b>s returned by the children of the <a href="#fo_list-block" class="el">fo:list-block</a>,
must be <b>properly stacked</b>, and
must be <b>properly ordered</b>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_list-item">list-item</a>+)
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#clear"><b>7.20.1 clear</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#provisional-distance-between-starts"><b>7.31.11 provisional-distance-between-starts</b></a><br/><a href="#provisional-label-separation"><b>7.31.12 provisional-label-separation</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_list-item" id="fo_list-item"/>6.8.3 fo:list-item</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_list-item" class="el">fo:list-item</a> formatting object contains the label and the
body of an item in a list.</p><p><em>Areas:</em></p><p>The <a href="#fo_list-item" class="el">fo:list-item</a> formatting object generates one or more
<b>normal</b> <b>block-area</b>s.
The <a href="#fo_list-item" class="el">fo:list-item</a> returns these areas, any
<b>page-level-out-of-line</b> areas, and
any <b>reference-level-out-of-line</b> areas
returned by the children of the <a href="#fo_list-item" class="el">fo:list-item</a>.</p><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_list-item" class="el">fo:list-item</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_list-item" class="el">fo:list-item</a>
formatting object must be normal <b>block-area</b>s returned by
the <a href="#fo_list-item-label" class="el">fo:list-item-label</a> and the <a href="#fo_list-item-body" class="el">fo:list-item-body</a> flow objects and
must be <b>properly ordered</b>.
Those returned by the <a href="#fo_list-item-label" class="el">fo:list-item-label</a>
must be <b>properly stacked</b> and
those returned by the <a href="#fo_list-item-body" class="el">fo:list-item-body</a>
must be <b>properly stacked</b>.
</p><p>The children of each normal area returned by an <a href="#fo_list-item" class="el">fo:list-item</a>
formatting object returned by the
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>
and <a href="#fo_list-item-body" class="el">fo:list-item-body</a> objects are positioned
in the block-progression-direction with respect to each
other according to the <span class="trait">relative-align</span> trait.</p><p>In the inline-progression-direction
these areas are positioned in the usual manner for properly
stacked areas.
It is an error if the content-rectangles of the areas overlap.
</p><p>The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the
content-rectangle of an area
generated by the <a href="#fo_list-item" class="el">fo:list-item</a> is just large enough so that the
allocation-rectangles of all its child areas are contained in it. In
particular, the <a href="#space-before" class="property">space-before</a> and <a href="#space-after" class="property">space-after</a> of the child areas have no
effect on the spacing of the list item. For purposes of the
block-stacking constraints the areas generated by <a href="#fo_list-item" class="el">fo:list-item</a> are
treated as if there they have a fence preceding and a fence following
them.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>These areas are not reference-areas, hence the indents on all
objects within them are measured relative to the reference-area that
holds the content of the <a href="#fo_list-block" class="el">fo:list-block</a>.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_list-item-label">list-item-label</a>,<a href="#fo_list-item-body">list-item-body</a>)
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-block"><b>7.11 Common Margin Properties-Block</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#break-after"><b>7.21.1 break-after</b></a><br/><a href="#break-before"><b>7.21.2 break-before</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#relative-align"><b>7.15.9 relative-align</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_list-item-body" id="fo_list-item-body"/>6.8.4 fo:list-item-body</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_list-item-body" class="el">fo:list-item-body</a> formatting object contains the
content
of the body of a list-item.</p><p><em>Areas:</em></p><p>The <a href="#fo_list-item-body" class="el">fo:list-item-body</a> formatting object does not generate any areas. The
<a href="#fo_list-item-body" class="el">fo:list-item-body</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_list-item-body" class="el">fo:list-item-body</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_list-item-body" class="el">fo:list-item-body</a>
is the same order as the children are ordered under the <a href="#fo_list-item-body" class="el">fo:list-item-body</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_list-item-label" id="fo_list-item-label"/>6.8.5 fo:list-item-label</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_list-item-label" class="el">fo:list-item-label</a> formatting object contains the
content
of the label of a list-item, typically used to either enumerate,
identify, or adorn the list-item's body.</p><p><em>Areas:</em></p><p>The <a href="#fo_list-item-label" class="el">fo:list-item-label</a> formatting object does not generate any areas. The
<a href="#fo_list-item-label" class="el">fo:list-item-label</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_list-item-label" class="el">fo:list-item-label</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_list-item-label" class="el">fo:list-item-label</a>
is the same order as the children are ordered under the <a href="#fo_list-item-label" class="el">fo:list-item-label</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a></p></blockquote></div></div><div class="div2">
<h3><a name="d2e20357" id="d2e20357"/>6.9 Dynamic Effects: Link and Multi Formatting Objects</h3><div class="div3">
<h4><a name="d2e20360" id="d2e20360"/>6.9.1 Introduction</h4><p>Dynamic effects,
whereby user actions (including User Agent state)
can influence the behavior and/or representation of portions of
a document, can be
achieved through the use of the formatting objects included in this
section:</p><ul><li><p>One-directional single-target links.</p></li><li><p>The ability to switch between the display of two or more
formatting object subtrees. This can be used for, e.g.,
expandable/collapsible table of contents, display of an icon or
a full table or graphic.
</p></li><li><p>The ability to switch between different property values, such
as <a href="#color" class="property">color</a> or <a href="#font-weight" class="property">font-weight</a>, depending on a User Agent state, such as "hover".
</p></li></ul><p>The switching between subtrees is achieved by using the
following three formatting objects:
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>,
<a href="#fo_multi-case" class="el">fo:multi-case</a>, and
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>.
The result tree structure is shown below.
</p><div style="margin-left: 3em;">
<img src="figures/MultiSTree.gif" alt="A tree representation of multi-switch Formatting Objects showing how they fit within one another." title="Tree representation of the multi Formatting Objects"/>
<p><b>Figure 38. </b>Tree Representation of the Multi Formatting Objects</p>
</div><p>The <a href="#role" class="property">role</a> of the <a href="#fo_multi-switch" class="el">fo:multi-switch</a> is to wrap <a href="#fo_multi-case" class="el">fo:multi-case</a>
formatting objects, each containing a subtree. Each subtree is
given a name on the <a href="#fo_multi-case" class="el">fo:multi-case</a> formatting object. Activating,
for example implemented as clicking on,
an <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> causes a named subtree, the previous, the next, or
"any" subtree to be displayed; controlled by the "<a href="#switch-to" class="property">switch-to</a>" property.
For "any", an implementation would typically
present a list of choices each labeled using the "<a href="#case-title" class="property">case-title</a>" property
of the <a href="#fo_multi-case" class="el">fo:multi-case</a>.
The initial subtree displayed is controlled by the "<a href="#starting-state" class="property">starting-state</a>"
property on the <a href="#fo_multi-case" class="el">fo:multi-case</a>.</p><p>Switching between different property values is achieved by using the
<a href="#fo_multi-properties" class="el">fo:multi-properties</a> and <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> formatting objects, and
the merge-property-values() function. For example, an
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> can be used to specify various properties for
each of the possible values of the <a href="#active-state" class="property">active-state</a> property, and
merge-property-values() can be used to apply them on a given formatting
object.</p><div class="div4">
<h5><a name="d2e20447" id="d2e20447"/>6.9.1.1 Examples</h5><div class="div5">
<h6><a name="d2e20450" id="d2e20450"/>6.9.1.1.1 Expandable/Collapsible Table of Contents</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;chapter&gt;&lt;title&gt;Chapter&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;/chapter&gt;
&lt;chapter&gt;&lt;title&gt;Chapter&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;section&gt;&lt;title&gt;Section&lt;/title&gt;
&lt;p&gt;Text&lt;/p&gt;
&lt;/section&gt;
&lt;/chapter&gt;
&lt;/doc&gt;
</pre></div><p>In this example
the chapter and section titles are extracted into a table of contents
placed at the front of the result. The chapter titles are preceded
by an icon indicating either collapsed or expanded state. The section
titles are only shown in the expanded state. Furthermore, there are
links from the titles in the table of contents to the corresponding
titles in the body of the document.</p><p>The two states are achieved by, for each chapter title, using
an <a href="#fo_multi-switch" class="el">fo:multi-switch</a> with a <a href="#fo_multi-case" class="el">fo:multi-case</a> for each state. The icon
is contained in an <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> with the appropriate <a href="#fo_multi-case" class="el">fo:multi-case</a>
"<a href="#switch-to" class="property">switch-to</a>" property to select the other state.</p><p>The links in the table of contents are achieved by
adding a unique <a href="#id" class="property">id</a> on the title text in the body of the document
and wrapping the title text in the table of contents in an
<a href="#fo_basic-link" class="el">fo:basic-link</a> referring to that id.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="doc"&gt;
&lt;!-- create the table of contents --&gt;
&lt;xsl:apply-templates select="chapter/title" mode="toc"/&gt;
&lt;!-- do the document --&gt;
&lt;xsl:apply-templates/&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="chapter/title" mode="toc"&gt;
&lt;fo:multi-switch&gt;
&lt;fo:multi-case case-name="collapsed" case-title="collapsed"
starting-state="show"&gt;
&lt;fo:block&gt;
&lt;fo:multi-toggle switch-to="expanded"&gt;
&lt;fo:external-graphic href="plus-icon.gif"/&gt;
&lt;/fo:multi-toggle&gt;
&lt;fo:basic-link internal-destination="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter" format="1. "/&gt;
&lt;xsl:apply-templates mode="toc"/&gt;
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;/fo:multi-case&gt;
&lt;fo:multi-case case-name="expanded" case-title="expanded"
starting-state="hide"&gt;
&lt;fo:block&gt;
&lt;fo:multi-toggle switch-to="collapsed"&gt;
&lt;fo:external-graphic href="minus-icon.gif"/&gt;
&lt;/fo:multi-toggle&gt;
&lt;fo:basic-link internal-destination="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter" format="1. "/&gt;
&lt;xsl:apply-templates mode="toc"/&gt;
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;xsl:apply-templates select="../section/title" mode="toc"/&gt;
&lt;/fo:multi-case&gt;
&lt;/fo:multi-switch&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="section/title" mode="toc"&gt;
&lt;fo:block start-indent="10mm"&gt;
&lt;fo:basic-link internal-destination="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter|section" format="1.1 "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="chapter/title"&gt;
&lt;fo:block id="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter" format="1. "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="section/title"&gt;
&lt;fo:block id="{generate-id(.)}"&gt;
&lt;xsl:number level="multiple" count="chapter|section" format="1.1 "/&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:multi-switch&gt;
&lt;fo:multi-case case-name="collapsed" case-title="collapsed" starting-state="show"&gt;
&lt;fo:block&gt;
&lt;fo:multi-toggle switch-to="expanded"&gt;
&lt;fo:external-graphic href="plus-icon.gif"&gt;
&lt;/fo:external-graphic&gt;
&lt;/fo:multi-toggle&gt;
&lt;fo:basic-link internal-destination="N4"&gt;1. Chapter
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;/fo:multi-case&gt;
&lt;fo:multi-case case-name="expanded" case-title="expanded" starting-state="hide"&gt;
&lt;fo:block&gt;
&lt;fo:multi-toggle switch-to="collapsed"&gt;
&lt;fo:external-graphic href="minus-icon.gif"&gt;
&lt;/fo:external-graphic&gt;
&lt;/fo:multi-toggle&gt;
&lt;fo:basic-link internal-destination="N4"&gt;1. Chapter
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm"&gt;
&lt;fo:basic-link internal-destination="N11"&gt;1.1 Section
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm"&gt;
&lt;fo:basic-link internal-destination="N19"&gt;1.2 Section
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;/fo:multi-case&gt;
&lt;/fo:multi-switch&gt;
&lt;fo:multi-switch&gt;
&lt;fo:multi-case case-name="collapsed" case-title="collapsed" starting-state="show"&gt;
&lt;fo:block&gt;
&lt;fo:multi-toggle switch-to="expanded"&gt;
&lt;fo:external-graphic href="plus-icon.gif"&gt;
&lt;/fo:external-graphic&gt;
&lt;/fo:multi-toggle&gt;
&lt;fo:basic-link internal-destination="N28"&gt;2. Chapter
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;/fo:multi-case&gt;
&lt;fo:multi-case case-name="expanded" case-title="expanded" starting-state="hide"&gt;
&lt;fo:block&gt;
&lt;fo:multi-toggle switch-to="collapsed"&gt;
&lt;fo:external-graphic href="minus-icon.gif"&gt;
&lt;/fo:external-graphic&gt;
&lt;/fo:multi-toggle&gt;
&lt;fo:basic-link internal-destination="N28"&gt;2. Chapter
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm"&gt;
&lt;fo:basic-link internal-destination="N35"&gt;2.1 Section
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;fo:block start-indent="10mm"&gt;
&lt;fo:basic-link internal-destination="N43"&gt;2.2 Section
&lt;/fo:basic-link&gt;
&lt;/fo:block&gt;
&lt;/fo:multi-case&gt;
&lt;/fo:multi-switch&gt;
&lt;fo:block id="N4"&gt;1. Chapter
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N11"&gt;1.1 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N19"&gt;1.2 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N28"&gt;2. Chapter
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N35"&gt;2.1 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
&lt;fo:block id="N43"&gt;2.2 Section
&lt;/fo:block&gt;
&lt;fo:block&gt;Text
&lt;/fo:block&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e20492" id="d2e20492"/>6.9.1.1.2 Styling an XLink Based on the Active State</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;p&gt;Follow this &lt;xlink:mylink xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="http://www.w3.org/TR"
xlink:title="An Example"
xlink:show="new"
xlink:actuate="onRequest"&gt;link&lt;/xlink:mylink&gt; to access all
TRs of the W3C.&lt;/p&gt;
</pre></div><p>In this example an <a href="#fo_basic-link" class="el">fo:basic-link</a> contains a series of
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>s
that specify various colors or text-decorations depending on the active
state, and a wrapper around the <a href="#fo_basic-link" class="el">fo:basic-link</a> that allows for the
merging
of the properties of the <a href="#fo_multi-properties" class="el">fo:multi-properties</a> with those of the
appropriate <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>s.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="xlink:mylink" xmlns:xlink="http://www.w3.org/1999/xlink"&gt;
&lt;xsl:variable name="show"&gt;&lt;xsl:value-of select="@xlink:show"/&gt;
&lt;/xsl:variable&gt;
&lt;fo:multi-properties text-decoration="underline"&gt;
&lt;fo:multi-property-set active-state="link" color="blue"/&gt;
&lt;fo:multi-property-set active-state="visited" color="red"/&gt;
&lt;fo:multi-property-set active-state="active" color="green"/&gt;
&lt;fo:multi-property-set active-state="hover" text-decoration="blink"/&gt;
&lt;fo:multi-property-set active-state="focus" color="yellow"/&gt;
&lt;fo:wrapper color="merge-property-values()"
text-decoration="merge-property-values()"&gt;
&lt;fo:basic-link external-destination="http://www.w3.org/TR"
show-destination="{$show}"&gt;
&lt;xsl:attribute name="role"&gt;
&lt;xsl:value-of select="@xlink:title"/&gt;
&lt;/xsl:attribute&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:basic-link&gt;
&lt;/fo:wrapper&gt;
&lt;/fo:multi-properties&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:block&gt;Follow this
&lt;fo:multi-properties text-decoration="underline"&gt;
&lt;fo:multi-property-set active-state="link" color="blue"&gt;
&lt;/fo:multi-property-set&gt;
&lt;fo:multi-property-set active-state="visited" color="red"&gt;
&lt;/fo:multi-property-set&gt;
&lt;fo:multi-property-set active-state="active" color="green"&gt;
&lt;/fo:multi-property-set&gt;
&lt;fo:multi-property-set active-state="hover" text-decoration="blink"&gt;
&lt;/fo:multi-property-set&gt;
&lt;fo:multi-property-set active-state="focus" color="yellow"&gt;
&lt;/fo:multi-property-set&gt;
&lt;fo:wrapper color="merge-property-values()"
text-decoration="merge-property-values()"&gt;
&lt;fo:basic-link external-destination="http://www.w3.org/TR"
show-destination="new" role="An Example"&gt;link
&lt;/fo:basic-link&gt;
&lt;/fo:wrapper&gt;
&lt;/fo:multi-properties&gt; to access all
TRs of the W3C.
&lt;/fo:block&gt;
</pre></div></div></div></div><div class="div3">
<h4><a name="fo_basic-link" id="fo_basic-link"/>6.9.2 fo:basic-link</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_basic-link" class="el">fo:basic-link</a> is used for representing the start resource of a simple
one-directional single-target link. The object allows for traversal to the
destination resource, typically by clicking on any of the containing areas.</p><p><em>Areas:</em></p><p>The <a href="#fo_basic-link" class="el">fo:basic-link</a> formatting object generates one or more
<b>normal</b> inline-areas.
The <a href="#fo_basic-link" class="el">fo:basic-link</a> returns these areas,
together with any <b>normal</b> block-areas,
<b>page-level-out-of-line</b> areas,
and <b>reference-level-out-of-line</b>
areas returned by the children of the <a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An <a href="#fo_basic-link" class="el">fo:basic-link</a> can be enclosed in
an <a href="#fo_block" class="el">fo:block</a> to create a display area.</p></div><p><em>Constraints:</em></p><p>One of the <a href="#external-destination" class="property">external-destination</a> and <a href="#internal-destination" class="property">internal-destination</a>
properties should be specified. If both are specified, the system
may either report it as an error, or use the <a href="#internal-destination" class="property">internal-destination</a>
property.</p><p>No area may have more than one normal child area
returned by the same <a href="#fo_basic-link" class="el">fo:basic-link</a> formatting object.</p><p>The children of each normal area returned by an <a href="#fo_basic-link" class="el">fo:basic-link</a>
must satisfy the constraints specified in <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>In addition this formatting object may have a sequence of
zero or more <a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#common-border-padding-and-background-properties"><b>7.8 Common Border, Padding, and Background Properties</b></a><br/><a href="#common-margin-properties-inline"><b>7.12 Common Margin Properties-Inline</b></a><br/><a href="#common-relative-position-properties"><b>7.13 Common Relative Position Properties</b></a><br/><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a><br/><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a><br/><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a><br/><a href="#destination-placement-offset"><b>7.24.5 destination-placement-offset</b></a><br/><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a><br/><a href="#external-destination"><b>7.24.6 external-destination</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#indicate-destination"><b>7.24.7 indicate-destination</b></a><br/><a href="#internal-destination"><b>7.24.8 internal-destination</b></a><br/><a href="#keep-together"><b>7.21.3 keep-together</b></a><br/><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a><br/><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a><br/><a href="#line-height"><b>7.17.4 line-height</b></a><br/><a href="#show-destination"><b>7.24.9 show-destination</b></a><br/><a href="#target-processing-context"><b>7.24.13 target-processing-context</b></a><br/><a href="#target-presentation-context"><b>7.24.12 target-presentation-context</b></a><br/><a href="#target-stylesheet"><b>7.24.14 target-stylesheet</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_multi-switch" id="fo_multi-switch"/>6.9.3 fo:multi-switch</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_multi-switch" class="el">fo:multi-switch</a> wraps the specification of
alternative sub-trees of formatting objects (each sub-tree
being within an <a href="#fo_multi-case" class="el">fo:multi-case</a>), and controls the switching
(activated via <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>) from one alternative to
another.</p><p>The direct children of an <a href="#fo_multi-switch" class="el">fo:multi-switch</a> object are
<a href="#fo_multi-case" class="el">fo:multi-case</a> objects.
Only a single <a href="#fo_multi-case" class="el">fo:multi-case</a> may be visible at a single time. The user may
switch between the available multi-cases.</p><p>Each <a href="#fo_multi-case" class="el">fo:multi-case</a> may contain one or more <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> objects, which
controls the <a href="#fo_multi-case" class="el">fo:multi-case</a> switching of the <a href="#fo_multi-switch" class="el">fo:multi-switch</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An <a href="#fo_multi-switch" class="el">fo:multi-switch</a> can be used for many interactive tasks, such as
table-of-content views, embedding link targets, or generalized (even
multi-layered hierarchical), next/previous views. The
latter are today
normally handled in HTML by next/previous links to other
documents, forcing
the whole document to be replaced whenever the users decides to
move on.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_multi-switch" class="el">fo:multi-switch</a> formatting object does not generate any areas.
The <a href="#fo_multi-switch" class="el">fo:multi-switch</a> formatting object returns the sequence of
areas returned by the currently visible <a href="#fo_multi-case" class="el">fo:multi-case</a>. If there is no
currently visible <a href="#fo_multi-case" class="el">fo:multi-case</a> no areas are returned.</p><p><em>Trait Derivation:</em></p><p>The <span class="trait">currently-visible-multi-case</span> trait
has as its initial value a reference
to the first <a href="#fo_multi-case" class="el">fo:multi-case</a> child that has a value of "show" of the
<span class="trait">starting-state</span> trait. If there is no such child, it has a value
indicating that there is no currently visible <a href="#fo_multi-case" class="el">fo:multi-case</a>.
When an <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> is actuated, its closest ancestral
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>'s
<span class="trait">currently-visible-multi-case</span> trait value changes to refer to the
<a href="#fo_multi-case" class="el">fo:multi-case</a> selected by the "<a href="#switch-to" class="property">switch-to</a>" property value of the
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>. Once the <span class="trait">currently-visible-multi-case</span> trait
gets a value indicating that there is no currently visible <a href="#fo_multi-case" class="el">fo:multi-case</a>, it
becomes impossible to actuate an <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> in this <a href="#fo_multi-switch" class="el">fo:multi-switch</a>.</p><p><em>Constraints:</em></p><p>The order of the sequence of areas returned by the <a href="#fo_multi-switch" class="el">fo:multi-switch</a>
is the same as the order of the areas returned by the currently visible
<a href="#fo_multi-case" class="el">fo:multi-case</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Any number of the <a href="#fo_multi-case" class="el">fo:multi-case</a> objects may assign "<a href="#starting-state" class="property">starting-state</a>"
to "show".</p></div><p>If no <a href="#fo_multi-case" class="el">fo:multi-case</a> has "<a href="#starting-state" class="property">starting-state</a>" property value of "show", the
contents of no <a href="#fo_multi-case" class="el">fo:multi-case</a> should be displayed.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If no multi-case is displayed, the entire <a href="#fo_multi-switch" class="el">fo:multi-switch</a> will
effectively be hidden.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_multi-case">multi-case</a>+)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#auto-restore"><b>7.24.2 auto-restore</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_multi-case" id="fo_multi-case"/>6.9.4 fo:multi-case</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_multi-case" class="el">fo:multi-case</a> is used to contain (within
an <a href="#fo_multi-switch" class="el">fo:multi-switch</a>) each alternative sub-tree of formatting
objects among which the parent <a href="#fo_multi-switch" class="el">fo:multi-switch</a> will choose
one to show and will hide the rest.</p><p><em>Areas:</em></p><p>The <a href="#fo_multi-case" class="el">fo:multi-case</a> formatting object does not generate any areas. The
<a href="#fo_multi-case" class="el">fo:multi-case</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_multi-case" class="el">fo:multi-case</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_multi-case" class="el">fo:multi-case</a>
is the same order as the children are ordered under the <a href="#fo_multi-case" class="el">fo:multi-case</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>An <a href="#fo_multi-case" class="el">fo:multi-case</a> is only permitted to have
children that would be permitted to be children
of the parent of the <a href="#fo_multi-switch" class="el">fo:multi-switch</a> that is the parent of the
<a href="#fo_multi-case" class="el">fo:multi-case</a>, except that an
<a href="#fo_multi-case" class="el">fo:multi-case</a> may not contain <a href="#fo_marker" class="el">fo:marker</a> children.
In particular,
it can contain <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> objects (at any depth), which controls the
<a href="#fo_multi-case" class="el">fo:multi-case</a> switching.</p><p>This restriction applies recursively.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, an <a href="#fo_multi-case" class="el">fo:multi-case</a> whose parent
<a href="#fo_multi-switch" class="el">fo:multi-switch</a> is a child of another <a href="#fo_multi-case" class="el">fo:multi-case</a>
may only have children that
would be permitted in place of the outer <a href="#fo_multi-case" class="el">fo:multi-case</a>'s parent
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>.</p></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#starting-state"><b>7.24.10 starting-state</b></a><br/><a href="#case-name"><b>7.24.3 case-name</b></a><br/><a href="#case-title"><b>7.24.4 case-title</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_multi-toggle" id="fo_multi-toggle"/>6.9.5 fo:multi-toggle</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> is typically used to establish an area that when
actuated (for example implemented as "clicked"),
has the effect of switching from one <a href="#fo_multi-case" class="el">fo:multi-case</a> to another.
The "<a href="#switch-to" class="property">switch-to</a>" property
value of the <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> typically matches the "<a href="#case-name" class="property">case-name</a>" property
value of the <a href="#fo_multi-case" class="el">fo:multi-case</a> to switch to.
</p><p><em>Areas:</em></p><p>The <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> formatting object does not generate any areas. The
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>.
Each of the areas returned by the <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> has a <span class="trait">switch-to</span>
trait with the same value as on the returning <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>
is the same order as the children are ordered under the <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>.
</p><p>Activating an area returned by an <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> causes a change
to the value of the <span class="trait">currently-visible-multi-case</span>
of the closest ancestor <a href="#fo_multi-switch" class="el">fo:multi-switch</a>.
(See <a href="#switch-to"><b>7.24.11 switch-to</b></a> for how
the <span class="trait">switch-to</span> value selects an <a href="#fo_multi-case" class="el">fo:multi-case</a>.)</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>An <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> is only permitted as a descendant of an
<a href="#fo_multi-case" class="el">fo:multi-case</a>.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#switch-to"><b>7.24.11 switch-to</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_multi-properties" id="fo_multi-properties"/>6.9.6 fo:multi-properties</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_multi-properties" class="el">fo:multi-properties</a> is used to switch between two or more property sets that
are associated with a given portion of content.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An <a href="#fo_multi-properties" class="el">fo:multi-properties</a> formatting object can be
used to give different
appearances to a given portion of content. For example, when
a link changes
from the not-yet-visited state to the visited-state, this
could change the
set of properties that would be used to <a href="#format" class="property">format</a> the content. Designers
should be careful in choosing which properties they change, because many
property changes could cause reflowing of the text which may
not be
desired in many circumstances. Changing properties such as
"<a href="#color" class="property">color</a>" or
"<a href="#text-decoration" class="property">text-decoration</a>" should not require re-flowing the text.
</p></div><p>The direct children of an <a href="#fo_multi-properties" class="el">fo:multi-properties</a>
formatting object
is an ordered set of <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> formatting objects
followed by a single <a href="#fo_wrapper" class="el">fo:wrapper</a> formatting object.
The properties, specified on the <a href="#fo_wrapper" class="el">fo:wrapper</a>, that have been
specified with a value of "merge-property-values()" will take
a value that is a merger of the value on the <a href="#fo_multi-properties" class="el">fo:multi-properties</a>
and the specified values on the <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>
formatting objects that apply.</p><p><em>Areas:</em></p><p>The <a href="#fo_multi-properties" class="el">fo:multi-properties</a> formatting object does not generate any areas. The
<a href="#fo_multi-properties" class="el">fo:multi-properties</a> formatting object returns the sequence of areas created by
concatenating the sequences of areas returned by each of the children
of the <a href="#fo_multi-properties" class="el">fo:multi-properties</a>.
</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_multi-properties" class="el">fo:multi-properties</a>
is the same order as the children are ordered under the <a href="#fo_multi-properties" class="el">fo:multi-properties</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_multi-property-set">multi-property-set</a>+,<a href="#fo_wrapper">wrapper</a>)
</pre></div><p>The properties that should take a merged value shall be specified
with a value of "merge-property-values()". This function, when applied on
an <a href="#fo_wrapper" class="el">fo:wrapper</a>
that is a direct child of an <a href="#fo_multi-properties" class="el">fo:multi-properties</a>, merges the applicable
property definitions on the <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> siblings.
</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_multi-property-set" id="fo_multi-property-set"/>6.9.7 fo:multi-property-set</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> auxiliary formatting object
is used to specify an alternative
set of formatting
properties that can be used to provide an alternate presentation of the
children flow objects of the <a href="#fo_wrapper" class="el">fo:wrapper</a> child of the
parent of this <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>.</p><p><em>Areas:</em></p><p>The <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> formatting object does not generate
or return any areas. It simply holds a set of traits that may
be accessed by expressions.
</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#active-state"><b>7.24.1 active-state</b></a></p></blockquote></div></div><div class="div2">
<h3><a name="d2e21222" id="d2e21222"/>6.10 Formatting Objects for Indexing</h3><div class="div3">
<h4><a name="d2e21225" id="d2e21225"/>6.10.1 Introduction</h4><p>The formatting objects and properties for indexing enable
the generation of lists of page numbers
associated with specific items in the formatting object tree,
such as for use in back-of-the-book indexes.
There are two kinds of such objects and properties: those that
associate index keys with formatting objects throughout the tree
and
formatting objects that are used in the back-of-the-book index
to assemble page references
to the pages where the areas from formatting objects with a particular
index key occur.
Further formatting properties and objects control the way in which
these page references are grouped and arranged into ranges.</p><p>There are two properties for associating index keys with
formatting objects:
"<a href="#index-key" class="property">index-key</a>" and "<a href="#index-class" class="property">index-class</a>".
These two properties apply to almost all formatting objects.
There are two formatting objects for
associating explicit index key ranges,
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> and <a href="#fo_index-range-end" class="el">fo:index-range-end</a>.</p><p>Cited page items associated with a particular index key are obtained
using the <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>. Its parent,
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>,
groups and arranges these.
In addition, the form of the generated page number list
can be defined and controlled using the
formatting objects
<a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a>,
<a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a>,
<a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a>, and
<a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a>.
For a back-of-the-book index
each index term would have an index key that is used
to identify each occurrence of that
term within the document.
In the back-of-the-book index there would be
at least one <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>
for each index key used. For example,</p><div class="exampleInner"><pre>
&lt;fo:block&gt;Eiffel Tower
&lt;fo:index-page-citation-list&gt;
&lt;fo:index-key-reference ref-index-key="Eiffel Tower;;"/&gt;
&lt;/fo:index-page-citation-list&gt;
&lt;/fo:block&gt;
</pre></div><p>The structure and content of the generated list of
page numbers can be further controlled
through the use of index classes to distinguish different
types of index entries or to
distinguish entries present in different parts of the document.
For example, different
classes could be used to distinguish index entries for figures
from normal entries or to
distinguish entries within one section, e.g. the preface,
of a document from entries
from another section, e.g. the main body, in
order to control the construction of page ranges.
The <a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a> and <a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a>
specify additional text, e.g. "[" and "]", to surround the
page numbers in the index.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The formatting objects for indexing only provide facilities for
generating the list of page numbers for individual index keys.
Assembling the index entries; identifying all the entries,
sorting them, and creating
the formatting objects, e.g. <a href="#fo_block" class="el">fo:block</a>, and
text, e.g. "Eiffel Tower", for the entry and referencing the
appropriate index key, e.g. "Eiffel Tower;;",
is done by the general stylesheet mechanisms.</p></div><div class="div4">
<h5><a name="d2e21284" id="d2e21284"/>6.10.1.1 Example</h5><p>The following example document is used throughout
this section to describe
the indexing process and how the various options
change the presentation of the index.</p><p>The source document uses typical XML markup for representing
back-of-the-book index entries.
The document consists of a preface, four chapters, a glossary,
and an index.
The formatting style for this document specifies that the preface,
body chapters,
and glossary all use different page numbers as shown below.</p><table><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Component</th><th align="left" valign="top">Numbered pages</th><th align="left" valign="top">Ordinal page numbers</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">Title Page Recto/Verso</td><td align="left" valign="top">n/a</td><td align="left" valign="top">1-2</td></tr><tr align="left" valign="top"><td align="left" valign="top">Table of Contents</td><td align="left" valign="top">iii/iv</td><td align="left" valign="top">3/4</td></tr><tr align="left" valign="top"><td align="left" valign="top">List of Figures</td><td align="left" valign="top">v/vi</td><td align="left" valign="top">5/6</td></tr><tr align="left" valign="top"><td align="left" valign="top">Preface</td><td align="left" valign="top">vii/x</td><td align="left" valign="top">7-10</td></tr><tr align="left" valign="top"><td align="left" valign="top">Chapter 1</td><td align="left" valign="top">1-3/4</td><td align="left" valign="top">11-13/14</td></tr><tr align="left" valign="top"><td align="left" valign="top">Chapter 2</td><td align="left" valign="top">5-12 (pg 4 is blank)</td><td align="left" valign="top">15-22</td></tr><tr align="left" valign="top"><td align="left" valign="top">Chapter 3</td><td align="left" valign="top">13-17/18</td><td align="left" valign="top">23-27/28</td></tr><tr align="left" valign="top"><td align="left" valign="top">Chapter 4</td><td align="left" valign="top">19-24 (pg 18 is blank)</td><td align="left" valign="top">29-34</td></tr><tr align="left" valign="top"><td align="left" valign="top">Glossary</td><td align="left" valign="top">G-1 to G-4</td><td align="left" valign="top">35-38</td></tr><tr align="left" valign="top"><td align="left" valign="top">Index</td><td align="left" valign="top">I-1 to ...</td><td align="left" valign="top">39-...</td></tr></tbody></table><p>The composite page numbers (e.g., "G-1") used in the glossary
are created using an <a href="#fo_folio-prefix" class="el">fo:folio-prefix</a>, e.g.</p><div class="exampleInner"><pre>
&lt;fo:page-sequence id="glossary" initial-page-number="1"&gt;
&lt;fo:page-number-folio-prefix&gt;
&lt;fo:inline&gt;G-&lt;/fo:inline&gt;
&lt;/fo:page-number-folio-prefix&gt;
&lt;fo:flow&gt;...&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
</pre></div><p>Throughout the document, there are a number of index terms for the
Eiffel Tower.
This example uses explicit markup in the <em>source</em>
document's vocabulary.
Other mechanisms, such as external index documents,
can also be supported as long as the correct formatting objects
can be generated.
In this example index terms may be primary, secondary, or tertiary,
reflecting a typical multi-level index.
Primary entries may have subordinate secondary entries.
Secondary entries may have subordinate tertiary entries.
For this document only the lowest-level entries are associated
with page numbers (which means that each "indexterm" element can be
simply translated into an index key value
by concatenating the primary, secondary, and tertiary term values with
some separator, ";" in this example, between them).
</p><ul><li><p>Each individual reference to the tower is identified:</p><div class="exampleInner"><pre>
&lt;indexterm&gt;&lt;primary&gt;Eiffel Tower&lt;/primary&gt;&lt;/indexterm&gt;
</pre></div></li><li><p>Some of these terms identify a preferred description of the tower:</p><div class="exampleInner"><pre>
&lt;indexterm significance="preferred"&gt;
&lt;primary&gt;Eiffel Tower&lt;/primary&gt;&lt;/indexterm&gt;
</pre></div></li><li><p>For a long description of the tower, individual terms mark
the beginning and end
of the span:</p><div class="exampleInner"><pre>
&lt;indexterm id="ei.idx" class="startofrange"&gt;
&lt;primary&gt;Eiffel Tower&lt;/primary&gt;&lt;/indexterm&gt;
...
&lt;indexterm startref="ei.idx" class="endofrange"/&gt;
</pre></div></li><li><p>Two of the terms occur inside figures:</p><div class="exampleInner"><pre>
&lt;figure id="tower1"&gt;
&lt;head&gt;The Eiffel Tower&lt;/head&gt;
&lt;indexterm&gt;&lt;primary&gt;Eiffel Tower&lt;/primary&gt;&lt;/indexterm&gt;
...
&lt;/figure&gt;
</pre></div></li></ul><div class="div5">
<h6><a name="d2e21404" id="d2e21404"/>6.10.1.1.1 Associating Index Keys with Formatting Objects</h6><p>The first step in generating an index is to transfer
the index term information from
the source document into the formatting objects.
It is the location of this
information in the formatting object tree that will determine
what pages appear in the index.</p><p>Any formatting object to which the "<a href="#id" class="property">id</a>" property applies can also
have an "<a href="#index-key" class="property">index-key</a>" property.
Any formatting object with an "<a href="#index-key" class="property">index-key</a>" specified
defines a point or range of text that is associated
with the corresponding index key.</p><p>To simplify this example, point anchors will be generated
for each term (as opposed
to placing "<a href="#index-key" class="property">index-key</a>" on formatting objects used
for other purposes).</p><p>Consider the following templates:</p><div class="exampleInner"><pre>
&lt;xsl:template match="indexterm[@significance='preferred']"
priority="100"&gt;
&lt;fo:wrapper&gt;
&lt;xsl:attribute name="index-key"&gt;
&lt;xsl:value-of select="primary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="secondary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="tertiary"/&gt;
&lt;xsl:text&gt;;preferred&lt;/xsl:text&gt;
&lt;/xsl:attribute&gt;
&lt;/fo:wrapper&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="indexterm[@class='startofrange']"
priority="75"&gt;
&lt;fo:index-range-begin id="{@id}"/&gt;
&lt;xsl:attribute name="index-key"&gt;
&lt;xsl:value-of select="primary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="secondary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="tertiary"/&gt;
&lt;/xsl:attribute&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="indexterm[@class='endofrange']"
priority="75"&gt;
&lt;fo:index-range-end ref-id="{@startref}"&gt;
&lt;/fo:index-range-end&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="figure/indexterm" priority="50"&gt;
&lt;fo:wrapper&gt;
&lt;xsl:attribute name="index-key"&gt;
&lt;xsl:value-of select="primary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="secondary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="tertiary"/&gt;
&lt;xsl:text&gt;;figure&lt;/xsl:text&gt;
&lt;/xsl:attribute&gt;
&lt;/fo:wrapper&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="indexterm"&gt;
&lt;fo:wrapper&gt;
&lt;xsl:attribute name="index-key"&gt;
&lt;xsl:value-of select="primary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="secondary"/&gt;
&lt;xsl:text&gt;;&lt;/xsl:text&gt;
&lt;xsl:value-of select="tertiary"/&gt;
&lt;/xsl:attribute&gt;
&lt;/fo:wrapper&gt;
&lt;/xsl:template&gt;
</pre></div><p>Applied to the example index terms, these templates will produce
a set of index key associations, e.g.
(interspersed among the other formatting objects):</p><div class="exampleInner"><pre>
[E 9] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[F 10] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[G 11] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[H 13] &lt;fo:index-range-begin id="ei.idx" index-key="Eiffel Tower;;"/&gt;
[Y 15] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[C 15] &lt;fo:wrapper index-key="Eiffel Tower;;;figure"/&gt;
[K 16] &lt;fo:index-range-end ref-id="ei.idx"/&gt;
[L 18] &lt;fo:index-range-begin id="ei2.idx" index-key="Eiffel Tower;;"/&gt;
[A 19] &lt;fo:wrapper index-key="Eiffel Tower;;;preferred"/&gt;
[O 21] &lt;fo:index-range-end ref-id="ei2.idx"/&gt;
[B 23] &lt;fo:wrapper index-key="Eiffel Tower;;;preferred"/&gt;
[D 25] &lt;fo:wrapper index-key="Eiffel Tower;;;figure"/&gt;
[P 27] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[Q 29] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[R 30] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[S 31] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[T 32] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[U 33] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[V 34] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
[X 37] &lt;fo:wrapper index-key="Eiffel Tower;;"/&gt;
</pre></div><p>In the list above a label has been added for each formatting
object consisting of a letter and the ordinal page number (see below).
These are carried through below to make referencing and
reading the example easier.</p><p>These formatting objects are spread throughout the document,
appearing in the formatting object
tree where each index page reference is desired.
Naturally, in a real document, there would be many
more of these formatting objects,
one or more for each term that will appear in the index.</p></div><div class="div5">
<h6><a name="d2e21437" id="d2e21437"/>6.10.1.1.2 Building the Index</h6><p>Assembling a properly collated and sorted index is
accomplished using the general stylesheet mechanisms.
These details are not considered here.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Index cross references
("see" and "see also" entries)
are not associated with page numbers, so they do not use the
indexing formatting objects.</p></div><p>This section describes the formatting objects used for
collating and sorting the lists of page number citations
associated with <em>each entry</em> in the index.
The formatting objects referenced by index keys are used
to generate sets of cited page items referencing
sets of pages from the paginated area tree.
These cited page items are then collated, sorted, and possibly collapsed
into cited page item ranges,
and then the final formatting processing is applied.
That is, the index processing starts as
references to formatting objects by index key, moves to the domain
of real pages on which those formatting objects fall, and then,
once the lists of pages have been reduced to sets and ranges,
results in formatted lists of page numbers and ranges.</p><p>The <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> formatting object
is used to group index key references together.
Its ultimate effect is to produce a formatted list of page numbers
and ranges.
The starting set of cited page items
is created using "<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>" formatting objects.
Each
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting object uses a single index key
to generate cited page items for the pages on which the
formatting objects with that key occur.
The <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> also provides the formatting
properties for these page numbers.
All of the cited page items generated from a single
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> formatting object are sorted and
collated together.</p><p>For this example, the formatting style is to distinguish pages
that have the principal description of an item by using bold page numbers
and to enclose in square brackets the
page numbers where the index key occured in a figure.
The following formatting objects accomplish this:</p><div class="exampleInner"><pre>
&lt;fo:index-page-citation-list
merge-sequential-page-numbers="merge"/&gt;
&lt;fo:index-key-reference ref-index-key="Eiffel Tower;;;preferred"
font-weight="bold"
id="XB"/&gt;
&lt;fo:index-key-reference ref-index-key="Eiffel Tower;;;figure"
font-style="italic"
id="XI"&gt;
&lt;fo:index-page-number-prefix&gt;
&lt;fo:inline&gt;[&lt;/fo:inline&gt;
&lt;/fo:index-page-number-prefix&gt;
&lt;fo:index-page-number-suffix&gt;
&lt;fo:inline&gt;]&lt;/fo:inline&gt;
&lt;/fo:index-page-number-suffix&gt;
&lt;/fo:index-key-reference&gt;
&lt;fo:index-key-reference ref-index-key="Eiffel Tower;;"
id="XX"/&gt;
&lt;/fo:index-page-citation-list&gt;
</pre></div><p>In this index page citation list, three different groups of
page citations, represented by references to three different,
but related, keys, are merged
into a single result list of page citations.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The "<a href="#id" class="property">id</a>" values on the <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects
are for reference purposes in the text below. They are not
necessary for index processing.</p></div></div></div><div class="div4">
<h5><a name="d2e21488" id="d2e21488"/>6.10.1.2 Processing the Example Index</h5><p>This section describes how the index items in the example
are processed to produce the final
lists of formatted page numbers and page ranges.</p><p>For the purpose of the example, assume that the following
index classes are used; the preface specifies
<code>index-class="preface"</code>, all the chapters specify
<code>index-class="chapter"</code>, and the glossary specifies
<code>index-class="glossary"</code>.</p><p>Each <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> references one or more pages or page
ranges (that is, the page-viewport-areas in the area tree
that has as descendants areas generated by the
referenced formatting objects).
Each page-viewport-area in the full area tree has an ordinal number
which is called the ordinal page number.</p><p>In this example the following sets of pages are referenced
by the three <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> objects:</p><table width="100%"><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Key</th><th align="left" valign="top">Ordinal page numbers</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">Eiffel Tower;;;preferred</td><td align="left" valign="top">19, 23</td></tr><tr align="left" valign="top"><td align="left" valign="top">Eiffel Tower;;;figure</td><td align="left" valign="top">15, 25</td></tr><tr align="left" valign="top"><td align="left" valign="top">Eiffel Tower;;</td><td align="left" valign="top">9, 10, 11, 13-16, 15, 18-21, 27, 29, 30, 31, 32, 33, 34, 37</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>Formatting differences,
e.g. ordinal page number 9 formats as "ix" and ordinal page number 37 formats as "G-3",
will be considered later.</p></div><p>Within each <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>, page ranges are expanded to
a sequence of individual pages and duplicate pages are removed as
described in <a href="#fo_index-key-reference"><b>6.10.6 fo:index-key-reference</b></a> resulting in:</p><table width="100%"><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Key</th><th align="left" valign="top">Ordinal page numbers</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">Eiffel Tower;;;preferred</td><td align="left" valign="top">19, 23</td></tr><tr align="left" valign="top"><td align="left" valign="top">Eiffel Tower;;;figure</td><td align="left" valign="top">15, 25</td></tr><tr align="left" valign="top"><td align="left" valign="top">Eiffel Tower;;</td><td align="left" valign="top">9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 21, 27, 29, 30, 31, 32, 33, 34, 37</td></tr></tbody></table><p>For the purpose of processing by the <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> each
cited page item can be considered a tuple of four members: the ordinal
page number, the formatting object that is referenced by the
index-key-reference, the index class of the referenced formatting
object, and the <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> that referenced the page (here
represented by the ID values assigned in the example above).
</p><div class="exampleInner"><pre>
[A] (19, fo:wrapper, chapter, XB)
[B] (23, fo:wrapper, chapter, XB)
[C] (15, fo:wrapper, chapter, XI)
[D] (25, fo:wrapper, chapter, XI)
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
[H] (13, fo:index-range-begin, chapter, XX)
[I] (14, null, chapter, XX)
[J] (15, null, chapter, XX)
[K] (16, fo:index-range-end, chapter, XX)
[L] (18, fo:index-range-begin, chapter, XX)
[M] (19, null, chapter, XX)
[N] (20, null, chapter, XX)
[O] (21, fo:index-range-end, chapter, XX)
[P] (27, fo:wrapper, chapter, XX)
[Q] (29, fo:wrapper, chapter, XX)
[R] (30, fo:wrapper, chapter, XX)
[S] (31, fo:wrapper, chapter, XX)
[T] (32, fo:wrapper, chapter, XX)
[U] (33, fo:wrapper, chapter, XX)
[V] (34, fo:wrapper, chapter, XX)
[X] (37, fo:wrapper, glossary, XX)
</pre></div><div class="note"><p class="prefix"><b>Note:</b></p><p>In the case of ranges, the first page in the range is
associated with the start of the range and the last page is associated
with the end of the range.
Intermediate pages don't refer to any particular location on the page,
they just refer to that page as a whole.</p></div><p>The next section describes the abstract steps in processing an
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> when the
<a href="#merge-pages-across-index-key-references" class="property">merge-pages-across-index-key-references</a> property has the value
"leave-separate".
<a href="#ix-merge"><b>6.10.1.2.2 merge-pages-across-index-key-references="merge"</b></a> describes the same steps when
<a href="#merge-pages-across-index-key-references" class="property">merge-pages-across-index-key-references</a>
has the value "merge".</p><div class="div5">
<h6><a name="ix-leave-separate" id="ix-leave-separate"/>6.10.1.2.1 merge-pages-across-index-key-references="leave-separate"</h6><p>Step A in the processing of <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>
(see <a href="#fo_index-page-citation-list"><b>6.10.7 fo:index-page-citation-list</b></a>)
is collating and sorting the cited page items from all the child
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects.
The <span class="trait">merge-pages-across-index-key-references</span> controls
whether multiple references to the same page are retained.</p><p>The following set of tuples represents the case when
<span class="trait">merge-pages-across-index-key-references</span> has the value
"leave-separate".
For example, ordinal page number 19 is represented twice, once for each
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>
that referenced it:</p><div class="exampleInner"><pre>
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
[H] (13, fo:index-range-begin, chapter, XX)
[I] (14, null, chapter, XX)
[J] (15, null, chapter, XX)
[C] (15, fo:wrapper, chapter, XI)
[K] (16, fo:index-range-end, chapter, XX)
[L] (18, fo:index-range-begin, chapter, XX)
[A] (19, fo:wrapper, chapter, XB)
[M] (19, null, chapter, XX)
[N] (20, null, chapter, XX)
[O] (21, fo:index-range-end, chapter, XX)
[B] (23, fo:wrapper, chapter, XB)
[D] (25, fo:wrapper, chapter, XI)
[P] (27, fo:wrapper, chapter, XX)
[Q] (29, fo:wrapper, chapter, XX)
[R] (30, fo:wrapper, chapter, XX)
[S] (31, fo:wrapper, chapter, XX)
[T] (32, fo:wrapper, chapter, XX)
[U] (33, fo:wrapper, chapter, XX)
[V] (34, fo:wrapper, chapter, XX)
[X] (37, fo:wrapper, glossary, XX)
</pre></div><p>Step B is performed if <span class="trait">merge-sequential-page-numbers</span>
has the value "merge". It consists of merging cited page items
referring to three or more sequential pages
(see <a href="#fo_index-page-citation-list"><b>6.10.7 fo:index-page-citation-list</b></a>) into a range.</p><p>If <span class="trait">merge-ranges-across-index-key-references</span> has the
value "leave-separate", the ranges will be as shown below
(ranges are represented by a pair of tuples, the first for the
start of the range, the second for the end of the range):</p><div class="exampleInner"><pre>
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
([H] (13, fo:index-range-begin, chapter, XX),
[K] (16, fo:index-range-end, chapter, XX))
[C] (15, fo:wrapper, chapter, XI)
([L] (18, fo:index-range-begin, chapter, XX),
[O] (21, fo:index-range-end, chapter, XX))
[A] (19, fo:wrapper, chapter, XB)
[B] (23, fo:wrapper, chapter, XB)
[D] (25, fo:wrapper, chapter, XI)
[P] (27, fo:wrapper, chapter, XX)
([Q] (29, fo:wrapper, chapter, XX),
[V] (34, fo:wrapper, chapter, XX))
[X] (37, fo:wrapper, glossary, XX)
</pre></div><p>If <span class="trait">merge-ranges-across-index-key-references</span> has the
value "merge", the ranges will be:</p><div class="exampleInner"><pre>
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
([H] (13, fo:index-range-begin, chapter, XX),
[K] (16, fo:index-range-end, chapter, XX))
([L] (18, fo:index-range-begin, chapter, XX),
[O] (21, fo:index-range-end, chapter, XX))
[B] (23, fo:wrapper, chapter, XB)
[D] (25, fo:wrapper, chapter, XI)
[P] (27, fo:wrapper, chapter, XX)
([Q] (29, fo:wrapper, chapter, XX),
[V] (34, fo:wrapper, chapter, XX))
[X] (37, fo:wrapper, glossary, XX)
</pre></div><p>Step C consists of formatting the cited page items and
cited page item ranges as actual page numbers and ranges,
taking into account any index page number prefix and suffix and
using the appropriate index page citation list separator and
index page citation range separator.</p></div><div class="div5">
<h6><a name="ix-merge" id="ix-merge"/>6.10.1.2.2 merge-pages-across-index-key-references="merge"</h6><p>The following shows steps A and B when
<span class="trait">merge-pages-across-index-key-references</span> has the value
"merge".</p><p>In step A tuple [C] is merged with tuple [J] and tuple [M] is merged
with tuple [A]:
</p><div class="exampleInner"><pre>
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
[H] (13, fo:index-range-begin, chapter, XX)
[I] (14, null, chapter, XX)
[C] (15, fo:wrapper, chapter, XI)
[K] (16, fo:index-range-end, chapter, XX)
[L] (18, fo:index-range-begin, chapter, XX)
[A] (19, fo:wrapper, chapter, XB)
[N] (20, null, chapter, XX)
[O] (21, fo:index-range-end, chapter, XX)
[B] (23, fo:wrapper, chapter, XB)
[D] (25, fo:wrapper, chapter, XI)
[P] (27, fo:wrapper, chapter, XX)
[Q] (29, fo:wrapper, chapter, XX)
[R] (30, fo:wrapper, chapter, XX)
[S] (31, fo:wrapper, chapter, XX)
[T] (32, fo:wrapper, chapter, XX)
[U] (33, fo:wrapper, chapter, XX)
[V] (34, fo:wrapper, chapter, XX)
[X] (37, fo:wrapper, glossary, XX)
</pre></div><p>In step B, if <span class="trait">merge-ranges-across-index-key-references</span>
has the value "leave-separate", the ranges will be:</p><div class="exampleInner"><pre>
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
[H] (13, fo:index-range-begin, chapter, XX)
[I] (14, null, chapter, XX)
[C] (15, fo:wrapper, chapter, XI)
[K] (16, fo:index-range-end, chapter, XX)
[L] (18, fo:index-range-begin, chapter, XX)
[A] (19, fo:wrapper, chapter, XB)
[N] (20, null, chapter, XX)
[O] (21, fo:index-range-end, chapter, XX)
[B] (23, fo:wrapper, chapter, XB)
[D] (25, fo:wrapper, chapter, XI)
[P] (27, fo:wrapper, chapter, XX)
([Q] (29, fo:wrapper, chapter, XX),
[V] (34, fo:wrapper, chapter, XX))
[X] (37, fo:wrapper, glossary, XX)
</pre></div><p>If <span class="trait">merge-ranges-across-index-key-references</span>
has the value "merge", the ranges will be:</p><div class="exampleInner"><pre>
[E] ( 9, fo:wrapper, preface, XX)
[F] (10, fo:wrapper, preface, XX)
[G] (11, fo:wrapper, chapter, XX)
([H] (13, fo:index-range-begin, chapter, XX),
[K] (16, fo:index-range-end, chapter, XX))
([L] (18, fo:index-range-begin, chapter, XX),
[O] (21, fo:index-range-end, chapter, XX))
[B] (23, fo:wrapper, chapter, XB)
[D] (25, fo:wrapper, chapter, XI)
[P] (27, fo:wrapper, chapter, XX)
([Q] (29, fo:wrapper, chapter, XX),
[V] (34, fo:wrapper, chapter, XX))
[X] (37, fo:wrapper, glossary, XX)
</pre></div></div></div><div class="div4">
<h5><a name="d2e21672" id="d2e21672"/>6.10.1.3 Example Index</h5><p>The final set of page numbers that will appear in the example index
entry depends on the values of the
<span class="trait">merge-pages-across-index-key-references</span>,
<span class="trait">merge-ranges-across-index-key-references</span>,
and <span class="trait">index-class</span> traits.
If the index terms from the preface, chapter and glossary have different
<span class="trait">index-class</span> values as is the case in
the example,
then the results for the generated page number list are:</p><table width="100%"><col width="60%" align="center" span="1" valign="top"/><col width="40%" span="1" align="left" valign="top"/><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top"><a href="#merge-pages-across-index-key-references" class="property">merge-pages-across-index-key-references</a>/ <a href="#merge-ranges-across-index-key-references" class="property">merge-ranges-across-index-key-references</a></th><th align="left" valign="top">Resulting index pages</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">leave-separate/leave-separate</td><td align="left" valign="top">ix, x, 1, 3-6, <em>[5]</em>, 8-11, <em>9</em>, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr><tr align="left" valign="top"><td align="left" valign="top">leave-separate/merge</td><td align="left" valign="top">ix, x, 1, 3-6, 8-11, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3
</td></tr><tr align="left" valign="top"><td align="left" valign="top">merge/leave-separate</td><td align="left" valign="top">ix, x, 1, 3, 4, <em>[5]</em>, 6, 8,
<em>9</em>, 10, 11, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr><tr align="left" valign="top"><td align="left" valign="top">merge/merge</td><td align="left" valign="top">ix, x, 1, 3-6, 8-11, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr></tbody></table><p>If the index terms from the preface, chapter, and appendix pages <em>are</em> in the same <a href="#index-class" class="property">index-class</a>:</p><table width="100%"><col width="60%" align="center" span="1" valign="top"/><col width="40%" span="1" align="left" valign="top"/><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top"><a href="#merge-pages-across-index-key-references" class="property">merge-pages-across-index-key-references</a>/ <a href="#merge-ranges-across-index-key-references" class="property">merge-ranges-across-index-key-references</a></th><th align="left" valign="top">Resulting index pages</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">leave-separate/leave-separate</td><td align="left" valign="top">ix-1, 3-6, <em>[5]</em>, 8-11, <em>9</em>, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr><tr align="left" valign="top"><td align="left" valign="top">leave-separate/merge</td><td align="left" valign="top">ix-1, 3-6, 8-11, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr><tr align="left" valign="top"><td align="left" valign="top">merge/leave-separate</td><td align="left" valign="top">ix-1, 3, 4, <em>[5]</em>, 6, 8, <em>9</em>, 10, 11,
<em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr><tr align="left" valign="top"><td align="left" valign="top">merge/merge</td><td align="left" valign="top">ix-1, 3-6, 8-11, <em>13</em>, <em>[15]</em>, 17, 19-24, G-3</td></tr></tbody></table></div></div><div class="div3">
<h4><a name="fo_index-page-number-prefix" id="fo_index-page-number-prefix"/>6.10.2 fo:index-page-number-prefix</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a> formatting object specifies
a static prefix for the cited page items created by
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p><p><em>Areas:</em></p><p>The <a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a> formatting object does
not directly produce any areas.
Its children will be retrieved and used by <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>
when formatting cited page items and cited page item ranges.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div></div><div class="div3">
<h4><a name="fo_index-page-number-suffix" id="fo_index-page-number-suffix"/>6.10.3 fo:index-page-number-suffix</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a> formatting object specifies
a static suffix for the cited page items created by
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p><p><em>Areas:</em></p><p>The <a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a> formatting object does
not directly produce any areas.
Its children will be retrieved and used by <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>
when formatting cited page items and cited page item ranges.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div></div><div class="div3">
<h4><a name="fo_index-range-begin" id="fo_index-range-begin"/>6.10.4 fo:index-range-begin</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> formatting object is used to indicate
the beginning of an "indexed range" associated with an index key.
The index range is ended by a corresponding <a href="#fo_index-range-end" class="el">fo:index-range-end</a>.</p><p>All formatting objects following (in document order) this
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>, and up to the matching
<a href="#fo_index-range-end" class="el">fo:index-range-end</a>, are considered to be under the index range influence
of this <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>.
</p><p><em>Areas:</em></p><p>The <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> does not generate any area.</p><p><em>Constraints:</em></p><p>Each <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> formatting object must specify both an <a href="#id" class="property">id</a>
and an <a href="#index-key" class="property">index-key</a> property.</p><p>An <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>/<a href="#fo_index-range-end" class="el">fo:index-range-end</a> pair is considered a
matching pair if the <a href="#ref-id" class="property">ref-id</a> property of the <a href="#fo_index-range-end" class="el">fo:index-range-end</a> has
the same value as the <a href="#id" class="property">id</a> property on the <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>.</p><p>Following this <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> in document order, there must
be an <a href="#fo_index-range-end" class="el">fo:index-range-end</a> with which it forms a matching pair. If there
is no such <a href="#fo_index-range-end" class="el">fo:index-range-end</a>, it is an error, and the implementation
should recover by assuming the equivalent of a matching
<a href="#fo_index-range-end" class="el">fo:index-range-end</a> at the end of the document.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_index-range-end" id="fo_index-range-end"/>6.10.5 fo:index-range-end</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-range-end" class="el">fo:index-range-end</a> is used to indicate the end of
an "indexed range" that is started by its matching
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>.
See <a href="#fo_index-range-begin"><b>6.10.4 fo:index-range-begin</b></a> for details.</p><p><em>Areas:</em></p><p>The <a href="#fo_index-range-end" class="el">fo:index-range-end</a> does not generate any area.</p><p><em>Constraints:</em></p><p>Preceding this <a href="#fo_index-range-end" class="el">fo:index-range-end</a> in document order, there must
be an <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> with which it forms a matching pair. If there
is no such <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>, it is an error, and the implementation
should recover by ignoring this <a href="#fo_index-range-end" class="el">fo:index-range-end</a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#ref-id"><b>7.31.13 ref-id</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_index-key-reference" id="fo_index-key-reference"/>6.10.6 fo:index-key-reference</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting object is used to generate
a set of cited page items for all the occurrences of the specified
index-key.</p><p>A <b>cited page item</b> is a name for a collection containing
the following information:</p><ul><li><p>a reference to a page area</p></li><li><p>a reference to an <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a></p></li><li><p>an index class.</p></li></ul><p><em>Areas:</em></p><p>The <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> does not generate any areas. The containing
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> formatting object uses the cited page items
that it contains to produce the generated list of page numbers.</p><p><em>Constraints:</em></p><p>Each <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting object identifies
one or more formatting objects in the formatting object tree
with an <a href="#index-key" class="property">index-key</a> value that matches the <a href="#ref-index-key" class="property">ref-index-key</a> property
of the <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.
It is an error if there are no such formatting objects.
Implementations should recover from this error
by ignoring the <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p><p>If the matched <a href="#index-key" class="property">index-key</a> occurs on an <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>,
all of the pages whose descendants include areas generated by
formatting objects under the index range
influence of that <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> are referenced
by the generated cited page items.</p><p>For each formatting object containing a matching <a href="#index-key" class="property">index-key</a>, a
cited page item is generated for each page whose descendants include
areas returned from that formatting object.
The index class of these
cited page items is taken from that formatting object.
If there are no areas returned from that formatting object then
a cited page item is generated referring to the page containing
the first area returned from
a following formatting object, if any, or the last area returned
from a preceding formatting object, if any.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example,
if the matched <a href="#index-key" class="property">index-key</a> occurs on an <a href="#fo_block" class="el">fo:block</a> and
that block spans pages 3 and 4, then pages 3 and 4 are referenced.
If the block is wholly contained on page 3, only page 3 is referenced.
Equally, if the matched element is an <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> on page 8
and the matching pair <a href="#fo_index-range-end" class="el">fo:index-range-end</a> is on page 10,
then pages 8-10 are referenced.
If the beginning of the range and the end of the range
both occur on page 8, then only page 8 is referenced.</p></div><p>Within each <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>, page ranges are expanded to a
sequence of individual cited page items and all but one cited page item
that refer to the same page are removed.
When two cited page items refer to the same page, the cited page item
referring to the
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> or <a href="#fo_index-range-end" class="el">fo:index-range-end</a> occurring first in
document order is retained. If none of the referenced formatting objects
is an <a href="#fo_index-range-begin" class="el">fo:index-range-begin</a> or <a href="#fo_index-range-end" class="el">fo:index-range-end</a>, the cited page item
referring to the
formatting object that occurs first in the page is retained.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Duplicates are removed irrespective of index-class.</p></div><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_index-page-number-prefix">index-page-number-prefix</a>?,<a href="#fo_index-page-number-suffix">index-page-number-suffix</a>?)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#page-number-treatment"><b>7.25.3 page-number-treatment</b></a><br/><a href="#ref-index-key"><b>7.25.7 ref-index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_index-page-citation-list" id="fo_index-page-citation-list"/>6.10.7 fo:index-page-citation-list</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> formatting object is used to
group together the sets of cited page items generated by its
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> children. Each <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>
child provides formatting properties for the corresponding
cited page items. The resulting cited page items are
sorted and collated together. The ultimate effect of the
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> is to generate a formatted list of
page numbers and ranges.</p><p><em>Areas:</em></p><p>The <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> formatting object generates and
returns one or more <b>normal</b> <b>inline-area</b>s.</p><p><em>Trait Derivation:</em></p><p>The traits used for formatting the individual parts of the
list of page numbers and ranges is described below.</p><p><em>Constraints:</em></p><div class="note"><p class="prefix"><b>Note:</b></p><p>Although the constraints are described as performing a series
of steps, this is solely for the convenience of exposition
and does not imply they must be implemented as separate
steps in any conforming implementation. A conforming implementation
must only achieve the same effect.</p></div><p>Step A:
Cited page items from all the child <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>
formatting objects are sorted in area tree order.
There are then two cases:
if <span class="trait">merge-pages-across-index-key-references</span> has the value
"leave-separate", cited page items referring to the same page
generated by different
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects will be preserved.
If <span class="trait">merge-pages-across-index-key-references</span> has the value
"merge", only one of the cited page items referring to any given page
will be preserved, as specified in
<a href="#merge-pages-across-index-key-references"><b>7.25.6 merge-pages-across-index-key-references</b></a>.</p><p>Step B: consists of merging sequences of three or more
sequential cited page items into a cited page item range.
It is performed only if the value of <span class="trait">merge-sequential-page-numbers</span>
is "merge".</p><p>Several conditions influence whether or not any two cited page items
from the complete set of cited page items
are considered sequential.
Two cited page items are sequential if and only if all of the following
conditions hold:</p><ol class="enumar"><li><p>The cited page items refer to page-viewport-areas that are
consecutive children of the root of the area tree.</p></li><li><p>They have the same <span class="trait">index-class</span>.</p></li><li><p>Either the cited page items are generated by the same
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>
or the value of <span class="trait">merge-ranges-across-index-key-references</span>
is "merge".</p></li></ol><p>Step C: consists of formatting the cited page items and
cited page item ranges into
the list of formatted page numbers and ranges.
The result is the same as formatting
a sequence of result tree fragments corresponding to
individual page numbers, any index page number prefix or suffix,
range and list separators.
</p><p>For each cited page item, from <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> <var>R</var>,
the result areas are the same as the result
of formatting:</p><ol class="enumar"><li><p>If <var>R</var> has an <a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a> child,
an <a href="#fo_inline" class="el">fo:inline</a> containing the result-tree fragment that are
the children of the <a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a>.
The traits of the <a href="#fo_inline" class="el">fo:inline</a> are inherited from <var>R</var>, except for
<span class="trait">keep-with-next.within-line</span> which has the value "always".</p></li><li><p>An <a href="#fo_inline" class="el">fo:inline</a> containing the result-tree fragment,
defined in <a href="#fo_page-number"><b>6.6.10 fo:page-number</b></a>,
using the page referenced by the cited page item
as the <b>reference-page</b>,
and the <a href="#fo_page-sequence" class="el">fo:page-sequence</a> that generated the referenced page
as the <b>reference-page-sequence</b>.
The traits of the <a href="#fo_inline" class="el">fo:inline</a> are inherited from <var>R</var>.
If the <span class="trait">page-number-treatment</span> has the value "link",
the <a href="#fo_inline" class="el">fo:inline</a> should be a link back to the source of the reference
as for <a href="#fo_basic-link" class="el">fo:basic-link</a>.
</p></li><li><p>If <var>R</var> has an <a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a> child,
an <a href="#fo_inline" class="el">fo:inline</a> containing the result-tree fragment that are
the children of the <a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a>.
The traits of the <a href="#fo_inline" class="el">fo:inline</a> are inherited from <var>R</var>, except for
<span class="trait">keep-with-previous.within-line</span> which has the value "always".</p></li></ol><p>For each cited page item range the result areas are the same as the
result of formatting:</p><ol class="enumar"><li><p>The first cited page item in the range in the same way as
a cited page item; see above.</p></li><li><p>If the <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> has an
<a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a> child, an <a href="#fo_inline" class="el">fo:inline</a>
containing the result-tree fragment that are the children of the
<a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a>.
The traits of the <a href="#fo_inline" class="el">fo:inline</a> are inherited from the
<a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a>, except for
<span class="trait">keep-with-previous.within-line</span> and
<span class="trait">keep-with-next.within-line</span> that have the value "always".</p><p>Otherwise an <a href="#fo_character" class="el">fo:character</a> with traits:
<span class="trait">character</span> with value U+2013 (en dash),
<span class="trait">keep-with-previous.within-line</span> and
<span class="trait">keep-with-next.within-line</span> that have the value "always".
All other traits are inherited from the <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>.
Implementations may provide an alternative default,
for example to provide a language- or locale-specific index range
separator.</p></li><li><p>The last cited page item in the range in the same way as
a cited page item; see above.</p></li></ol><p>After each formatted page item or range, except the last, a separator is
inserted. The result areas are the same as the result of formatting:</p><p>If the <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a> has an
<a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a> child,
the result-tree fragment that are the children of the
<a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a>.
The traits of the <a href="#fo_inline" class="el">fo:inline</a> are inherited from the
<a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a>.</p><p>Otherwise an <a href="#fo_character" class="el">fo:character</a> with traits:
<span class="trait">character</span> with value U+002C (comma) and
<span class="trait">keep-with-previous.within-line</span> with value "always",
followed by an <a href="#fo_character" class="el">fo:character</a> with trait:
<span class="trait">character</span> with value U+0020 (space).
All other traits are inherited from the <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>.
Implementations may provide an alternative default,
for example to provide a language- or locale-specific index list
separator.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_index-page-citation-list-separator">index-page-citation-list-separator</a>?,<a href="#fo_index-page-citation-range-separator">index-page-citation-range-separator</a>?,<a href="#fo_index-key-reference">index-key-reference</a>+)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#merge-sequential-page-numbers"><b>7.25.5 merge-sequential-page-numbers</b></a><br/><a href="#merge-ranges-across-index-key-references"><b>7.25.4 merge-ranges-across-index-key-references</b></a><br/><a href="#merge-pages-across-index-key-references"><b>7.25.6 merge-pages-across-index-key-references</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_index-page-citation-list-separator" id="fo_index-page-citation-list-separator"/>6.10.8 fo:index-page-citation-list-separator</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a> formatting object specifies
the formatting objects used to separate singleton page numbers or
page number ranges in the generated list of page numbers.</p><p><em>Areas:</em></p><p>The <a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a> formatting object does
not directly produce any areas.
Its children will be retrieved and used by <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>
when formatting the list of page references.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div></div><div class="div3">
<h4><a name="fo_index-page-citation-range-separator" id="fo_index-page-citation-range-separator"/>6.10.9 fo:index-page-citation-range-separator</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a> formatting object specifies
the formatting objects used to separate two page numbers forming a
range in the generated list of page numbers.</p><p><em>Areas:</em></p><p>The <a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a> formatting object does
not directly produce any areas.
Its children will be retrieved and used by <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>
when formatting the list of page references.</p><p><em>Constraints:</em></p><p>None.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>)*
</pre></div></div></div><div class="div2">
<h3><a name="d2e22567" id="d2e22567"/>6.11 Formatting Objects for Bookmarks</h3><div class="div3">
<h4><a name="fo_bookmark-tree" id="fo_bookmark-tree"/>6.11.1 fo:bookmark-tree</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_bookmark-tree" class="el">fo:bookmark-tree</a> formatting object is used to hold a list of
access points within the document such as a table of contents, a list
of figures or tables, etc. Each access point is called a bookmark.</p><p><em>Areas:</em></p><p>This formatting object returns the sequence of areas
returned by the children of this formatting object.</p><p><em>Constraints:</em></p><p>The sequence of returned areas must be the concatenation of the
sub-sequences of areas returned by each of the flow children of the
<a href="#fo_bookmark-tree" class="el">fo:bookmark-tree</a> formatting object in the order in which the children
occur.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_bookmark">bookmark</a>+)
</pre></div></div><div class="div3">
<h4><a name="fo_bookmark" id="fo_bookmark"/>6.11.2 fo:bookmark</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_bookmark" class="el">fo:bookmark</a> formatting object is used to identify
an access point, by name, and to specify where that
access point is within the current document or another
external document. A given bookmark may be further
subdivided into a sequence of (sub-)bookmarks to as
many levels as the authors desire.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The <a href="#fo_bookmark" class="el">fo:bookmark</a> is a specialized form of the
<a href="#fo_basic-link" class="el">fo:basic-link</a> with restrictions on the applicable
properties and on its content model.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_bookmark" class="el">fo:bookmark</a> formatting object generates one or
more normal inline-areas. The <a href="#fo_bookmark" class="el">fo:bookmark</a> returns
these areas.</p><p><em>Constraints:</em></p><p>One of the <a href="#external-destination" class="property">external-destination</a> and <a href="#internal-destination" class="property">internal-destination</a>
properties should be specified. If both are specified, the system
may either report it as an error, or use the <a href="#internal-destination" class="property">internal-destination</a>
property.</p><p>No area may have more than one normal child area
returned by the same <a href="#fo_bookmark" class="el">fo:bookmark</a> formatting object.</p><p>The children of each normal area returned by an
<a href="#fo_bookmark" class="el">fo:bookmark</a> must satisfy the constraints specified in <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.</p><p>The property "<a href="#starting-state" class="property">starting-state</a>" determines whether any sub-list of bookmarks is initially displayed or is hidden. The value "show" means include the sub-list of bookmarks in the presentation of this bookmark. The value "hide" means show only this bookmark in the presentation.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_bookmark-title">bookmark-title</a>,<a href="#fo_bookmark">bookmark</a>*)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#external-destination"><b>7.24.6 external-destination</b></a><br/><a href="#internal-destination"><b>7.24.8 internal-destination</b></a><br/><a href="#starting-state"><b>7.24.10 starting-state</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_bookmark-title" id="fo_bookmark-title"/>6.11.3 fo:bookmark-title</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> formatting object is used to identify,
in human readable form, an access point.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> is a specialized form of the
<a href="#fo_inline" class="el">fo:inline</a> with restrictions on the applicable
properties and on its content model.</p></div><p><em>Areas:</em></p><p>The <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> formatting object generates one or
more normal inline-areas. The <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> returns
these areas.</p><p><em>Trait Derivation:</em></p><p>Even though the <a href="#white-space-treatment" class="property">white-space-treatment</a>, <a href="#linefeed-treatment" class="property">linefeed-treatment</a>, and
<a href="#white-space-collapse" class="property">white-space-collapse</a> properties are not applicable
to <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a>, the implementation should behave as though
these properties applied and had their initial values.</p><p><em>Constraints:</em></p><p>No area may have more than one normal child area
returned by the same <a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> formatting object.</p><p>The children of each normal area returned by an
<a href="#fo_bookmark-title" class="el">fo:bookmark-title</a> must satisfy the constraints specified
in <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA)
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#color"><b>7.19.1 color</b></a><br/><a href="#font-style"><b>7.9.7 font-style</b></a> <em>Note</em>. with the value space
limited to "normal" and "italic",<br/><a href="#font-weight"><b>7.9.9 font-weight</b></a><em>Note</em>. with the value space
limited to "normal" and "bold"</p></blockquote></div></div><div class="div2">
<h3><a name="d2e22776" id="d2e22776"/>6.12 Out-of-Line Formatting Objects</h3><div class="div3">
<h4><a name="d2e22779" id="d2e22779"/>6.12.1 Introduction</h4><div class="div4">
<h5><a name="d2e22782" id="d2e22782"/>6.12.1.1 Floats</h5><p>The <a href="#fo_float" class="el">fo:float</a> formatting object is used for two distinct purposes.
First, so that during the normal placement of content, some
related content is formatted into a separate area at the beginning of
a page where it is available to be read without immediately intruding
on the reader. The areas generated by this kind of <a href="#fo_float" class="el">fo:float</a> are called
before-floats. An <a href="#fo_float" class="el">fo:float</a> is specified to generate before-floats if it
has a "<a href="#float" class="property">float</a>" property value of "before". The constraints on placing
before-floats on a page are described in the <a href="#pg-out-of-line"><b>6.12.1.3 Conditional Sub-Regions</b></a>
section of this introduction and in the description of the <a href="#fo_float" class="el">fo:float</a>
formatting object.</p><p>Second, the <a href="#fo_float" class="el">fo:float</a> formatting object is used when an area
is intended to <a href="#float" class="property">float</a> to one side, with normal content flowing alongside
the floated area. The areas generated by this kind of <a href="#fo_float" class="el">fo:float</a> are
called side-floats. A side-float is always made a child of the nearest
ancestor reference-area. The edge of the reference-area towards which
the side-float floats is controlled by the value of the "<a href="#float" class="property">float</a>" property.</p><p>Flowing normal content flowing alongside side-floats is realized
by increasing the start-intrusion-adjustment or the end-intrusion-adjustment
of normal child areas of the parent reference-area of the side-float.</p><p>The "<a href="#clear" class="property">clear</a>" property applies to any block-level formatting
object. If the value of this property for a particular formatting object
is any value other than "none", then the areas generated by the block
will be positioned to ensure that their border-rectangles do not
overlap the allocation-rectangles of the applicable side-floats as determined
by the "<a href="#clear" class="property">clear</a>" property value.</p></div><div class="div4">
<h5><a name="d2e22829" id="d2e22829"/>6.12.1.2 Footnotes</h5><p>The <a href="#fo_footnote" class="el">fo:footnote</a> formatting object is used to generate both
a footnote and its citation. The <a href="#fo_footnote" class="el">fo:footnote</a> has two children,
which are both required to be present.
The first child is an <a href="#fo_inline" class="el">fo:inline</a> formatting object, which is formatted to
produce the footnote citation.
The second child is an <a href="#fo_footnote-body" class="el">fo:footnote-body</a> formatting object
which generates the content (or body) of the footnote.</p><p>The actual areas generated by the descendants of the <a href="#fo_footnote-body" class="el">fo:footnote-body</a>
formatting object are determined by the formatting objects that comprise the
descendant subtree. For example, the footnote could be formatted with
a label and an indented body by using the <a href="#fo_list-block" class="el">fo:list-block</a> formatting object
within the <a href="#fo_footnote-body" class="el">fo:footnote-body</a>.</p></div><div class="div4">
<h5><a name="pg-out-of-line" id="pg-out-of-line"/>6.12.1.3 Conditional Sub-Regions</h5><p>The region-body has two conditional sub-regions which implicitly
specify corresponding reference-areas called <b>before-float-reference-area</b> and
<b>footnote-reference-area</b>. These reference-areas are conditionally
generated as children of the region-reference-area. The before-float-reference-area
is generated only if the page contains one or more areas with area-class "xsl-before-float".
The footnote-reference-area is generated only if the page contains one or more areas
with area-class "xsl-footnote".
</p><p>The conditionally generated areas borrow space in the
<b><a href="#block-progression-dimension" class="property">block-progression-dimension</a></b> (this is "<a href="#height" class="property">height</a>"
when the <a href="#writing-mode" class="property">writing-mode</a> is "lr-tb") within the region-reference-area,
at the expense of the main-reference-area. Whether or not a conditionally generated
area is actually generated depends, additionally, on whether there
is sufficient space <a href="#left" class="property">left</a> in the main-reference-area.
</p><p>There may be limits on how much space conditionally generated areas can
borrow from the region-reference-area. It is <a href="#left" class="property">left</a> to the user agent
to decide these limits.
</p><p>The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the main-reference-area is
set equal to the <a href="#block-progression-dimension" class="property">block-progression-dimension</a> of the allocation-rectangle
of the region-reference-area minus the sum of the sizes in the
block-progression-direction of the allocation-rectangles of the
conditionally generated reference-areas that were actually generated.
The main-reference-area is positioned to immediately follow the after-edge
of the allocation-rectangle of the before-float-reference-area.
This positions the after-edge of the main-reference-area to coincide
with the before-edge of the allocation-rectangle of the footnote-reference-area.
In addition to the constraints normally determined by the region-reference-area,
the <b><a href="#inline-progression-dimension" class="property">inline-progression-dimension</a></b> (this is "<a href="#width" class="property">width</a>"
when the <a href="#writing-mode" class="property">writing-mode</a> is "lr-tb") of a conditionally generated reference-area
is constrained to match the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the main-reference-area.
</p><p>Each conditionally generated reference-area may additionally contain a sequence
of areas used to separate the reference-area from the main-reference-area.
The sequence of areas is the sequence returned by formatting an <a href="#fo_static-content" class="el">fo:static-content</a>
specified in the page-sequence that is being used to <a href="#format" class="property">format</a> the page.</p><p>If there is an <a href="#fo_static-content" class="el">fo:static-content</a> in a page-sequence whose "<a href="#flow-name" class="property">flow-name</a>" property value is
"xsl-before-float-separator", then the areas returned by formatting the
<a href="#fo_static-content" class="el">fo:static-content</a> are inserted in the proper order as the last children of
a before-float-reference-area that is generated using the same page-master,
provided the main-reference-area on the page is not empty.</p><p>If there is an <a href="#fo_static-content" class="el">fo:static-content</a> whose "<a href="#flow-name" class="property">flow-name</a>" property value is
"xsl-footnote-separator", then the areas returned by formatting the
<a href="#fo_static-content" class="el">fo:static-content</a> are inserted in the proper order as the initial children of
a footnote-reference-area that is generated using the same page-master.</p><p>An interactive user agent may choose to create "hot links" to the footnotes
from the footnote-citation, or create "hot links" to the before-floats from
an implicit citation, instead of realizing conditional sub-regions.
</p><p>The generation of areas with area-class "xsl-before-float" or "xsl-footnote"
is specified in the descriptions of the formatting objects that initially
return areas with those area-classes.</p></div><div class="div4">
<h5><a name="d2e22944" id="d2e22944"/>6.12.1.4 Examples</h5><div class="div5">
<h6><a name="d2e22947" id="d2e22947"/>6.12.1.4.1 Floating Figure</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;p&gt;C'ieng pieces were made in northern towns, such as C'ieng Mai.
They were typically of tamlung weight.&lt;/p&gt;
&lt;figure&gt;
&lt;photo image="TH0317A.jpg"/&gt;
&lt;caption&gt;C'ieng Tamlung of C'ieng Mai&lt;/caption&gt;
&lt;/figure&gt;
&lt;/doc&gt;
</pre></div><p>In this example the figures are placed as floats at the before
side (top in a lr-tb <a href="#writing-mode" class="property">writing-mode</a>).
</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="figure"&gt;
&lt;fo:float float="before"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:float&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="photo"&gt;
&lt;fo:block text-align="center"&gt;
&lt;fo:external-graphic src="{@image}"/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="caption"&gt;
&lt;fo:block space-before="3pt" text-align="center"
start-indent="10mm" end-indent="10mm"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:block&gt;C'ieng pieces were made in northern towns,
such as C'ieng Mai. They were typically of tamlung weight.
&lt;/fo:block&gt;
&lt;fo:float float="before"&gt;
&lt;fo:block text-align="center"&gt;
&lt;fo:external-graphic src="TH0317A.jpg"&gt;
&lt;/fo:external-graphic&gt;
&lt;/fo:block&gt;
&lt;fo:block space-before="3pt" text-align="center" start-indent="10mm"
end-indent="10mm"&gt;C'ieng Tamlung of C'ieng Mai
&lt;/fo:block&gt;
&lt;/fo:float&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e22967" id="d2e22967"/>6.12.1.4.2 Footnote</h6><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;p&gt;Some Pod Duang were restruck&lt;fn&gt;Berglund, A., Thai Money, from
Earliest Times to King Rama V, p. 203.&lt;/fn&gt; during the reign of King Rama V.&lt;/p&gt;
&lt;/doc&gt;
</pre></div><p>In this example the footnotes are numbered consecutively throughout
the document. The footnote callout is the number of the footnote,
followed by a ")", as a superscript. The footnote itself is formatted
using list formatting objects with the footnote number as the label
and the footnote text as the body.
</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="fn"&gt;
&lt;fo:footnote&gt;
&lt;fo:inline font-size="0.83em" baseline-shift="super"&gt;
&lt;xsl:number level="any" count="fn" format="1)"/&gt;
&lt;/fo:inline&gt;
&lt;fo:footnote-body&gt;
&lt;fo:list-block provisional-distance-between-starts="20pt"
provisional-label-separation="5pt"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block font-size="0.83em"
line-height="0.9em"&gt;
&lt;xsl:number level="any" count="fn" format="1)"/&gt;
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block font-size="0.83em"
line-height="0.9em"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/fo:list-block&gt;
&lt;/fo:footnote-body&gt;
&lt;/fo:footnote&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;fo:block&gt;Some Pod Duang were restruck
&lt;fo:footnote&gt;
&lt;fo:inline font-size="0.83em" baseline-shift="super"&gt;1)
&lt;/fo:inline&gt;
&lt;fo:footnote-body&gt;
&lt;fo:list-block provisional-distance-between-starts="20pt"
provisional-label-separation="5pt"&gt;
&lt;fo:list-item&gt;
&lt;fo:list-item-label end-indent="label-end()"&gt;
&lt;fo:block font-size="0.83em" line-height="0.9em"&gt;1)
&lt;/fo:block&gt;
&lt;/fo:list-item-label&gt;
&lt;fo:list-item-body start-indent="body-start()"&gt;
&lt;fo:block font-size="0.83em" line-height="0.9em"&gt;Berglund, A.,
Thai Money, from Earliest Times to King Rama V, p. 203.
&lt;/fo:block&gt;
&lt;/fo:list-item-body&gt;
&lt;/fo:list-item&gt;
&lt;/fo:list-block&gt;
&lt;/fo:footnote-body&gt;
&lt;/fo:footnote&gt; during the reign of King Rama V.
&lt;/fo:block&gt;
</pre></div></div></div></div><div class="div3">
<h4><a name="fo_float" id="fo_float"/>6.12.2 fo:float</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_float" class="el">fo:float</a> formatting object is typically used either to cause an
image to be positioned in a separate area at the beginning of a page, or
to cause an image to be positioned to one side, with normal content
flowing around and along-side the image.</p><p><em>Areas:</em></p><p>The <a href="#fo_float" class="el">fo:float</a> generates an optional single area with
area-class "xsl-anchor", and one or more block-areas that all share
the same area-class, which is either "xsl-before-float",
"xsl-side-float" or "xsl-normal" as specified by the
"<a href="#float" class="property">float</a>" property. (An <a href="#fo_float" class="el">fo:float</a> generates
normal block-areas if its "<a href="#float" class="property">float</a>" property value
is "none".)</p><p>Areas with area-class "xsl-side-float" are reference areas.</p><p>An area with area-class "xsl-before-float" is placed as a child
of a before-float-reference-area.</p><p>The optional area with area-class "xsl-anchor" is not generated if
the "<a href="#float" class="property">float</a>" property value is "none", or if, due
to an error as described in the constraints section, the
<a href="#fo_float" class="el">fo:float</a> shall be formatted as though its
"<a href="#float" class="property">float</a>" property was "none". Otherwise, the area
with area-class "xsl-anchor" shall be generated.</p><p>The area with area-class "xsl-anchor" has no children, and is an
inline-area, except where this would violate the constraints that
(a.) any area's children must be either block-areas or inline-areas,
but not a mixture, and
(b.) the children of a line-area may not consist only of anchor areas.
In the case where an inline-area would violate these
constraints, the
<a href="#fo_float" class="el">fo:float</a> must instead generate a block-area.</p><p><em>Constraints:</em></p><p>The normal inline-area generated by the <a href="#fo_float" class="el">fo:float</a> shall be
placed in the area tree as though the <a href="#fo_float" class="el">fo:float</a> had a
"<a href="#keep-with-previous" class="property">keep-with-previous</a>" property with value
"always". The inline-area has a length of zero for both the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> and
block-progression-dimension.</p><p>The term <b>anchor-area</b> is used here to mean the area with area-class
"xsl-anchor" generated by the <a href="#fo_float" class="el">fo:float</a>.
An area with area-class "xsl-side-float" is a <b>side-float</b>.</p><p>No area may have more than one child block-area with the same
area-class returned by the same <a href="#fo_float" class="el">fo:float</a> formatting object.</p><p>Areas with area-class "xsl-before-float" must be properly ordered within the
area tree relative to other areas with the same area-class.</p><p>The padding-, border-, and content-rectangles of the block-areas
generated by <a href="#fo_float" class="el">fo:float</a> all coincide. That is, the
<a href="#padding" class="property">padding</a> and <a href="#border" class="property">border</a> are zero
at all edges of the area.</p><p>The following constraints apply to <a href="#fo_float" class="el">fo:float</a> formatting objects that generate
areas with area-class "xsl-before-float":</p><ul><li><p>It is an error if the <a href="#fo_float" class="el">fo:float</a> occurs as a descendant of
a flow that is not assigned to one or more region-body regions,
or of an <a href="#fo_block-container" class="el">fo:block-container</a> that generates absolutely positioned areas.
In either case, the <a href="#fo_float" class="el">fo:float</a> shall be formatted as though its "<a href="#float" class="property">float</a>"
property was "none".</p></li><li><p>A block-area with area-class "xsl-before-float"
generated by the <a href="#fo_float" class="el">fo:float</a> may only be descendant from
a before-float-reference-area that is (a) descendant from a "region-reference-area"
generated using the region-master for the region to which the flow that has
the <a href="#fo_float" class="el">fo:float</a> as a descendant is assigned, and (b) is descendant from the same
page containing the anchor-area, or from a page following that page.</p></li><li><p>The <a href="#fo_float" class="el">fo:float</a> may not generate any additional block-areas
with area-class "xsl-before-float" unless the
page containing the preceding block-area generated by the <a href="#fo_float" class="el">fo:float</a>
contains no other areas with area-class "xsl-before-float", has
an empty main-reference-area, and does not contain a footnote-reference-area.</p></li><li><p>The "<a href="#clear" class="property">clear</a>" property does not apply.</p></li></ul><p>The following constraints apply to <a href="#fo_float" class="el">fo:float</a> formatting
objects that generate areas with area-class "xsl-side-float":</p><ul><li><p>Each side-float is placed either as
a child of the nearest ancestor reference-area of the anchor-area
or as a child of a later reference-area in the same reference-area
chain.</p></li><li><p>Side-floats that are siblings in the area-tree may overlap
their content rectangles.</p></li><li><p>The description in section 9.5 of <a href="#CSS2">[CSS2]</a> shall
be used to determine the formatting of the <a href="#fo_float" class="el">fo:float</a> and the rendering of
normal line-areas and side-floats that are inline-overlapping,
with these modifications:</p><ul><li><p>All references to <a href="#left" class="property">left</a> and
<a href="#right" class="property">right</a> shall be interpreted as their corresponding
<a href="#writing-mode" class="property">writing-mode</a> relative directions "start" and
"end". The "<a href="#float" class="property">float</a>" property will additionally
have the <a href="#writing-mode" class="property">writing-mode</a> relative values "start" and
"end". </p></li><li><p>All references to top and
<a href="#bottom" class="property">bottom</a> shall be interpreted as their
corresponding <a href="#writing-mode" class="property">writing-mode</a> relative directions
"before" and "after".</p></li><li><p>The phrase "current line box" shall be interpreted to mean
the line-area containing the anchor-area generated by the float. If
the anchor-area is a block-area then the "current line box" does not
exist.</p></li><li><p>Side-floats derive their length in the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> intrinsically from
their child areas; the length is not determined by an explicit
property value.</p></li><li><p>A side-float may add to the intrusion adjustment of any
inline-overlapping block-area whose nearest ancestor reference-area is
the parent of the side-float. See <a href="#intrusadjust"><b>4.4.3 Intrusion Adjustments</b></a> for
the description of intrusion adjustments.</p></li><li><p>The user agent may make its own determination,
after taking into account the intrusion adjustments caused by one
or more overlapping side-floats, that the remaining space in the
inline-progression-direction is insufficient for the next side-float
or normal block-area. The user agent may address this by causing
the next side-float or normal block-area to "<a href="#clear" class="property">clear</a>" one of
the relevant side-floats, as described in the "<a href="#clear" class="property">clear</a>" property
description, so the intrusion adjustment is sufficiently reduced.
Of the side-floats that could be cleared to meet this constraint,
the side-float that is actually cleared must be the one whose
after-edge is closest to the before-edge of the parent
reference-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The user agent may determine sufficiency of space
by using a fixed length, or by some heuristic such as whether
an entire word fits into the available space,
or by some combination, in order to handle text and images.</p></div></li></ul></li></ul><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p>An <a href="#fo_float" class="el">fo:float</a> is not permitted to have an <a href="#fo_float" class="el">fo:float</a>, <a href="#fo_footnote" class="el">fo:footnote</a>
or <a href="#fo_marker" class="el">fo:marker</a> as a descendant.</p><p>Additionally, an <a href="#fo_float" class="el">fo:float</a> is not permitted to have as a descendant an
<a href="#fo_block-container" class="el">fo:block-container</a> that generates an absolutely positioned area.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#float"><b>7.20.2 float</b></a><br/><a href="#clear"><b>7.20.1 clear</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_marginalia" id="fo_marginalia"/>6.12.3 fo:marginalia</h4><p><em>Common Usage:</em></p><p>The fo:marginalia formatting obiect is intended to be used to
produce marginalia, positioned in a separate area external to the
start-edge or end-edge of the region-body.</p><p><em>Areas:</em></p><p>The fo:marginalia formatting object does not generate any
areas. The fo:marginalia formatting object returns the areas generated
and returned by its child fo:inline formatting object. The fo:inline
element is optional.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The <a href="#fo_inline" class="el">fo:inline</a> formatting object is also useful for numbered
marginalia</p></div><p>If the <a href="#fo_inline" class="el">fo:inline</a> is empty, the fo:marginalia object does not
generate any area.</p><p>Additionally the <a href="#fo_marginalia" class="el">fo:marginalia</a> formatting object returns the
block-areas with area class "xsl-marginalia" generated by
its fo:marginalia-body child. The areas with area-class
"xsl-marginalia" are placed as children of the
marginalia-reference-area in the corresponding extension region.</p><p><em>Constraints:</em></p><p>An <a href="#fo_marginalia" class="el">fo:marginalia</a> is not permitted to have an
<a href="#fo_marginalia" class="el">fo:marginalia</a>, <a href="#fo_float" class="el">fo:float</a>, <a href="#fo_footnote" class="el">fo:footnote</a>, or
<a href="#fo_marker" class="el">fo:marker</a> as a descendant. Additionally, an
<a href="#fo_marginalia" class="el">fo:marginalia</a> is not permitted to have as a descendant an
<a href="#fo_block-container" class="el">fo:block-container</a> that generates an absolutely positioned
area.</p><p>The term "marginalia-body-area" is defined to mean the
first area generated and returned by the fo:marginalia-body, child of
the fo:marginalia.</p><p>The term "anchor-area" is defined to mean the line
area parent of the area generated by the <a href="#fo_inline" class="el">fo:inline</a> child of
the <a href="#fo_marginalia" class="el">fo:marginalia</a>. If the <a href="#fo_marginalia" class="el">fo:marginalia</a> does not
generate any area, the anchor-area is the previous line area in the
pre-order visit of the area tree.</p><p>These terms are used to specify how to align a marginalia with the
text it refers to, setting the <a href="#marginalia-relative-align" class="property">marginalia-relative-align</a> property. </p><p><em>Contents:</em></p><div class="exampleOuter"><div class="exampleInner"><pre>(inline?,marginalia-body)</pre></div></div><p><em>The following properties apply to this
formatting object:</em></p><blockquote><p>
<a href="#marginalia-destination-area"><b>7.28.25 marginalia-destination-area</b></a> </p></blockquote><p>Used to indicate the marginalia-reference-area where the block-areas
generated by the <a href="#fo_marginalia-body" class="el">fo:marginalia-body</a> will be placed.
This property can be inherited.</p><p>Possible values of this attribute are:</p><ul><li><p>"start": the content of the marginalia will
be placed in the extension-region-start region</p></li><li><p>"end": the content of the marginalia will be
placed in the extension-region-end region</p></li><li><p>"inside": the content of the marginalia will
be placed in the extension-region-end region of an even page and
in the extension-region-start of an odd page region</p></li><li><p>"outside": the content of the marginalia
will be placed in the extension-region-start region of an even
page and in the extension-region-end of an odd page</p></li></ul><blockquote><p><a href="#marginalia-relative-align"><b>7.15.10 marginalia-relative-align</b></a></p></blockquote><p>Used to indicate the alignment of the marginalia with respect to the
text it refers to. This property specifies the alignment, in the
block-direction, between two areas.</p><p>Possible values of this attribute are:</p><ul><li><p>"before": the before-edge of the
marginalia-body-area is placed aligned with the before-edge of
the anchor-area.</p></li><li><p>"baseline": the distance between the
baseline of the marginalia-body-area is the same as the distance
between the baseline of the anchor-area.</p></li></ul></div><div class="div3">
<h4><a name="fo_marginalia-body" id="fo_marginalia-body"/>6.12.4 fo:marginalia-body</h4><p><em>Common Usage:</em></p><p>The fo:marginalia-body is used to generate marginalia
content.</p><p><em>Areas:</em></p><p>The <a href="#fo_marginalia-body" class="el">fo:marginalia-body</a> generates and returns one or more
block-level areas with area-class "xsl-marginalia". The
areas with area-class "xsl-marginalia" are placed as
children of the marginalia-reference-area in the corresponding
extension region. </p><p><em>Constraints:</em></p><p>The <a href="#fo_marginalia-body" class="el">fo:marginalia-body</a> is only permitted as a child of an
<a href="#fo_marginalia" class="el">fo:marginalia</a>.</p><p>The position of a marginalia in the page (i.e., the corresponding
marginalia-reference-area) is indicated in the
<a href="#marginalia-destination-area" class="property">marginalia-destination-area</a> attribute of the
<a href="#fo_marginalia" class="el">fo:marginalia</a> formatting object.</p><p>Areas with area-class equal to "xsl-marginalia "are
defined to be "stackable", indicating that they are
supposed to be stacked, in the block-direction within their
marginalia-reference-area. In addition a "special stacking
rule" has to be applied for placing marginalia in the
marginalia-reference-area.</p><p>The term "marginalia-body-area" is defined to mean the
first area generated and returned by the fo:marginalia-body. The term
"anchor-area" is defined to mean the line area parent of
the area generated by the <a href="#fo_inline" class="el">fo:inline</a> child of the
<a href="#fo_marginalia" class="el">fo:marginalia</a>. If the <a href="#fo_marginalia" class="el">fo:marginalia</a> does not
generate any area, the anchor-area is the previous line area in the
pre-order visit of the area tree. </p><p>The offset of the before-edge of the marginalia-body-area from the
before-edge of the marginalia-reference-area cannot be smaller than
the offset of the before-edge of the anchor-area from the before-edge
of the region-reference-area. This constraint makes marginalia
anchored to the text they refer to.</p><p>The <a href="#marginalia-relative-align" class="property">marginalia-relative-align</a>property of the
<a href="#fo_marginalia" class="el">fo:marginalia</a> formatting object allows users to further
specify the alignment of a marginalia with the text it refers to.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p><em>The following properties apply to this formatting
object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_footnote" id="fo_footnote"/>6.12.5 fo:footnote</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_footnote" class="el">fo:footnote</a> is typically used to produce footnote-citations within the
region-body of a page and the corresponding footnote in a separate area
nearer the after-edge of the page.</p><p><em>Areas:</em></p><p>The <a href="#fo_footnote" class="el">fo:footnote</a> formatting object does not generate any areas.
The <a href="#fo_footnote" class="el">fo:footnote</a> formatting object returns the areas generated and
returned by its child <a href="#fo_inline" class="el">fo:inline</a> formatting object.</p><p>Additionally the <a href="#fo_footnote" class="el">fo:footnote</a> formatting object returns the block-areas
with area class "xsl-footnote" generated by its <a href="#fo_footnote-body" class="el">fo:footnote-body</a> child.
An area with area-class "xsl-footnote" is placed
as a child of a footnote-reference-area.</p><p><em>Constraints:</em></p><p>The term <b>anchor-area</b> is defined to mean the last area that is
generated and returned by the <a href="#fo_inline" class="el">fo:inline</a> child of the <a href="#fo_footnote" class="el">fo:footnote</a>.</p><p>A block-area returned by the <a href="#fo_footnote" class="el">fo:footnote</a> is only permitted as a descendant from
a footnote-reference-area that is (a) descendant from a "region-reference-area"
generated using the region-master for the region to which the flow that has
the <a href="#fo_footnote" class="el">fo:footnote</a> as a descendant is assigned, and (b) is descendant from the same
page that contains the anchor-area, or from a page following the page that contains
the anchor-area.</p><p>The second block-area and any additional block-areas returned by an <a href="#fo_footnote" class="el">fo:footnote</a>
must be placed on the immediately subsequent pages to the page containing the
first block-area returned by the <a href="#fo_footnote" class="el">fo:footnote</a>, before any other content is placed.
If a subsequent page does not contain a region-body, the user agent must use
the region-master of the last page that did contain a region-body to hold
the additional block-areas.</p><p>It is an error if the <a href="#fo_footnote" class="el">fo:footnote</a> occurs as a descendant of
a flow that is not assigned to one or more region-body regions,
or of an <a href="#fo_block-container" class="el">fo:block-container</a>
that generates absolutely positioned areas. In either case, the block-areas
generated by the <a href="#fo_footnote-body" class="el">fo:footnote-body</a> child of the <a href="#fo_footnote" class="el">fo:footnote</a> shall be returned
to the parent of the <a href="#fo_footnote" class="el">fo:footnote</a> and placed in the area tree as though they
were normal block-level areas.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#fo_inline">inline</a>,<a href="#fo_footnote-body">footnote-body</a>)
</pre></div><p>An <a href="#fo_footnote" class="el">fo:footnote</a> is not permitted to have an <a href="#fo_float" class="el">fo:float</a>, <a href="#fo_footnote" class="el">fo:footnote</a>,
or <a href="#fo_marker" class="el">fo:marker</a> as a descendant.</p><p>Additionally, an <a href="#fo_footnote" class="el">fo:footnote</a> is not permitted to have as a descendant
an <a href="#fo_block-container" class="el">fo:block-container</a> that generates an absolutely positioned area.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_footnote-body" id="fo_footnote-body"/>6.12.6 fo:footnote-body</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_footnote-body" class="el">fo:footnote-body</a> is used to generate the footnote content.</p><p><em>Areas:</em></p><p>The <a href="#fo_footnote-body" class="el">fo:footnote-body</a> generates and returns one or more block-level
areas with area-class "xsl-footnote".</p><p><em>Constraints:</em></p><p>The <a href="#fo_footnote-body" class="el">fo:footnote-body</a> is only permitted as a child of an <a href="#fo_footnote" class="el">fo:footnote</a>.</p><p>No area may have more than one child block-area returned by the same
<a href="#fo_footnote-body" class="el">fo:footnote-body</a> formatting object.</p><p>Areas with area-class "xsl-footnote" must be properly ordered within the
area tree relative to other areas with the same area-class.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(<a href="#block.fo.list">%block;</a>)+
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div></div><div class="div2">
<h3><a name="d2e23663" id="d2e23663"/>6.13 Other Formatting Objects</h3><div class="div3">
<h4><a name="d2e23666" id="d2e23666"/>6.13.1 Introduction</h4><div class="div4">
<h5><a name="d2e23669" id="d2e23669"/>6.13.1.1 Examples</h5><div class="div5">
<h6><a name="d2e23672" id="d2e23672"/>6.13.1.1.1 Wrapper</h6><p>The following example shows the use of the <a href="#fo_wrapper" class="el">fo:wrapper</a>
formatting object that has no semantics but acts as a
"carrier" for inherited properties.</p><p>Input sample:</p><div class="exampleInner"><pre>
&lt;doc&gt;
&lt;p&gt;This is an &lt;emph&gt;important word&lt;/emph&gt; in this
sentence that also refers to a &lt;code&gt;variable&lt;/code&gt;.&lt;/p&gt;
&lt;/doc&gt;
</pre></div><p>The "emph" elements are to be presented using a
bold
<a href="#font" class="property">font</a> and the "code" elements using a Courier
font.</p><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version='1.0'?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version='1.0'&gt;
&lt;xsl:template match="p"&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="emph"&gt;
&lt;fo:wrapper font-weight="bold"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:wrapper&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="code"&gt;
&lt;fo:wrapper font-family="Courier"&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:wrapper&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>fo: element and attribute tree:</p><div class="exampleInner"><pre>
&lt;fo:block xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;This is an
&lt;fo:wrapper font-weight="bold"&gt;important word&lt;/fo:wrapper&gt;
in this sentence that also refers to a
&lt;fo:wrapper font-family="Courier"&gt;variable&lt;/fo:wrapper&gt;.
&lt;/fo:block&gt;
</pre></div></div><div class="div5">
<h6><a name="d2e23697" id="d2e23697"/>6.13.1.1.2 Table Markers</h6><p>The following example shows how to use the <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>
formatting object to create a 'Table continued...' caption that appears at
the <a href="#bottom" class="property">bottom</a> of the table, when the table continues on the next page
(assuming enough data is present that page breaks are generated). It will
also show the subtotal at the <a href="#bottom" class="property">bottom</a> of the page when the table continues
on the next page, and the grand total at the end of the table.</p><p>Input sample:</p><div class="exampleInner"><pre>
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;numbers&gt;
&lt;number&gt;1&lt;/number&gt;
&lt;number&gt;2&lt;/number&gt;
&lt;!-- and so on... --&gt;
&lt;number&gt;11&lt;/number&gt;
&lt;number&gt;12&lt;/number&gt;
&lt;/numbers&gt;
</pre></div><p>XSL Stylesheet:</p><div class="exampleInner"><pre>
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0"&gt;
&lt;xsl:strip-space elements="*"/&gt;
&lt;xsl:template match="numbers"&gt;
&lt;fo:table&gt;
&lt;fo:table-column/&gt;
&lt;fo:table-footer&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell font-weight="bold"&gt;
&lt;fo:block&gt;
&lt;fo:retrieve-table-marker retrieve-class-name="subtotal-caption"
retrieve-position-within-table="last-ending"/&gt;
&lt;fo:retrieve-table-marker retrieve-class-name="subtotal"
retrieve-position-within-table="last-ending"/&gt;
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;fo:retrieve-table-marker retrieve-class-name="continued"
retrieve-position-within-table="last-ending"/&gt;
&lt;/fo:table-footer&gt;
&lt;fo:table-body&gt;
&lt;fo:marker marker-class-name="continued"&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;Table continued...&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:marker&gt;
&lt;fo:marker marker-class-name="subtotal-caption"&gt;
Subtotal:
&lt;/fo:marker&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:table-body&gt;
&lt;/fo:table&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="number"&gt;
&lt;fo:table-row&gt;
&lt;fo:marker marker-class-name="subtotal"&gt;
&lt;xsl:value-of select="sum(preceding::number)+text()"/&gt;
&lt;/fo:marker&gt;
&lt;xsl:if test="position() = last()"&gt;
&lt;fo:marker marker-class-name="continued"/&gt;
&lt;fo:marker marker-class-name="subtotal-caption"&gt;
Total:
&lt;/fo:marker&gt;
&lt;/xsl:if&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;
&lt;xsl:apply-templates/&gt;
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;
</pre></div><p>Result Instance: elements and attributes in the fo:
namespace</p><div class="exampleInner"><pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;fo:table&gt;
&lt;fo:table-column/&gt;
&lt;fo:table-footer&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell font-weight="bold"&gt;
&lt;fo:block&gt;
&lt;fo:retrieve-table-marker
retrieve-position-within-table="last-ending"
retrieve-class-name="subtotal-caption"/&gt;
&lt;fo:retrieve-table-marker
retrieve-position-within-table="last-ending"
retrieve-class-name="subtotal"/&gt;
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;fo:retrieve-table-marker retrieve-class-name="continued"
retrieve-position-within-table="last-ending"/&gt;
&lt;/fo:table-footer&gt;
&lt;fo:table-body&gt;
&lt;fo:marker marker-class-name="continued"&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;Table continued...&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:marker&gt;
&lt;fo:marker marker-class-name="subtotal-caption"&gt;
Subtotal:
&lt;/fo:marker&gt;
&lt;fo:table-row&gt;
&lt;fo:marker marker-class-name="subtotal"&gt;1&lt;/fo:marker&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;1&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;fo:table-row&gt;
&lt;fo:marker marker-class-name="subtotal"&gt;3&lt;/fo:marker&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;2&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;!-- and so on... --&gt;
&lt;fo:table-row&gt;
&lt;fo:marker marker-class-name="subtotal"&gt;66&lt;/fo:marker&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;11&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;fo:table-row&gt;
&lt;fo:marker marker-class-name="subtotal"&gt;78&lt;/fo:marker&gt;
&lt;fo:marker marker-class-name="continued"/&gt;
&lt;fo:marker marker-class-name="subtotal-caption"&gt;
Total:
&lt;/fo:marker&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;12&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:table-body&gt;
&lt;/fo:table&gt;
</pre></div><p>The following is meant as a note that shows by another example
how the retrieve-table-marker funtions, and how the retrieve scope area
set gets determined depending on the properties specified on the
<a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p>Consider this XSL-FO result instance:</p><div class="exampleInner"><pre>
&lt;fo:root xmlns:fo=http://www.w3.org/1999/XSL/Format&gt;
&lt;fo:layout-master-set&gt;
&lt;fo:simple-page-master master-name="page "&gt;
&lt;fo:region-body region-name=" body" column-count="2"/&gt;
&lt;/fo:simple-page-master&gt;
&lt;/fo:layout-master-set&gt;
&lt;fo:page-sequence master-reference="page"
&lt;fo:flow flow-name=" body"&gt;
&lt;fo:table&gt;
&lt;fo:table-column/&gt;
&lt;fo:table-header&gt;...&lt;/fo:table-header&gt;
&lt;fo:table-footer&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell&gt;
&lt;fo:block&gt;
&lt;fo:retrieve-table-marker
retrieve-class-name="marker-name"
retrieve-position-within-table="See table for values..."
retrieve-boundary-within-table="See table for values..."/&gt;
&lt;/fo:block&gt;
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:table-footer&gt;
&lt;fo:table-body&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell&gt;
&lt;!-- cell 1 --&gt;
&lt;fo:marker marker-class-name="marker-name"&gt;
&lt;!-- marker 1 --&gt;
...
&lt;/fo:marker&gt;
...
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;!-- and so on ... --&gt;
&lt;fo:table-row&gt;
&lt;fo:table-cell&gt;
&lt;!-- cell 14 --&gt;
&lt;fo:marker marker-class-name="marker-name"&gt;
&lt;!-- marker 14 --&gt;
...
&lt;/fo:marker&gt;
...
&lt;/fo:table-cell&gt;
&lt;/fo:table-row&gt;
&lt;/fo:table-body&gt;
&lt;/fo:table&gt;
&lt;/fo:flow&gt;
&lt;/fo:page-sequence&gt;
&lt;/fo:root&gt;
</pre></div><p>Say the XSL-FO instance results in a paginated document with
two page, that can be represented by this illustration:</p><img src="figures/retrieve-table-marker.gif" alt="An example of how table markers are retrieved in the table-header and table-footer, by showing the area's generated by the formatting objects. The illustration shows two pages, each with two columns. Every column contains an area generated or returned by an fo:table. This area contains child areas: an area generated or returned by a table-header at the top, then a number of areas generated or returned by table-cells, followed by an area generated or returned by a table-footer. Every area generated or returned by a table-cell is numbered. The first column on the first page contains the following areas: cell 1 area 1, cell 2 area 1, cell 3 area 1, cell 4 area1 and the area generated or returned by the table-footer containing retrieve-table-marker-1. The second column on the first page contains the following areas: cell 4 area 2, cell 5 area 1, cell 6 area 1, cell 7 area 1 and the area generated or returned by the table-footer containing retrieve-table-marker-2. The first column on the second page contains the following areas: cell 8 area 1, cell 9 area 1, cell 10 area 1, cell 11 area1 and the area generated or returned by the table-footer containing retrieve-table-marker-3. The second column on the second page contains the following areas: cell 11 area 2, cell 12 area 1, cell 13 area 1, cell 14 area 1 and the area generated or returned by the table-footer containing retrieve-table-marker-4." title="Two pages with Table"/><p>The following table shows the behaviour for retrieve-table-marker
1 depending on the values for the properties:</p><table border="1" width="90%"><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top"><a href="#retrieve-boundary-within-table" class="property">retrieve-boundary-within-table</a></th><th align="left" valign="top">retrieve scope
area set</th><th align="left" valign="top">primary retrieve
scope area</th><th align="left" valign="top"><a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a></th><th align="left" valign="top">selected
fo-marker</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">table</td><td align="left" valign="top">A1</td><td align="left" valign="top">A1</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">4</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">3</td></tr><tr align="left" valign="top"><td align="left" valign="top">table-fragment</td><td align="left" valign="top">A1</td><td align="left" valign="top">A1</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">4</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">3</td></tr><tr align="left" valign="top"><td align="left" valign="top">page</td><td align="left" valign="top">A1</td><td align="left" valign="top">A1</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">4</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">3</td></tr></tbody></table><p>The following table shows the
behaviour for retrieve-table-marker 2 depending on the values for
the properties:</p><table border="1" width="90%"><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top"><a href="#retrieve-boundary-within-table" class="property">retrieve-boundary-within-table</a></th><th align="left" valign="top">retrieve scope area
set</th><th align="left" valign="top">primary retrieve scope
area</th><th align="left" valign="top"><a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a></th><th align="left" valign="top">selected
fo-marker</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">table</td><td align="left" valign="top">A1, A2</td><td align="left" valign="top">A2</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">5</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">4</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">7</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">7</td></tr><tr align="left" valign="top"><td align="left" valign="top">table-fragment</td><td align="left" valign="top">A2</td><td align="left" valign="top">A2</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">5</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">4</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">7</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">7</td></tr><tr align="left" valign="top"><td align="left" valign="top">page</td><td align="left" valign="top">A1, A2</td><td align="left" valign="top">A2</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">5</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">4</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">7</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">7</td></tr></tbody></table><p>The following table shows the
behaviour for retrieve-table-marker 3 depending on the values for
the properties:</p><table border="1" width="90%"><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top"><a href="#retrieve-boundary-within-table" class="property">retrieve-boundary-within-table</a></th><th align="left" valign="top">retrieve scope area
set</th><th align="left" valign="top">primary retrieve scope
area</th><th align="left" valign="top"><a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a></th><th align="left" valign="top">selected
fo-marker</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">table</td><td align="left" valign="top">A1, A2, A3</td><td align="left" valign="top">A3</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">8</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">8</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">11</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">10</td></tr><tr align="left" valign="top"><td align="left" valign="top">table-fragment</td><td align="left" valign="top">A3</td><td align="left" valign="top">A3</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">8</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">8</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">11</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">10</td></tr><tr align="left" valign="top"><td align="left" valign="top">page</td><td align="left" valign="top">A3</td><td align="left" valign="top">A3</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">8</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">8</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">11</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">10</td></tr></tbody></table><p>The following table shows the
behaviour for retrieve-table-marker 4 depending on the values for
the properties:</p><table border="1" width="90%"><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top"><a href="#retrieve-boundary-within-table" class="property">retrieve-boundary-within-table</a></th><th align="left" valign="top">retrieve scope area
set</th><th align="left" valign="top">primary retrieve scope
area</th><th align="left" valign="top"><a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a></th><th align="left" valign="top">selected
fo-marker</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">table</td><td align="left" valign="top">A1, A2, A3, A4</td><td align="left" valign="top">A4</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">12</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">11</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">14</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">14</td></tr><tr align="left" valign="top"><td align="left" valign="top">table-fragment</td><td align="left" valign="top">A4</td><td align="left" valign="top">A4</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">12</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">11</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">14</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">14</td></tr><tr align="left" valign="top"><td align="left" valign="top">page</td><td align="left" valign="top">A3, A4</td><td align="left" valign="top">A4</td><td align="left" valign="top">first-starting</td><td align="left" valign="top">12</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">first-including-carryover</td><td align="left" valign="top">11</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-starting</td><td align="left" valign="top">14</td></tr><tr align="left" valign="top"><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top"> </td><td align="left" valign="top">last-ending</td><td align="left" valign="top">14</td></tr></tbody></table></div></div></div><div class="div3">
<h4><a name="fo_change-bar-begin" id="fo_change-bar-begin"/>6.13.2 fo:change-bar-begin</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> is used to indicate the beginning of a
"change region" that is ended by the subsequent <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>
whose <span class="trait">change-bar-class</span> property value matches that of the
<span class="trait">change-bar-class</span> property on this <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>
and is at the same nesting level (relative to other
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>/<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> pairs with the same
<span class="trait">change-bar-class</span> property value) of this <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>The change region is decorated with a change bar down either
the start or end edge of the column.
That is, a change bar is generated along side of the areas generated within the
region-body's non-conditional reference area by the formatting objects "under the change
bar influence".
All formatting objects after (in document order) this
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> and up to the matching <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> (or end of
document) are considered under the change bar influence of this
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>The <a href="#position" class="property">position</a>, thickness, style, and color of the generated change bar
is determined by the respective properties (see each property definition).</p><p><em>Areas:</em></p><p>The <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> formatting object does not in itself generate
any areas, but it causes areas to be generated by the ancestor
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> object, near the start or end edge of a
normal-flow-reference-area or region-reference-area.</p><p><em>Constraints:</em></p><p>An <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>/<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> pair is considered
a matching pair if (1) the value of their <span class="trait">change-bar-class</span> properties
are identical and (2) between (in document order) the
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> and <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> formatting objects, the only
occurrences of <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> formatting objects of that class
(if any) are matching pairs.</p><p>Following this <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> in document order, there must
be an <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> with which it forms a matching pair. If there
is no such <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>, it is an error, and the implementation
should recover by assuming the equivalent of a matching <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>
at the end of the document.</p><p>The generated change bar areas run continuously down the start or end edge
of the column within the region body.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#change-bar-class"><b>7.31.1 change-bar-class</b></a><br/><a href="#change-bar-color"><b>7.31.2 change-bar-color</b></a><br/><a href="#change-bar-offset"><b>7.31.3 change-bar-offset</b></a><br/><a href="#change-bar-placement"><b>7.31.4 change-bar-placement</b></a><br/><a href="#change-bar-style"><b>7.31.5 change-bar-style</b></a><br/><a href="#change-bar-width"><b>7.31.6 change-bar-width</b></a><br/><a href="#z-index"><b>7.31.18 z-index</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_change-bar-end" id="fo_change-bar-end"/>6.13.3 fo:change-bar-end</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> is used to indicate the end of a
"change region" that is started by its matching <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.
See <a href="#fo_change-bar-begin"><b>6.13.2 fo:change-bar-begin</b></a> for details.</p><p><em>Areas:</em></p><p>The <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> formatting object does not in itself generate
any areas, but it causes areas to be generated by the ancestor
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> object, near the start or end edge of a
normal-flow-reference-area or region-reference-area.</p><p><em>Constraints:</em></p><p>Preceding this <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> in document order, there must
be an <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> with which it forms a matching pair. If there
is no such <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, it is an error, and the implementation
should recover by ignoring this <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#common-accessibility-properties"><b>7.5 Common Accessibility Properties</b></a><br/><a href="#common-aural-properties"><b>7.7 Common Aural Properties</b></a><br/><a href="#change-bar-class"><b>7.31.1 change-bar-class</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_wrapper" id="fo_wrapper"/>6.13.4 fo:wrapper</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_wrapper" class="el">fo:wrapper</a> formatting object is used to
specify
inherited properties for a group of formatting objects.</p><p><em>Areas:</em></p><p>The <a href="#fo_wrapper" class="el">fo:wrapper</a> formatting object returns the sequence of areas created
by concatenating the sequences of areas returned by each of the children
of the <a href="#fo_wrapper" class="el">fo:wrapper</a>. If this sequence contains at least one normal area,
or if the "<a href="#id" class="property">id</a>" and "<a href="#index-key" class="property">index-key</a>" properties are not
specified on the <a href="#fo_wrapper" class="el">fo:wrapper</a>, then the <a href="#fo_wrapper" class="el">fo:wrapper</a> does not itself
generate any areas.</p><p>If the sequence of areas returned to the <a href="#fo_wrapper" class="el">fo:wrapper</a> contains no normal
areas, and the "<a href="#id" class="property">id</a>" or "<a href="#index-key" class="property">index-key</a>" property is specified on
the <a href="#fo_wrapper" class="el">fo:wrapper</a>, then it additionally generates and returns one normal
area with <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> and <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
set to zero. This area is an inline-area except where this would violate
the constraint (on some ancestor area) that an area's children are all
block-areas or all inline-areas, but not a mixture. In that case the
<a href="#fo_wrapper" class="el">fo:wrapper</a> must instead generate a block-area.</p><p><em>Trait Derivation:</em></p><p>Except for "<a href="#id" class="property">id</a>", "<a href="#index-class" class="property">index-class</a>", and "<a href="#index-key" class="property">index-key</a>",
the <a href="#fo_wrapper" class="el">fo:wrapper</a> has no properties that are directly used
by it. However, it does serve as a carrier to hold inheritable properties
that are utilized by its children.</p><p><em>Constraints:</em></p><p>The order of concatenation of the sequences of areas returned by
the children of the <a href="#fo_wrapper" class="el">fo:wrapper</a>
is the same order as the children are ordered under the <a href="#fo_wrapper" class="el">fo:wrapper</a>.
</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>An <a href="#fo_wrapper" class="el">fo:wrapper</a> is only permitted to have
children that would be permitted to be children of
the parent of the <a href="#fo_wrapper" class="el">fo:wrapper</a>, with two exceptions:</p><ul><li><p>An <a href="#fo_wrapper" class="el">fo:wrapper</a> may always have a sequence of zero or more
<a href="#fo_marker" class="el">fo:marker</a>s as its initial children.</p></li><li><p>An <a href="#fo_wrapper" class="el">fo:wrapper</a> that is a child of an <a href="#fo_multi-properties" class="el">fo:multi-properties</a> is
only permitted to have children that would be permitted
in place of the <a href="#fo_multi-properties" class="el">fo:multi-properties</a>.</p></li></ul><p>This restriction applies recursively.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example an <a href="#fo_wrapper" class="el">fo:wrapper</a> that is a child of another
<a href="#fo_wrapper" class="el">fo:wrapper</a> may only have children that would be permitted to be children of the parent
<a href="#fo_wrapper" class="el">fo:wrapper</a>.</p></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#id"><b>7.31.8 id</b></a><br/><a href="#index-class"><b>7.25.1 index-class</b></a><br/><a href="#index-key"><b>7.25.2 index-key</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_marker" id="fo_marker"/>6.13.5 fo:marker</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_marker" class="el">fo:marker</a> is used in conjunction with <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>
or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> to produce running headers or footers
and dynamic table headers or footers. Typical examples include:</p><ul><li><p>dictionary headers showing the first and last word defined on the page.</p></li><li><p>headers showing the page's chapter and section titles.</p></li><li><p>subtotals e.g. that give a subtotal of numbers in rows up to
the last row on the current page.</p></li><li><p>table-continued captions that show whether or not a table is
continued after the current page, or was a continuation from a previous
page.</p></li></ul><p>The <a href="#fo_marker" class="el">fo:marker</a> has to be an initial child
of its parent formatting object.</p><p><em>Areas:</em></p><p>The <a href="#fo_marker" class="el">fo:marker</a> does not directly produce any area. Its children may be
retrieved and formatted from within an <a href="#fo_static-content" class="el">fo:static-content</a> or table
header/footer, using an <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> or an
<a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> respectively, whose "<a href="#retrieve-class-name" class="property">retrieve-class-name</a>" property value is the
same as the "<a href="#marker-class-name" class="property">marker-class-name</a>" property value of this <a href="#fo_marker" class="el">fo:marker</a>.</p><p><em>Constraints:</em></p><p>An <a href="#fo_marker" class="el">fo:marker</a> is only permitted as the descendant of an <a href="#fo_flow" class="el">fo:flow</a>.</p><p>Note: Property values set on an <a href="#fo_marker" class="el">fo:marker</a>
or its ancestors will not be inherited by the children of the
<a href="#fo_marker" class="el">fo:marker</a> when they are retrieved by an <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>
or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p>It is an error if two or more <a href="#fo_marker" class="el">fo:marker</a>s that share the same parent
have the same "<a href="#marker-class-name" class="property">marker-class-name</a>" property value.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
(#PCDATA|<a href="#inline.fo.list">%inline;</a>|<a href="#block.fo.list">%block;</a>)*
</pre></div><p>An <a href="#fo_marker" class="el">fo:marker</a> may contain any formatting objects that are
permitted as a replacement of any <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>
that retrieves
the <a href="#fo_marker" class="el">fo:marker</a>'s children.
No <a href="#fo_marker" class="el">fo:marker</a> may have as a descendant any <a href="#fo_marker" class="el">fo:marker</a>, <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>,
or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#marker-class-name"><b>7.26.1 marker-class-name</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_retrieve-marker" id="fo_retrieve-marker"/>6.13.6 fo:retrieve-marker</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> is used in
conjunction with <a href="#fo_marker" class="el">fo:marker</a> to produce running headers or footers.
Typical examples include:</p><ul><li><p>dictionary headers showing the first and last word defined on the page.</p></li><li><p>headers showing the page's chapter and section titles.</p></li></ul><p><em>Areas:</em></p><p>The <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> does not directly generate any area. It is
(conceptually) replaced by the children of the <a href="#fo_marker" class="el">fo:marker</a> that it retrieves.</p><p><em>Trait Derivation:</em></p><p>The properties and traits specified on the ancestors of the
<a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> are taken into account when formatting the
children of the retrieved <a href="#fo_marker" class="el">fo:marker</a> as if the children had the
same ancestors as the <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>.</p><p><em>Constraints:</em></p><p>An <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> is only permitted as the descendant of an
<a href="#fo_static-content" class="el">fo:static-content</a>.</p><p>The <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> specifies that the children of a selected <a href="#fo_marker" class="el">fo:marker</a>
shall be formatted as though they replaced the <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> in the
formatting tree.</p><p>The properties of the <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> impose a hierarchy of preference
on the areas of the area tree. Each <a href="#fo_marker" class="el">fo:marker</a> is conceptually attached to
each normal area returned by the <a href="#fo_marker" class="el">fo:marker</a>'s parent formatting object.
Additionally, an <a href="#fo_marker" class="el">fo:marker</a> is conceptually attached to each non-normal
area that is directly generated by the <a href="#fo_marker" class="el">fo:marker</a>'s parent formatting object.
Conversely, areas generated by any descendant of an <a href="#fo_flow" class="el">fo:flow</a> may have zero or
more <a href="#fo_marker" class="el">fo:marker</a>'s conceptually attached. The <a href="#fo_marker" class="el">fo:marker</a> whose children are
retrieved is the one that is (conceptually) attached to the area that is
at the top of this hierarchy.</p><p>Every area in the hierarchy is considered preferential to, or "better" than,
any area below it in the hierarchy. When comparing two areas to determine which
one is better, the terms "first" and "last" refer to the pre-order traversal
order of the area tree.</p><p>The term "containing page" is used here to mean the page that contains
the first area generated or returned by the children of the retrieved
<a href="#fo_marker" class="el">fo:marker</a>.</p><p>An area that has an attached <a href="#fo_marker" class="el">fo:marker</a> whose "<a href="#marker-class-name" class="property">marker-class-name</a>"
property value is the same as the "<a href="#retrieve-class-name" class="property">retrieve-class-name</a>" property value
of the <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> is defined to be a qualifying area. Only
qualifying areas have positions in the hierarchy.</p><p>A qualifying area within a page is better than any qualifying area
within a preceding page, except that areas do not have a <a href="#position" class="property">position</a> in the
hierarchy if they are within pages that follow the containing page. If the
"<a href="#retrieve-boundary" class="property">retrieve-boundary</a>" property has a value of "page-sequence", then an area
does not have a <a href="#position" class="property">position</a> in the hierarchy if it is on a page from
a page-sequence preceding the page-sequence of the containing page.
If the "<a href="#retrieve-boundary" class="property">retrieve-boundary</a>" property has a value of "page", then an area
does not have a <a href="#position" class="property">position</a> in the hierarchy if it is not on the containing page.</p><p>If the value of the "<a href="#retrieve-position" class="property">retrieve-position</a>" property is
"first-starting-within-page", then the first qualifying area in the
containing page whose "is-first" trait has a value of "true" is better
than any other area. If there is no such area, then the first qualifying
area in the containing page is better than any other area.</p><p>If the value of the "<a href="#retrieve-position" class="property">retrieve-position</a>" property is "first-including-carryover",
then the first qualifying area in the containing page is better than any other
area.</p><p>If the value of the "<a href="#retrieve-position" class="property">retrieve-position</a>" property is
"last-starting-within-page", then the last qualifying area in the
containing page whose "is-first" trait has a value of "true" is better
than any other area. If there is no such area, then the last qualifying
area in the containing page is better than any other area.</p><p>If the value of the "<a href="#retrieve-position" class="property">retrieve-position</a>" property is
"last-ending-within-page", then the last qualifying area in the
containing page whose "is-last" trait has a value of "true" is better
than any other area. If there is no such area, then the last qualifying
area in the containing page is better than any other area.</p><p>If the hierarchy of areas is empty, no formatting objects are retrieved.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#retrieve-class-name"><b>7.26.3 retrieve-class-name</b></a><br/><a href="#retrieve-position"><b>7.26.5 retrieve-position</b></a><br/><a href="#retrieve-boundary"><b>7.26.4 retrieve-boundary</b></a></p></blockquote></div><div class="div3">
<h4><a name="fo_retrieve-table-marker" id="fo_retrieve-table-marker"/>6.13.7 fo:retrieve-table-marker</h4><p><em>Common Usage:</em></p><p>The <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> is used in conjunction with <a href="#fo_marker" class="el">fo:marker</a> to
produce table-headers and table-footers whose content can change over
different pages, different regions or different columns.</p><p>Typical examples include:</p><ul><li><p>dictionary headers showing the first and last word defined in the part of the table on the current page.</p></li><li><p>subtotals e.g. that give a subtotal of numbers in rows up to the last row on the current page.
For pages with multiple columns and/or multiple regions,
the subtotal is to be displayed at the <a href="#bottom" class="property">bottom</a> of every table "fragment"
in every region or column.</p></li><li><p>table-continued captions that show if a table is continued after the current page, or was a continuation from a previous page.</p></li></ul><p><em>Areas:</em></p><p>The <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> does not directly generate any area. It is (conceptually) replaced by the children of the <a href="#fo_marker" class="el">fo:marker</a> that it retrieves.</p><p><em>Trait Derivation:</em></p><p>The properties and traits specified on the ancestors of the <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> are taken into account when formatting the children of the retrieved <a href="#fo_marker" class="el">fo:marker</a> as if the children had the same ancestors as the <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p><em>Constraints:</em></p><p>An <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> is only permitted as the descendant of an
<a href="#fo_table-header" class="el">fo:table-header</a> or <a href="#fo_table-footer" class="el">fo:table-footer</a> or as a child of <a href="#fo_table" class="el">fo:table</a> in a <a href="#position" class="property">position</a>
where <a href="#fo_table-header" class="el">fo:table-header</a> or <a href="#fo_table-footer" class="el">fo:table-footer</a> is permitted.</p><p>The <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> specifies that the children of a
selected <a href="#fo_marker" class="el">fo:marker</a> shall be formatted as though they replaced the
<a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> in the formatting tree.</p><p>The <a href="#fo_table" class="el">fo:table</a> that is a parent of both the <a href="#fo_table-body" class="el">fo:table-body</a>
(that has the <a href="#fo_marker" class="el">fo:marker</a>s as its descendants) and the <a href="#fo_table-header" class="el">fo:table-header</a> or
<a href="#fo_table-footer" class="el">fo:table-footer</a> that has the <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> as its descendant
generates one or more normal block-areas.
These are are said to be the <b>retrieve scope area set</b>.
The retrieve scope area set is limited by the constraints
specified by <a href="#retrieve-boundary-within-table" class="property">retrieve-boundary-within-table</a> property.
An area in the retrieve scope area set is called a
<b>retrieve scope area</b>.
There is exactly one retrieve scope area that contains the areas
generated or returned by the children on the retrieved <a href="#fo_marker" class="el">fo:marker</a>,
and that is called the <b>primary retrieve scope area</b>.</p><p>The properties of the <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a> impose a hierarchy
of preference on the descendants of the retrieve scope areas.
Each <a href="#fo_marker" class="el">fo:marker</a> is conceptually attached to each normal area returned by the <a href="#fo_marker" class="el">fo:marker</a>'s parent formatting object. Additionally, an <a href="#fo_marker" class="el">fo:marker</a> is conceptually attached to each non-normal area that is directly generated by the <a href="#fo_marker" class="el">fo:marker</a>'s parent formatting object. Conversely, areas generated by any descendant of an <a href="#fo_flow" class="el">fo:flow</a> may have zero or more <a href="#fo_marker" class="el">fo:marker</a>'s conceptually attached. The <a href="#fo_marker" class="el">fo:marker</a> whose
children are retrieved is the one that is conceptually attached to the area that is at the top of this hierarchy.</p><p>Every area in the hierarchy is considered preferential to, or "better" than, any area below it in the hierarchy. When comparing two areas to determine which one is better, the terms "first" and "last" refer to the pre-order traversal order of the area tree.</p><p>An area that has an attached <a href="#fo_marker" class="el">fo:marker</a> whose "<a href="#marker-class-name" class="property">marker-class-name</a>"
property value is the same as the "<a href="#retrieve-class-name" class="property">retrieve-class-name</a>" property value
of the <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>, is defined to be a qualifying area
if it is a descendant of a retrieve scope area.
Only qualifying areas have positions in the hierarchy.</p><p>If the value of the "<a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a>" property is
"first-starting", then the first qualifying area
in the primary retrieve scope area whose "is-first" trait has
a value of "true" is better than any other area.
If there is no such area, then the first qualifying area
in the primary retrieve scope area is better than any other area.
If there is no such area, then the last qualifying area that is
a descendant of a retrieve scope area is better than any other area.</p><p>If the value of the "<a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a>" property is
"first-including-carryover", then the first qualifying area
in the primary retrieve scope area is better than any other area.
If there is no such area, then the last qualifying area that is
a descendant of a retrieve scope area is better than any other area.</p><p>If the value of the "<a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a>" property is
"last-starting ", then the last qualifying area that is
a descendant of a retrieve scope area whose "is-first" trait has
a value of "true" is better than any other area.
If there is no such area, then the last qualifying area
that is a descendant of a retrieve scope area is better than
any other area.</p><p>If the value of the "<a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a>" property is
"last-ending ", then the last qualifying area that is a descendant of
a retrieve scope area whose "is-last" trait has a value of "true"
is better than any other area.
If there is no such area, then the last qualifying area
that is a descendant of a retrieve scope area is better than
any other area.</p><p>If the hierarchy of areas is empty, no formatting objects are retrieved.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>
EMPTY
</pre></div><p><em>The following properties apply to this formatting object:</em></p><blockquote><p><a href="#retrieve-class-name"><b>7.26.3 retrieve-class-name</b></a><br/><a href="#retrieve-position-within-table"><b>7.26.6 retrieve-position-within-table</b></a><br/><a href="#retrieve-boundary-within-table"><b>7.26.2 retrieve-boundary-within-table</b></a></p></blockquote></div></div></div><div class="div1">
<h2><a name="pr-section" id="pr-section"/>7 Formatting Properties</h2><div class="div2">
<h3><a name="d2e25211" id="d2e25211"/>7.1 Description of Property Groups</h3><p>The following sections describe the properties of the XSL
formatting objects. </p><p>A number of properties are copied from the CSS2 specification.
In addition, the CSS2 errata all apply. See <a href="#CSS2">[CSS2]</a>.</p><p>Properties copied from CSS2 are placed
in a box with wide black borders,
and properties derived from CSS2 properties are
placed in a box with thin black borders.</p><ul><li><p>The first nine sets of property definitions have been
arranged into groups based on similar functionality
and the fact that they apply to many formatting objects.
In the formatting object descriptions the group name is
referred to rather than referring to the individual properties.</p><ul><li><p>Common Accessibility Properties</p><p>This set of properties are used to support accessibility.</p></li><li><p>Common Absolute Position Properties</p><p>This set of properties controls the <a href="#position" class="property">position</a> and <a href="#size" class="property">size</a> of formatted
areas with absolute positioning.</p></li><li><p>Common Aural Properties</p><p>This group of properties controls the aural rendition of the
content of a formatting object. They appear on all formatting objects
that contain content and other formatting objects that group other
formatting objects and where that grouping is necessary for
the understanding of the aural rendition. An example of the latter
is <a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>.</p></li><li><p>Common Border, Padding, and Background Properties</p><p>This set of properties controls the backgrounds and borders on
the block-areas and inline-areas.</p></li><li><p>Common Font Properties</p><p>This set of properties controls the <a href="#font" class="property">font</a> selection on all formatting
objects that can contain text.</p></li><li><p>Common Hyphenation Properties</p><p>Control of hyphenation for line-breaking, including
<a href="#language" class="property">language</a>, <a href="#script" class="property">script</a>, and country. </p></li><li><p>Common Margin Properties-Block</p><p>These properties set the spacing and indents surrounding block-level
formatting objects.</p></li><li><p>Common Margin Properties-Inline</p><p>These properties set the spacing surrounding inline-level
formatting objects.</p></li><li><p>Common Relative Position Properties</p><p>This set of properties controls the <a href="#position" class="property">position</a> of formatted
areas with relative positioning.</p></li></ul></li><li><p>The remaining properties are used on a number of
formatting objects. These are arranged into clusters of similar
functionality to
organize the property descriptions. In the formatting object description
the individual properties are referenced.</p><ul><li><p>Area Alignment Properties</p><p>Properties that control the alignment of inline-areas
with respect to each other, particularly in relation to
the mixing of different baselines for different scripts.
In addition, there are two properties: "<a href="#display-align" class="property">display-align</a>" and
"<a href="#relative-align" class="property">relative-align</a>" that control the placement of block-areas.
</p></li><li><p>Area Dimension Properties</p><p>Properties that control the dimensions of both
block-areas and inline-areas.
</p></li><li><p>Block and Line-related Properties</p><p>Properties that govern the construction of line-areas and
the placement of these line-areas within containing
block-areas.
</p></li><li><p>Character Properties</p><p>Properties that govern the presentation of text,
including word spacing, letter spacing, and
word space treatment and suppression.</p></li><li><p>Color-related Properties</p><p>Properties that govern color and color-model
selection.</p></li><li><p>Float-related properties</p><p>Properties governing the placement of both
side-floats (start- and end-floats) and before-floats
("top" floats in "lr-tb" <a href="#writing-mode" class="property">writing-mode</a>).</p></li><li><p>Keeps and Breaks Properties</p><p>Properties that control keeps and breaks across pages,
columns, and lines, including widow and orphan control and
keeping content together.</p></li><li><p>Layout-related Properties</p><p>These properties control what is "top"
("<a href="#reference-orientation" class="property">reference-orientation</a>") as well as clipping, <a href="#overflow" class="property">overflow</a>, and
column-spanning conditions.
</p></li><li><p>Leader and Rule Properties</p><p>Properties governing the construction of leaders and
horizontal rules.</p></li><li><p>Properties for Dynamic Effects</p><p>Properties governing the presentation and actions associated
with links and other dynamic effects.</p></li><li><p>Properties for Indexing</p><p>Properties governing the creation and presentation of a
"back of the book" index.</p></li><li><p>Properties for Markers</p><p>Properties governing the creation and retrieval of
markers. Markers are used typically for "dictionary"
headers and footers.</p></li><li><p>Properties for Number to String Conversions</p><p>Properties used in the construction of page-numbers and
other formatter-based numbering.</p></li><li><p>Pagination and Layout Properties</p><p>These properties govern the sequencing, layout, and instantiation
of pages, including: the page <a href="#size" class="property">size</a> and orientation, sizes of regions
on the page-master, the identification and selection of page-masters,
division of the body region into columns, and the assignment of
content flows to layout regions.</p></li><li><p>Table Properties</p><p>Properties governing the layout and presentation
of tables.</p></li><li><p>Writing-mode-related Properties</p><p>Properties related to various aspects of
"directionality" and <a href="#writing-mode" class="property">writing-mode</a> influencing
block-progression-direction and
inline-progression-direction. </p></li><li><p>Miscellaneous Properties</p><p>These properties did not reasonably fit into any of the other
categories.</p></li></ul></li><li><p>Shorthand Properties</p><p>Shorthand properties that are part of the complete
conformance set. Shorthands expand to the individual
properties that may be used in place of shorthands.</p></li></ul></div><div class="div2">
<h3><a name="cssbox" id="cssbox"/>7.2 XSL Areas and the CSS Box Model</h3><p>This section describes how to interpret property descriptions which
incorporate the CSS2 definition of the same property. In CSS2, "boxes"
are generated by "elements" in the same way that XSL areas are generated
by formatting objects. Any references in the CSS2 definition to "boxes"
are to be taken as referring to "areas" in the XSL area model, and where
"element" appears in a CSS2 definition
it should be taken to refer to a
"formatting object".</p><p>The CSS term, <b>positioned element</b>
will in XSL be taken as referring to an XSL FO that has one of the
following: an "<a href="#absolute-position" class="property">absolute-position</a>" property with a computed value other
than "auto" and/or a "<a href="#relative-position" class="property">relative-position</a>" property with a computed value
other than "static".</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Since in XSL, the "<a href="#position" class="property">position</a>" property is a shorthand for the
"<a href="#absolute-position" class="property">absolute-position</a>" and "<a href="#relative-position" class="property">relative-position</a>"
properties, this is equivalent to the CSS definition.</p></div><p>The <a href="#position" class="property">position</a> and <a href="#size" class="property">size</a> of a box are normally taken to refer to the
<a href="#position" class="property">position</a> and <a href="#size" class="property">size</a> of the area's content-rectangle. Additional
correspondences between the CSS2 Box Model and the XSL Area Model are
contained in the following table.</p><table><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Box</th><th align="left" valign="top">Area</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><a href="#top" class="property">top</a> content edge</td><td align="left" valign="top">top edge of the content-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#padding" class="property">padding</a> edge</td><td align="left" valign="top">padding-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top">content area</td><td align="left" valign="top">interior of the content-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#padding" class="property">padding</a> area</td><td align="left" valign="top">region between the content-rectangle and the padding-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#border" class="property">border</a> area</td><td align="left" valign="top">region between the padding-rectangle and the border-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#background" class="property">background</a></td><td align="left" valign="top"><a href="#background" class="property">background</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">containing block</td><td align="left" valign="top">closest ancestor block-area
that is not a line-area
(see below for additional information when the "containing block"
is used as a reference for percentage calculations)
</td></tr><tr align="left" valign="top"><td align="left" valign="top">caption</td><td align="left" valign="top">area generated by <a href="#fo_table-caption" class="el">fo:table-caption</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">inline box</td><td align="left" valign="top">inline-area</td></tr><tr align="left" valign="top"><td align="left" valign="top">line box</td><td align="left" valign="top">line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top">block box</td><td align="left" valign="top">block-area which is not a line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top">page box</td><td align="left" valign="top">page-area</td></tr></tbody></table><p>Box margins map to area traits in accordance with the description of how
area traits are computed from property values
in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.</p></div><div class="div2">
<h3><a name="percrule" id="percrule"/>7.3 Reference Rectangle for Percentage Computations</h3><p>Allowed conversions for percentages,
specified on the property definition, is typically in terms of
the content-rectangle of some area.
That area is determined as follows:</p><ol class="enumar"><li><p>For properties defined in CSS2 referring to the
"containing block" the content-rectangle of the closest ancestor
block-area that is not a line-area is used.
</p></li><li><p>For properties defined by XSL, the property definition
specifies which area's content-rectangle is used.</p></li><li><p>Exceptions to the rules above
for determining which area is used are:</p><ol class="enumla"><li><p>When used on <a href="#fo_root" class="el">fo:root</a>, <a href="#fo_page-sequence" class="el">fo:page-sequence</a>, and <a href="#fo_title" class="el">fo:title</a> and
any descendant of <a href="#fo_title" class="el">fo:title</a> where there is no ancestor block-area
the rectangle used has the dimensions corresponding to the
"auto" value of the "<a href="#page-height" class="property">page-height</a>" and "<a href="#page-width" class="property">page-width</a>" properties.
The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> and <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> is then
determined based on the computed value of the <a href="#reference-orientation" class="property">reference-orientation</a>
and <a href="#writing-mode" class="property">writing-mode</a> on the formatting object for which the percentage
is computed, or on <a href="#fo_title" class="el">fo:title</a> in the case of a descentdant of <a href="#fo_title" class="el">fo:title</a>.
</p></li><li><p>When used on <a href="#fo_static-content" class="el">fo:static-content</a> and <a href="#fo_flow" class="el">fo:flow</a>
the content rectangle used is based on the region on the first page
into which the content is directed. For region-body it is
the normal-flow-reference-area and
for the other regions it is the region-reference-area.</p></li><li><p>When used on <a href="#fo_footnote-body" class="el">fo:footnote-body</a>, and <a href="#fo_float" class="el">fo:float</a> that generates an
area with area-class "xsl-before-float"
the rectangle used is the content rectangle of
the footnote-reference-area and the
before-float-reference-area respectively.</p></li><li><p>When used on <a href="#fo_float" class="el">fo:float</a> that generates an
area with area-class "xsl-side-float"
the content rectangle used is the closest ancestor block-area that is not
a line-area of the area of area-type "xsl-anchor" that was generated
by the <a href="#fo_float" class="el">fo:float</a>.</p></li><li><p>When the <a href="#absolute-position" class="property">absolute-position</a> is "fixed", the containing block is
defined by the nearest ancestor viewport area.
If there is no ancestor viewport area,
the containing block is defined by the user agent.</p></li><li><p>When the <a href="#absolute-position" class="property">absolute-position</a> is "absolute",
the containing block is established by the nearest
ancestor area <var>A</var> which has an area-class different from
xsl-normal or a <a href="#relative-position" class="property">relative-position</a> of "relative".</p><p>In the case where <var>A</var> is a block-area, the rectangle used
is the padding-rectangle of <var>A</var>.</p><p>In the case where <var>A</var> is an inline-area, generated by some
formatting object <var>F</var>, the rectangle used is a virtual rectangle
whose before-edge and start-edge are the before-edge and start-edge of the
first area generated by <var>F</var>, and whose after-edge and end-edge are
the after-edge and end-edge of the last area generated by <var>F</var>.
This "rectangle" may have negative extent.</p></li></ol></li><li><p>If the formatting object generating the identified area
generates a sequence of such areas the first area is used
for the conversion.</p></li></ol></div><div class="div2">
<h3><a name="cssdatat" id="cssdatat"/>7.4 Additional CSS Datatypes</h3><p>The following "datatypes" are used in the definitions of
some CSS2 properties. These are not considered datatypes in XSL,
as they are merely notational shorthand and expand as follows:</p><table><thead align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Datatype</th><th align="left" valign="top">Expansion</th></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">&lt;padding-width&gt; </td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; </td><td align="left" valign="top">thin | medium | thick | &lt;length&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; </td><td align="left" valign="top">none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset</td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;generic-voice&gt; </td><td align="left" valign="top">'male' | 'female' | 'child'</td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;specific-voice&gt; </td><td align="left" valign="top">values are specific instances (e.g., comedian, trinoids, carlos, lani)</td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;margin-width&gt; </td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto</td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#background-color" class="property">background-color</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#background-color" class="property">background-color</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#background-image" class="property">background-image</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#background-image" class="property">background-image</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#background-repeat" class="property">background-repeat</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#background-repeat" class="property">background-repeat</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#background-attachment" class="property">background-attachment</a>&gt;</td><td align="left" valign="top">shorthand component of <a href="#background-attachment" class="property">background-attachment</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#background-position" class="property">background-position</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#background-position" class="property">background-position</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#cue-before" class="property">cue-before</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#cue-before" class="property">cue-before</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#cue-after" class="property">cue-after</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#cue-after" class="property">cue-after</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;<a href="#line-height" class="property">line-height</a>&gt; </td><td align="left" valign="top">shorthand component of <a href="#line-height" class="property">line-height</a></td></tr><tr align="left" valign="top"><td align="left" valign="top">&lt;language-country&gt; </td><td align="left" valign="top">&lt;string&gt;: a <a href="#language" class="property">language</a> and optionally a <a href="#country" class="property">country</a> specifier in conformance with <a href="#RFC3066">[RFC3066]</a></td></tr></tbody></table></div><div class="div2">
<h3><a name="common-accessibility-properties" id="common-accessibility-properties"/>7.5 Common Accessibility Properties</h3><div class="div3">
<h4><a name="source-document" id="source-document"/>7.5.1 source-document</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;uri-specification&gt; [&lt;uri-specification&gt;]* | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>The source document is transient, unknown, or unspecified.</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>A URI-specification giving a reference to the (sub)resource
used as input to the stylesheet.</p></dd></dl><p>This property provides a pointer back
to the original XML document(s) used
to create this formatting object tree, in accordance with the Dublin Core
definition of "Source" ("A Reference to a resource from which the present
resource is derived."
See: <a href="http://purl.org/DC/documents/rec-dces-19990702.htm">http://purl.org/DC/documents/rec-dces-19990702.htm</a>.)
The value is not validated by and
has no inherent standardized semantics for any XSL processor.
</p><p>W3C Accessibility guidelines,
<a href="http://www.w3.org/TR/WCAG20/">http://www.w3.org/TR/WCAG20/</a>,
<a href="http://www.w3.org/TR/ATAG10/">http://www.w3.org/TR/ATAG10/</a>, and
<a href="http://www.w3.org/TR/UAAG10/">http://www.w3.org/TR/UAAG10/</a>,
strongly encourage the use of this property
either on the <a href="#fo_root" class="el">fo:root</a> or on the first formatting object generated from a
given source document.</p><p>The URI-specification is useful for alternate renderers (aural readers, etc.)
whenever the structure of the formatting object tree is inappropriate for
that renderer.</p></div><div class="div3">
<h4><a name="role" id="role"/>7.5.2 role</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt; | &lt;uri-specification&gt; | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>Indicates that no semantic tag is cited by this
formatting object.</p></dd><dt class="label">&lt;string&gt;</dt><dd><p>The value is a string representing a semantic identifier that
may be used in rendering this formatting object.
</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>A URI-specification, indicating an
RDF resource <a href="#RDF">[RDF]</a>; that is, an XML object that
is syntactically valid with respect to the RDF grammar.</p></dd></dl><p>This property provides a hint for alternate renderers
(aural readers, etc.) as to the <a href="#role" class="property">role</a> of the XML element or elements
that were used to construct this formatting object, if one could be
identified during XSLT tree construction.
This information can be used to prepare alternate renderings when
the normal rendering of a formatting object is not appropriate
or satisfactory; for example, the <a href="#role" class="property">role</a> information can be used to
provide better aural renderings of visually formatted material.</p><p>To aid alternate renderers, the &lt;string&gt; value should be
the qualified name (QName <a href="#XMLNAMES">[XML Names]</a> or <a href="#XMLNAMES11">[XML Names 1.1]</a>) of the element from which
this formatting object is constructed. If a QName does not provide
sufficient context, the &lt;uri-specification&gt; can be used to identify
an RDF resource that describes the <a href="#role" class="property">role</a> in more detail.
This RDF resource may be embedded in the result tree and referenced
with a relative URI or fragment identifier,
or the RDF resource may be external to the result tree.
This specification does not define any standard QName
or RDF vocabularies; these are frequently
application area dependent. Other groups, for example the Dublin Core,
have defined such vocabularies.</p><p>This property is not inherited, but all subsidiary nodes of
this formatting object that do not bear a <a href="#role" class="property">role</a> property should utilize
the same alternate presentation properties. (It is not
inherited because knowledge of the start and end of the formatting object subtree
generated by the element may be needed by the renderer.)</p></div></div><div class="div2">
<h3><a name="common-absolute-position-properties" id="common-absolute-position-properties"/>7.6 Common Absolute Position Properties</h3><div class="div3">
<h4><a name="absolute-position" id="absolute-position"/>7.6.1 absolute-position</h4><p>A Property Derived from a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | absolute | fixed | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>There is no absolute-positioning constraint. Positioning is
in accordance with the <a href="#relative-position" class="property">relative-position</a> property.</p></dd><dt class="label">absolute</dt><dd><p>The area's <a href="#position" class="property">position</a> (and possibly <a href="#size" class="property">size</a>) is specified with
the "<a href="#left" class="property">left</a>", "<a href="#right" class="property">right</a>", "<a href="#top" class="property">top</a>", and "<a href="#bottom" class="property">bottom</a>" properties. These properties
specify offsets with respect to the area's
nearest ancestor reference area.
Absolutely
positioned areas are taken out of the normal flow. This means they
have no impact on the layout of later siblings. Also, though absolutely
positioned areas have margins, they do not collapse with any other margins.</p></dd><dt class="label">fixed</dt><dd><p>The area's <a href="#position" class="property">position</a> is calculated according to the "absolute"
model, but in addition, the area is fixed with respect to some reference.
In the case of continuous media, the area is fixed with respect to
the viewport (and doesn't move when scrolled). In the case of paged
media, the area is fixed with respect to the page, even if that page is
seen through a viewport (in the case of a print-preview, for example).
Authors may wish to specify "fixed" in a media-dependent way. For
instance, an author may want an area to remain at the top of the viewport
on the screen, but not at the top of each printed page.</p></dd></dl><p>The following additional restrictions apply for paged
presentations:</p><ul><li><p>Only objects with <a href="#absolute-position" class="property">absolute-position</a>="auto"
may have page/column breaks. </p><p>For other values any
keep and break properties are ignored.</p></li><li><p>The area generated is a descendant of the page-area where the
first area from the object would have been placed had the object had
<a href="#absolute-position" class="property">absolute-position</a>="auto" specified.</p></li></ul><p>If the value is "absolute" or "fixed", any normal areas generated
by the formatting object have their area-class changed to
<code>xsl-absolute</code> or
<code>xsl-fixed</code>, respectively.</p></div><div class="div3">
<h4><a name="bottom" id="bottom"/>7.6.2 bottom</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-bottom">
"bottom" property
</a></p><p>This property specifies how far a box's <a href="#bottom" class="property">bottom</a> <a href="#margin" class="property">margin</a> edge is offset
above the <a href="#bottom" class="property">bottom</a> edge of the box's containing block.</p><p><em>XSL modifications to the CSS definition:</em></p><p>See definition of property <a href="#left" class="property">left</a> (<a href="#left"><b>7.6.3 left</b></a>).</p></div><div class="div3">
<h4><a name="left" id="left"/>7.6.3 left</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-left">
"left" property
</a></p><p>This property specifies how far a box's <a href="#left" class="property">left</a> <a href="#margin" class="property">margin</a> edge is offset
to the <a href="#right" class="property">right</a> of the <a href="#left" class="property">left</a> edge of the box's containing block.</p><p>The values of the four (<a href="#position" class="property">position</a> offset) properties have the
following meanings:</p><dl><dt class="label">auto</dt><dd><p>The effect of this value depends on which of related properties
have the value "auto" as well. See the sections on the <a href="#width" class="property">width</a> and
<a href="#height" class="property">height</a> of absolutely positioned, non-replaced elements for details.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>The offset is a fixed distance from the reference edge.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The offset is a percentage of the containing block's <a href="#width" class="property">width</a>
(for "<a href="#left" class="property">left</a>" or "<a href="#right" class="property">right</a>") or "<a href="#height" class="property">height</a>" (for "<a href="#top" class="property">top</a>" and "<a href="#bottom" class="property">bottom</a>"). For
"<a href="#top" class="property">top</a>" and "<a href="#bottom" class="property">bottom</a>", if the "<a href="#height" class="property">height</a>" of the containing block is not
specified explicitly (i.e., it depends on content <a href="#height" class="property">height</a>), the percentage
value is interpreted like "auto".</p></dd></dl><p>For absolutely positioned boxes, the offsets are with respect
to the box's containing block. For relatively positioned boxes,
the offsets are with respect to the outer edges of the box itself
(i.e., the box is given a <a href="#position" class="property">position</a> in the normal flow, then offset
from that <a href="#position" class="property">position</a> according to these properties).</p><p><em>XSL modifications to the CSS definition:</em></p><p>These properties set the <a href="#position" class="property">position</a> of the content-rectangle
of the associated area.</p><p>The <a href="#left" class="property">left</a>, <a href="#right" class="property">right</a>, <a href="#top" class="property">top</a>, and <a href="#bottom" class="property">bottom</a> are interpreted in the prevailing
coordinate system (established by the nearest ancestor reference area)
and not relative to the "containing block" as in CSS.</p><p>If both "<a href="#left" class="property">left</a>" and "<a href="#right" class="property">right</a>" have a value
other than "auto", then
if the "<a href="#width" class="property">width</a>" is "auto" the <a href="#width" class="property">width</a> of the content-rectangle is
overridden;
else the geometry is overconstrained and is resolved in accordance with
<a href="#overcons_geom"><b>5.3.4 Overconstrained Geometry</b></a>.
Similarly, if both "<a href="#top" class="property">top</a>" and "<a href="#bottom" class="property">bottom</a>" have a value
other than "auto", then
if the "<a href="#height" class="property">height</a>" is "auto" the <a href="#height" class="property">height</a> of the content-rectangle is
overridden;
else the geometry is overconstrained and is resolved in accordance with
<a href="#overcons_geom"><b>5.3.4 Overconstrained Geometry</b></a>.
</p></div><div class="div3">
<h4><a name="right" id="right"/>7.6.4 right</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-right">
"right" property
</a></p><p>This property specifies how far a box's <a href="#right" class="property">right</a> <a href="#margin" class="property">margin</a> edge is offset
to the <a href="#left" class="property">left</a> of the <a href="#right" class="property">right</a> edge of the box's containing block.</p><p><em>XSL modifications to the CSS definition:</em></p><p>See definition of property <a href="#left" class="property">left</a> (<a href="#left"><b>7.6.3 left</b></a>).</p></div><div class="div3">
<h4><a name="top" id="top"/>7.6.5 top</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x12</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-top">
"top" property
</a></p><p>This property specifies how far a box's top <a href="#margin" class="property">margin</a> edge is offset
below the top edge of the box's containing block.</p><p><em>XSL modifications to the CSS definition:</em></p><p>See definition of property <a href="#left" class="property">left</a> (<a href="#left"><b>7.6.3 left</b></a>).</p></div></div><div class="div2">
<h3><a name="common-aural-properties" id="common-aural-properties"/>7.7 Common Aural Properties</h3><div class="div3">
<h4><a name="azimuth" id="azimuth"/>7.7.1 azimuth</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;angle&gt; | [[ left-side | far-left | <a href="#left" class="property">left</a>
| center-left | center | center-right | <a href="#right" class="property">right</a> | far-right | right-side
] || behind ] | leftwards | rightwards | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">center</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-azimuth">
"azimuth" property
</a></p></div><div class="div3">
<h4><a name="cue-after" id="cue-after"/>7.7.2 cue-after</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;uri-specification&gt; | none | inherit </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-cue-after">
"cue-after" property
</a></p><p><em>XSL modifications to the CSS definition:</em></p><p>The &lt;uri&gt; value has been changed to a &lt;uri-specification&gt;.</p></div><div class="div3">
<h4><a name="cue-before" id="cue-before"/>7.7.3 cue-before</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;uri-specification&gt; | none | inherit </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-cue-before">
"cue-before" property
</a></p><p><em>XSL modifications to the CSS definition:</em></p><p>The &lt;uri&gt; value has been changed to a &lt;uri-specification&gt;.</p></div><div class="div3">
<h4><a name="elevation" id="elevation"/>7.7.4 elevation</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;angle&gt; | below | level | above | higher
| lower | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">level</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-elevation">
"elevation" property
</a></p></div><div class="div3">
<h4><a name="pause-after" id="pause-after"/>7.7.5 pause-after</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;time&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on user agent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see prose </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-pause-after">
"pause-after" property
</a></p></div><div class="div3">
<h4><a name="pause-before" id="pause-before"/>7.7.6 pause-before</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;time&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on user agent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see prose </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-pause-before">
"pause-before" property
</a></p></div><div class="div3">
<h4><a name="pitch" id="pitch"/>7.7.7 pitch</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;frequency&gt; | x-low | low | medium | high
| x-high | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-pitch">
"pitch" property
</a></p></div><div class="div3">
<h4><a name="pitch-range" id="pitch-range"/>7.7.8 pitch-range</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">50</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-pitch-range">
"pitch-range" property
</a></p></div><div class="div3">
<h4><a name="play-during" id="play-during"/>7.7.9 play-during</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;uri-specification&gt; mix? repeat? | auto | none | inherit </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-play-during">
"play-during" property
</a></p><p><em>XSL modifications to the CSS definition:</em></p><p>The &lt;uri&gt; value has been changed to a &lt;uri-specification&gt;.</p></div><div class="div3">
<h4><a name="richness" id="richness"/>7.7.10 richness</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">50</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-richness">
"richness" property
</a></p></div><div class="div3">
<h4><a name="speak" id="speak"/>7.7.11 speak</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | none | spell-out | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-speak">
"speak" property
</a></p></div><div class="div3">
<h4><a name="speak-header" id="speak-header"/>7.7.12 speak-header</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">once | always | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">once</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#propdef-speak-header">
"speak-header" property
</a></p></div><div class="div3">
<h4><a name="speak-numeral" id="speak-numeral"/>7.7.13 speak-numeral</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">digits | continuous | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">continuous</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-speak-numeral">
"speak-numeral" property
</a></p></div><div class="div3">
<h4><a name="speak-punctuation" id="speak-punctuation"/>7.7.14 speak-punctuation</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">code | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-speak-punctuation">
"speak-punctuation" property
</a></p></div><div class="div3">
<h4><a name="speech-rate" id="speech-rate"/>7.7.15 speech-rate</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | x-slow | slow | medium | fast
| x-fast | faster | slower | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-speech-rate">
"speech-rate" property
</a></p></div><div class="div3">
<h4><a name="stress" id="stress"/>7.7.16 stress</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">50</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-stress">
"stress" property
</a></p></div><div class="div3">
<h4><a name="voice-family" id="voice-family"/>7.7.17 voice-family</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[[&lt;specific-voice&gt; | &lt;generic-voice&gt;
],]* [&lt;specific-voice&gt; | &lt;generic-voice&gt; ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on user agent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-voice-family">
"voice-family" property
</a></p></div><div class="div3">
<h4><a name="volume" id="volume"/>7.7.18 volume</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | &lt;percentage&gt; | silent | x-soft
| soft | medium | loud | x-loud | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to inherited value</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-volume">
"volume" property
</a></p></div></div><div class="div2">
<h3><a name="common-border-padding-and-background-properties" id="common-border-padding-and-background-properties"/>7.8 Common Border, Padding, and Background Properties</h3><p>The following common-border-padding-and-background-properties
are taken from CSS2. Those "<a href="#border" class="property">border</a>", "<a href="#padding" class="property">padding</a>", and "<a href="#background" class="property">background</a>"
properties that have a before, after, start, or end suffix are <a href="#writing-mode" class="property">writing-mode</a>
relative and are XSL-only properties.</p><div class="div3">
<h4><a name="background-attachment" id="background-attachment"/>7.8.1 background-attachment</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">scroll | fixed | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">scroll</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-background-attachment">
"background-attachment" property
</a></p><dl><dt class="label">scroll</dt><dd><p>The <a href="#background-image" class="property">background-image</a> may scroll with the enclosing object.</p></dd><dt class="label">fixed</dt><dd><p>The <a href="#background-image" class="property">background-image</a> is to be fixed within the viewable
area of the enclosing object.</p></dd></dl><p>If a <a href="#background-image" class="property">background-image</a> is specified, this property specifies
whether it is fixed with regard to the viewport (fixed) or scrolls
along with the document (scroll).</p><p>Even if the image is fixed, it is still only visible when it
is in the <a href="#background" class="property">background</a> or <a href="#padding" class="property">padding</a> area of the element. Thus, unless
the image is tiled ("background-repeat: repeat"), it may be invisible.</p><p>User agents may treat fixed as scroll. However, it is recommended
they interpret fixed correctly, at least for the HTML and BODY elements,
since there is no way for an author to provide an image only for
those browsers that support fixed. See the section on conformance
for details.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The last paragraph in the CSS description does not apply.</p></div><div class="div3">
<h4><a name="background-color" id="background-color"/>7.8.2 background-color</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">transparent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-background-color">
"background-color" property
</a></p><p>This property sets the <a href="#background" class="property">background</a> color of an element, either
a &lt;color&gt; value or the keyword transparent, to make the underlying
colors shine through.</p><dl><dt class="label">transparent</dt><dd><p>The underlying colors will shine through.</p></dd><dt class="label">&lt;color&gt;</dt><dd><p>Any valid color specification.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>XSL adds an "rgb-icc" function (see <a href="#expr-color-functions"><b>5.10.2 Color Functions</b></a>)
as a valid value of this property.</p></div><div class="div3">
<h4><a name="background-image" id="background-image"/>7.8.3 background-image</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;uri-specification&gt; | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-background-image">
"background-image" property
</a></p><p>This property sets the <a href="#background" class="property">background</a> image of an element. When setting
a "<a href="#background-image" class="property">background-image</a>", authors should also specify a <a href="#background-color" class="property">background-color</a>
that will be used when the image is unavailable. When the image
is available, it is rendered on top of the <a href="#background" class="property">background</a> color. (Thus,
the color is visible in the transparent parts of the image).</p><p>Values for this property are either &lt;uri-specification&gt;, to specify the
image, or "none", when no image is used.</p><dl><dt class="label">none</dt><dd><p>No image is specified.</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd/></dl><p><em>XSL modifications to the CSS definition:</em></p><p>The &lt;uri&gt; value has been changed to a &lt;uri-specification&gt;.</p></div><div class="div3">
<h4><a name="background-position-horizontal" id="background-position-horizontal"/>7.8.4 background-position-horizontal</h4><p>A Property Derived from a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;percentage&gt; | &lt;length&gt; |
<a href="#left" class="property">left</a> | center | <a href="#right" class="property">right</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0%</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the <a href="#size" class="property">size</a> of the padding-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>If a "<a href="#background-image" class="property">background-image</a>" has been specified, this property specifies
its initial <a href="#position" class="property">position</a> horizontally.</p><dl><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies that a point, at the given percentage across the image
from left-to-right, shall be placed at a point at the given percentage
across, from left-to-right, the area's padding-rectangle.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example
with a value of 0%, the left-edge of the
image is aligned with the left-edge of the area's padding-rectangle.
A value of 100% places the right-edge of
the image aligned with the right-edge of the padding-rectangle.
With a value
of 14%, a point 14% across the image is
to be placed at a point 14% across the padding-rectangle.</p></div></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies that the left-edge of the image shall be placed
at the specified length to the <a href="#right" class="property">right</a> of the left-edge of the
padding-rectangle.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example
with a value of 2cm, the left-edge of the
image is placed 2cm to the <a href="#right" class="property">right</a> of the left-edge of the
padding-rectangle.</p></div></dd><dt class="label">left</dt><dd><p>Same as 0%.</p></dd><dt class="label">center</dt><dd><p>Same as 50%.</p></dd><dt class="label">right</dt><dd><p>Same as 100%.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>"Left" and "<a href="#right" class="property">right</a>" are defined relative to the
reference-orientation.
</p></div><div class="div3">
<h4><a name="background-position-vertical" id="background-position-vertical"/>7.8.5 background-position-vertical</h4><p>A Property Derived from a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;percentage&gt; | &lt;length&gt; |
top | center | <a href="#bottom" class="property">bottom</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0%</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the <a href="#size" class="property">size</a> of the padding-rectangle</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>If a "<a href="#background-image" class="property">background-image</a>" has been specified, this property specifies
its initial <a href="#position" class="property">position</a> vertically.</p><dl><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies that a point, at the given percentage down the image
from top-to-bottom, shall be placed at a point at the given percentage
down, from top-to-bottom, the area's padding-rectangle.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example
with a value of 0%, the top-edge of the
image is aligned with the top-edge of the area's padding-rectangle.
A value of 100% places the bottom-edge of
the image aligned with the bottom-edge of the padding-rectangle.
With a value
of 84%, a point 84% down the image is
to be placed at a point 84% down the padding-rectangle.</p></div></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies that the top-edge of the image shall be placed
at the specified length below the top-edge of the
padding-rectangle.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example
with a value of 2cm, the top-edge of the
image is placed 2cm below the top-edge of the padding-rectangle.</p></div></dd><dt class="label">top</dt><dd><p>Same as 0%.</p></dd><dt class="label">center</dt><dd><p>Same as 50%.</p></dd><dt class="label">bottom</dt><dd><p>Same as 100%.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>"Top" and "<a href="#bottom" class="property">bottom</a>" are defined relative to the
reference-orientation.
</p></div><div class="div3">
<h4><a name="background-repeat" id="background-repeat"/>7.8.6 background-repeat</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">repeat | repeat-x | repeat-y | no-repeat | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">repeat</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-background-repeat">
"background-repeat" property
</a></p><p>If a <a href="#background" class="property">background</a> image is specified, this property specifies whether
the image is repeated (tiled), and how. All tiling covers the content
and <a href="#padding" class="property">padding</a> areas of a box. Values have the following meanings:</p><dl><dt class="label">repeat</dt><dd><p>The image is repeated both horizontally and vertically.</p></dd><dt class="label">repeat-x</dt><dd><p>The image is repeated horizontally only.</p></dd><dt class="label">repeat-y</dt><dd><p>The image is repeated vertically only.</p></dd><dt class="label">no-repeat</dt><dd><p>The image is not repeated: only one copy of the image is
drawn.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>"Horizontal" and "vertical" are defined relative to the
<a href="#reference-orientation" class="property">reference-orientation</a>; "horizontal" is "<a href="#left" class="property">left</a>" to "<a href="#right" class="property">right</a>", and "vertical" is
"top" to "<a href="#bottom" class="property">bottom</a>".
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Thus for a rotated area the tiling is also rotated.
It is, however, independent of the writing-mode.
</p></div></div><div class="div3">
<h4><a name="border-after-color" id="border-after-color"/>7.8.7 border-after-color</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the color of the <a href="#border" class="property">border</a>
on the after-edge of a block-area or inline-area.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-after-style" id="border-after-style"/>7.8.8 border-after-style</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-style" class="property">border-style</a> for the after-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-after-width" id="border-after-width"/>7.8.9 border-after-width</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-width" class="property">border-width</a> for the after-edge.</p><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#border" class="property">border</a> for the after-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#border" class="property">border</a> should be 0 or retained if its associated
edge is a trailing-edge in a reference-area for areas generated from
this formatting object that have an <span class="trait">is-last</span> value
of "false". See <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>If the <a href="#border-style" class="property">border-style</a> is "none" the computed value of the <a href="#width" class="property">width</a>
is forced to "0pt".</p></div></div><div class="div3">
<h4><a name="border-before-color" id="border-before-color"/>7.8.10 border-before-color</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the color of the <a href="#border" class="property">border</a>
on the before-edge of a block-area or inline-area.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-before-style" id="border-before-style"/>7.8.11 border-before-style</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-style" class="property">border-style</a> for the before-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-before-width" id="border-before-width"/>7.8.12 border-before-width</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-width" class="property">border-width</a> for the before-edge.</p><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#border" class="property">border</a> for the before-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#border" class="property">border</a> should be 0pt or retained if its associated
edge is a leading-edge in a reference-area for areas generated from
this formatting object that have an <span class="trait">is-first</span> value
of "false". See <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl><p>If <a href="#border-before-width" class="property">border-before-width</a> is specified using &lt;length&gt;,
the formatter shall convert the single value to components
as follows:</p><ul><li><p>border-before-width.length:
the resultant computed value of the &lt;length&gt;.</p></li><li><p>border-before-width.conditional: discard.
</p></li></ul><p>If <a href="#border-before-width" class="property">border-before-width</a> is specified using one of the <a href="#width" class="property">width</a>
keywords the .conditional component is set to "discard" and
the .length component to a User Agent dependent length.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the <a href="#border-style" class="property">border-style</a> is "none" the computed value of the <a href="#width" class="property">width</a>
is forced to "0pt".</p></div></div><div class="div3">
<h4><a name="border-bottom-color" id="border-bottom-color"/>7.8.13 border-bottom-color</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-bottom-color">
"border-bottom-color" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> color for the bottom-edge.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-bottom-style" id="border-bottom-style"/>7.8.14 border-bottom-style</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-bottom-style">
"border-bottom-style" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> style for the bottom-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-bottom-width" id="border-bottom-width"/>7.8.15 border-bottom-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-bottom-width">
"border-bottom-width" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> <a href="#width" class="property">width</a> for the bottom-edge.</p><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p></div><div class="div3">
<h4><a name="border-end-color" id="border-end-color"/>7.8.16 border-end-color</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the color of the <a href="#border" class="property">border</a>
on the end-edge of a block-area or inline-area.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-end-style" id="border-end-style"/>7.8.17 border-end-style</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-style" class="property">border-style</a> for the end-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-end-width" id="border-end-width"/>7.8.18 border-end-width</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-width" class="property">border-width</a> for the end-edge.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the <a href="#border-style" class="property">border-style</a> is "none" the computed value of the <a href="#width" class="property">width</a>
is forced to "0pt".</p></div><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#border" class="property">border</a> for the end-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#border" class="property">border</a> should be 0 or retained if its associated
edge is a trailing-edge in a line-area for areas generated from
this formatting object that have an <span class="trait">is-last</span> value
of "false". See <a href="#area-space"><b>4.3.1 Space-resolution Rules</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl></div><div class="div3">
<h4><a name="border-left-color" id="border-left-color"/>7.8.19 border-left-color</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-left-color">
"border-left-color" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> color for the left-edge.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-left-style" id="border-left-style"/>7.8.20 border-left-style</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-left-style">
"border-left-style" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> style for the left-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-left-width" id="border-left-width"/>7.8.21 border-left-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-left-width">
"border-left-width" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> <a href="#width" class="property">width</a> for the left-edge.</p><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p></div><div class="div3">
<h4><a name="border-right-color" id="border-right-color"/>7.8.22 border-right-color</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-right-color">
"border-right-color" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> color for the right-edge.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-right-style" id="border-right-style"/>7.8.23 border-right-style</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-right-style">
"border-right-style" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> style for the right-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-right-width" id="border-right-width"/>7.8.24 border-right-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-right-width">
"border-right-width" property
</a></p><p>Specifies the <a href="#border" class="property">border</a> <a href="#width" class="property">width</a> for the right-edge.</p><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p></div><div class="div3">
<h4><a name="border-start-color" id="border-start-color"/>7.8.25 border-start-color</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the color of the <a href="#border" class="property">border</a>
on the start-edge of a block-area or inline-area.</p><p>See definition of property <a href="#border-top-color" class="property">border-top-color</a> (<a href="#border-top-color"><b>7.8.28 border-top-color</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-start-style" id="border-start-style"/>7.8.26 border-start-style</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-style" class="property">border-style</a> for the start-edge.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p></div><div class="div3">
<h4><a name="border-start-width" id="border-start-width"/>7.8.27 border-start-width</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#border-width" class="property">border-width</a> for the start-edge.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If the <a href="#border-style" class="property">border-style</a> is "none" the computed value of the <a href="#width" class="property">width</a>
is forced to "0pt".</p></div><p>See definition of property <a href="#border-top-width" class="property">border-top-width</a> (<a href="#border-top-width"><b>7.8.30 border-top-width</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#border" class="property">border</a> for the start-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#border" class="property">border</a> should be 0 or retained if its associated
edge is a leading-edge in a line-area for areas generated from
this formatting object that have an <span class="trait">is-first</span> value
of "false". See <a href="#area-space"><b>4.3.1 Space-resolution Rules</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl></div><div class="div3">
<h4><a name="border-top-color" id="border-top-color"/>7.8.28 border-top-color</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | transparent | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-top-color">
"border-top-color" property
</a></p><p>The '<a href="#border-color" class="property">border-color</a>' property sets the color of the four borders.
Values have the following meanings:</p><dl><dt class="label">transparent</dt><dd><p>The <a href="#border" class="property">border</a> is transparent (though it may have <a href="#width" class="property">width</a>).</p></dd><dt class="label">&lt;color&gt;</dt><dd><p>Any valid color specification.</p></dd></dl><p>If an element's <a href="#border" class="property">border</a> color is not
specified with a "<a href="#border" class="property">border</a>" property, user agents must use the value
of the element's "<a href="#color" class="property">color</a>" property as the computed value for the
<a href="#border" class="property">border</a> color.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The value "transparent" has been added to be consistent with
the definition of the "<a href="#border-color" class="property">border-color</a>" shorthand.
</p></div><div class="div3">
<h4><a name="border-top-style" id="border-top-style"/>7.8.29 border-top-style</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x9">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x9</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-top-style">
"border-top-style" property
</a></p><p>The <a href="#border" class="property">border</a> style properties specify the line style of a box's
<a href="#border" class="property">border</a> (solid, double, dashed, etc.).</p><p>The properties defined in this section refer to the &lt;<a href="#border-style" class="property">border-style</a>&gt;
value type, which may take one of the following:</p><dl><dt class="label">none</dt><dd><p>No border. This value forces the computed value of '<a href="#border-width" class="property">border-width</a>'
to be '0'.</p></dd><dt class="label">hidden</dt><dd><p>Same as 'none', except in terms of <a href="#border" class="property">border</a> conflict resolution
for table elements.</p></dd><dt class="label">dotted</dt><dd><p>The <a href="#border" class="property">border</a> is a series of dots.</p></dd><dt class="label">dashed</dt><dd><p>The <a href="#border" class="property">border</a> is a series of short line segments.</p></dd><dt class="label">solid</dt><dd><p>The <a href="#border" class="property">border</a> is a single line segment.</p></dd><dt class="label">double</dt><dd><p>The <a href="#border" class="property">border</a> is two solid lines. The sum of the two lines
and the space between them equals the value of '<a href="#border-width" class="property">border-width</a>'.</p></dd><dt class="label">groove</dt><dd><p>The <a href="#border" class="property">border</a> looks as though it were carved into the canvas.</p></dd><dt class="label">ridge</dt><dd><p>The opposite of 'groove': the <a href="#border" class="property">border</a> looks as
though it were coming out of the canvas.</p></dd><dt class="label">inset</dt><dd><p>The <a href="#border" class="property">border</a> makes the entire box look as though it were
embedded in the canvas.</p></dd><dt class="label">outset</dt><dd><p>The opposite of 'inset': the <a href="#border" class="property">border</a> makes the entire box
look as though it were coming out of the canvas.</p></dd></dl><p>All borders are drawn on top of the box's background.
The color of borders drawn for values of 'groove',
'ridge', 'inset', and 'outset' should be based on the element's
'<a href="#border-color" class="property">border-color</a>' property, but UAs may choose their own algorithm to
calculate the actual colors used. For instance, if the '<a href="#border-color" class="property">border-color</a>'
has the value 'silver', then a UA could use a gradient of colors from
white to dark gray to indicate a sloping border.</p><p>Conforming HTML user agents may interpret 'dotted', 'dashed',
'double', 'groove', 'ridge', 'inset', and 'outset' to be 'solid'.
</p></div><div class="div3">
<h4><a name="border-top-width" id="border-top-width"/>7.8.30 border-top-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-top-width">
"border-top-width" property
</a></p><p>The <a href="#border" class="property">border</a> <a href="#width" class="property">width</a> properties specify the <a href="#width" class="property">width</a> of the <a href="#border" class="property">border</a> area.
The properties defined in this section refer to the &lt;<a href="#border-width" class="property">border-width</a>&gt;
value type, which may take one of the following values:</p><dl><dt class="label">thin</dt><dd><p>A thin border.</p></dd><dt class="label">medium</dt><dd><p>A medium border.</p></dd><dt class="label">thick</dt><dd><p>A thick border.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>The <a href="#border" class="property">border</a>'s thickness has an explicit value. Explicit
<a href="#border" class="property">border</a> widths cannot be negative.</p></dd></dl><p>The interpretation of the first three values depends on
the user agent. The following relationships must hold, however:</p><ul><li><p> 'thin' &lt;='medium' &lt;= 'thick'.</p></li><li><p>Furthermore, these widths must be constant throughout a
document. </p></li></ul></div><div class="div3">
<h4><a name="padding-after" id="padding-after"/>7.8.31 padding-after</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the after-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#padding" class="property">padding</a> for the after-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#padding" class="property">padding</a> should be 0 or retained if its associated
edge is a trailing-edge in a reference-area for areas generated from
this formatting object that have an <span class="trait">is-last</span> value
of "false". See <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl></div><div class="div3">
<h4><a name="padding-before" id="padding-before"/>7.8.32 padding-before</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the before-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#padding" class="property">padding</a> for the before-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#padding" class="property">padding</a> should be 0 or retained if its associated
edge is a leading-edge in a reference-area for areas generated from
this formatting object that have an <span class="trait">is-first</span> value
of "false". See <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl></div><div class="div3">
<h4><a name="padding-bottom" id="padding-bottom"/>7.8.33 padding-bottom</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-padding-bottom">
"padding-bottom" property
</a></p><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the bottom-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p></div><div class="div3">
<h4><a name="padding-end" id="padding-end"/>7.8.34 padding-end</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the end-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#padding" class="property">padding</a> for the end-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#padding" class="property">padding</a> should be 0 or retained if its associated
edge is a trailing-edge in a line-area for areas generated from
this formatting object that have an <span class="trait">is-last</span> value
of "false". See <a href="#area-space"><b>4.3.1 Space-resolution Rules</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl></div><div class="div3">
<h4><a name="padding-left" id="padding-left"/>7.8.35 padding-left</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-padding-left">
"padding-left" property
</a></p><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the left-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p></div><div class="div3">
<h4><a name="padding-right" id="padding-right"/>7.8.36 padding-right</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-padding-right">
"padding-right" property
</a></p><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the right-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p></div><div class="div3">
<h4><a name="padding-start" id="padding-start"/>7.8.37 padding-start</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the start-edge of a block-area or inline-area.</p><p>See definition of property <a href="#padding-top" class="property">padding-top</a> (<a href="#padding-top"><b>7.8.38 padding-top</b></a>).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;length-conditional&gt;</dt><dd><p>A compound value specifying the <a href="#width" class="property">width</a> and any conditionality
of the <a href="#padding" class="property">padding</a> for the start-edge.</p><p>The .length component is a &lt;length&gt;. It may not be negative.
The .conditionality component may be set to "discard" or "retain" to
control if the <a href="#padding" class="property">padding</a> should be 0 or retained if its associated
edge is a leading-edge in a line-area for areas generated from
this formatting object that have an <span class="trait">is-first</span> value
of "false". See <a href="#area-space"><b>4.3.1 Space-resolution Rules</b></a> for further details.
The initial value of the .conditionality component is "discard".</p></dd></dl></div><div class="div3">
<h4><a name="padding-top" id="padding-top"/>7.8.38 padding-top</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-padding-top">
"padding-top" property
</a></p><dl><dt class="label">&lt;length&gt;</dt><dd><p>Specifies the <a href="#width" class="property">width</a> of the <a href="#padding" class="property">padding</a>
on the top-edge of a block-area or inline-area.
Unlike <a href="#margin" class="property">margin</a> properties, values for <a href="#padding" class="property">padding</a> properties cannot be
negative.</p></dd></dl></div></div><div class="div2">
<h3><a name="common-font-properties" id="common-font-properties"/>7.9 Common Font Properties</h3><p>The following common-font-properties all are taken from
CSS2. The reference to CSS2 is: http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Although these properties reference the individual properties
in the CSS specification, it is recommended that you read the entire
<a href="#font" class="property">font</a> section of the CSS2 specification.</p></div><div class="div3">
<h4><a name="font-model" id="font-model"/>7.9.1 Fonts and Font Data</h4><p>
XSL uses an abstract model of a font. This model is described in this
section and is based on current <a href="#font" class="property">font</a> technology as exemplified by the
OpenType specification <a href="#OpenType">[OpenType]</a>.
</p><p>
A <a href="#font" class="property">font</a> consists of a collection of glyphs together with the
information, the <a href="#font" class="property">font</a> tables, necessary to use those glyphs to present
characters on some medium. A glyph is a recognizable abstract graphic
symbol which is independent of any specific design. The combination of the collection of glyphs and the <a href="#font" class="property">font</a> tables
is called the <a href="#font" class="property">font</a> data.
</p><p>
The <a href="#font" class="property">font</a> tables include the information
necessary to map characters to glyphs, to determine the <a href="#size" class="property">size</a> of glyph
areas and to <a href="#position" class="property">position</a> the glyph area. Each <a href="#font" class="property">font</a> table consists of one
or more <a href="#font" class="property">font</a> characteristics, such as the <a href="#font-weight" class="property">font-weight</a> and font-style.
</p><p>
The geometric <a href="#font" class="property">font</a> characteristics are expressed in a coordinate
system based on the em box. (The em is a relative measure of the
<a href="#height" class="property">height</a> of the glyphs in the <a href="#font" class="property">font</a>; see <a href="#relative.lengths"><b>5.9.7.2 Relative Lengths</b></a>.)
This box that is 1 em high
and 1 em wide is called the design space.
Points in this design space are expressed in
geometric coordinates in terms of fractional units of the em.
</p><p>
The coordinate space of the em box is called the design space
coordinate system. For scalable fonts, the curves and lines that are
used to draw a glyph are represented using this coordinate system.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
Most often, the (0,0) point in this coordinate system is
positioned on the <a href="#left" class="property">left</a> edge of the em box, but not at the <a href="#bottom" class="property">bottom</a> <a href="#left" class="property">left</a>
corner. The Y coordinate of the <a href="#bottom" class="property">bottom</a> of a Roman capital letter is
usually zero. In addition, the descenders on lower case Roman letters have
negative coordinate values.
</p></div><p>
XSL assumes that the <a href="#font" class="property">font</a> tables will provide at least three <a href="#font" class="property">font</a>
characteristics: an ascent, a descent and a set of baseline-tables.
The coordinate values for these are given in the design space
coordinate system. The ascent is given by the vertical coordinate of
the top of the em box; the descent is given by the vertical coordinate
of the <a href="#bottom" class="property">bottom</a> of the em box. The baseline-table is explained below.
</p><p>
The glyphs of a given <a href="#script" class="property">script</a> are positioned so that a particular point
on each glyph, the <b>alignment-point</b>, is aligned with the
alignment-points of the other glyphs in that script. The glyphs of
different scripts are typically aligned at different points on the
glyph. For example, Western glyphs are aligned on the bottoms of the
capital letters, certain Indic glyphs (including glyphs from the
Devanagari, Gurmukhi and Bengali scripts) are aligned at the top of a
horizontal stroke near the top of the glyphs and Far Eastern glyphs
are aligned either at the <a href="#bottom" class="property">bottom</a> or center of the em box of the
glyph. Within a <a href="#script" class="property">script</a> and within a line of text having a single
<a href="#font-size" class="property">font-size</a>, the sequence of alignment-points defines, in the
inline-progression-direction, a geometric line called a
<b>baseline</b>. Western and most other alphabetic and syllabic
glyphs are aligned to an "alphabetic" baseline, the above Indic
glyphs are aligned to a "hanging" baseline and the Far Eastern glyphs
are aligned to an "ideographic" baseline.
</p><div style="margin-left: 3em;">
<img src="figures/AlignmentPointsMixedScripts2.gif" alt="Three glyphs (in Roman, Gumurkhi and Ideographic) with their corresponding baselines shown (alphabetic, hanging and ideographic, respectively)." title="Three examples of baselines"/>
<p><b>Figure 39. </b>
This figure shows the vertical <a href="#position" class="property">position</a> of the alignment-point for
alphabetic and many syllabic scripts, illustrated by a Roman "A"; for
certain Indic scripts, illustrated by a Gurmukhi syllable "ji"; and
for ideographic scripts, illustrated by the ideograhic glyph meaning
"<a href="#country" class="property">country</a>". The thin black rectangle around the ideographic glyph
illustrates the em box for that glyph and shows the typical
positioning of the "black marks" of the glyph within the em box.
</p>
</div><p>
A <b>baseline-table</b> specifies the <a href="#position" class="property">position</a> of one or more
baselines in the design space coordinate system. The function of the
baseline table is to facilitate the alignment of different scripts
with respect to each other when they are mixed on the same text
line. Because the desired relative alignments may depend on which
<a href="#script" class="property">script</a> is dominant in a line (or block), there may be a different
baseline table for each script. In addition, different alignment
positions are needed for horizontal and vertical writing
modes. Therefore, the <a href="#font" class="property">font</a> may have a set of baseline tables:
typically, one or more for horizontal writing-modes and zero or more
for vertical writing-modes.
</p><div style="margin-left: 3em;">
<img src="figures/Baselines-HorizAndVert-ApCountry.gif" alt="Four examples of horizontal and vertical baseline positions, described in the text." title="Horizontal and vertical baseline alignment"/>
<p><b>Figure 40. </b>
Examples of horizontal and vertical baseline positions. The thin lined
box in each example is the "em box". For the Latin glyphs, only the em box of the first glyph is shown. Example 1 shows typical Latin
text written horizontally. This text is positioned relative to the
alphabetic baseline, shown in blue. Example 2 shows a typical
ideographic glyph positioned on the horizontal ideographic
baseline. Note that the em box is positioned differently for these two
cases. Examples 3 and 4 show the same set of baselines used in
vertical writing. The Latin text, example 3, is shown with a
glyph-orientation of 90 degrees which is typical for proportionally
space Latin glyphs in vertical writing. Even though the ideographic
glyph in example 4 is positioned on the vertical ideographic baseline,
because it is centered in the em box, all glyphs with the same em box
are centered, vertically, with respect to one another. Additional
examples showing the positioning of mixed scripts are given in the
introductions to <a href="#area-alignment"><b>7.15 Area Alignment Properties</b></a> and
<a href="#writing-mode-related"><b>7.30 Writing-mode-related Properties</b></a>.
</p>
</div><p>
The <a href="#font" class="property">font</a> tables for a <a href="#font" class="property">font</a> include <a href="#font" class="property">font</a> characteristics for the
individual glyphs in the font. XSL assumes that the <a href="#font" class="property">font</a> tables
include, for each glyph in the <a href="#font" class="property">font</a>, one <a href="#width" class="property">width</a> value, one <a href="#alignment-baseline" class="property">alignment-baseline</a> and
one alignment-point for the horizontal writing-modes. If vertical
writing-modes are supported, then each glyph must have another <a href="#width" class="property">width</a>
value, <a href="#alignment-baseline" class="property">alignment-baseline</a> and alignment-point for the vertical
writing-modes. (Even though it is specified as a <a href="#width" class="property">width</a>, for vertical
writing-modes the <a href="#width" class="property">width</a> is used in the vertical direction.)
</p><p>
The <a href="#script" class="property">script</a>
to which a glyph belongs determines an <a href="#alignment-baseline" class="property">alignment-baseline</a> to which the
glyph is to be aligned. The <a href="#position" class="property">position</a> of this baseline in the design
space coordinate system determines the default
block-progression-direction <a href="#position" class="property">position</a> of the alignment-point. The
inline-progression-direction <a href="#position" class="property">position</a> of the alignment-point is on the
start-edge of the glyph. (These positions are adjusted according to
the specifications in <a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a> when an instance of a glyph is used in an inline or block
formatting object. The "<a href="#space-start" class="property">space-start</a>" and/or the "<a href="#space-end" class="property">space-end</a>" properties
of the <a href="#fo_character" class="el">fo:character</a> that maps to the glyph may be adjusted to effect
"kerning" with respect to adjacent glyphs.)
</p><div style="margin-left: 3em;">
<img src="figures/AlignmentPointsMixedScriptsOnBaselines.gif" alt="Glyphs from three different scripts, each with its em box and within the em box, the baseline table applicable to that glyph." title="Baseline alignment of glyphs from different scripts"/>
<p><b>Figure 41. </b>
This figure shows glyphs from three different scripts,
each with its em box and within the em box,
the baseline table applicable to that glyph.
The alignment-point of each glyph is shown by an "X" on the start edge
of the em box and by making <a href="#alignment-baseline" class="property">alignment-baseline</a> blue.
The baseline-table of the parent formatting object of the characters
that mapped to these glyphs is shown as a set of dashed lines.
</p>
</div><p>
In addition to the <a href="#font" class="property">font</a> characteristics required above, a <a href="#font" class="property">font</a> may
also supply substitution and positioning tables that can be used by a
formatter to re-order, combine, and <a href="#position" class="property">position</a> a sequence of glyphs to
make one or more composite glyphs. The combination may be as simple as
a ligature, or as complex as an Indic syllable which combines, usually
with some re-ordering, multiple consonants and vowel glyphs. See
<a href="#area-linebuild"><b>4.7.2 Line-building</b></a>.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
If the <a href="#font" class="property">font</a> tables do not define values for required <a href="#font" class="property">font</a>
characteristics, heuristics may be used to approximate these
values.
</p></div></div><div class="div3">
<h4><a name="font-family" id="font-family"/>7.9.2 font-family</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x73">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x73</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[[ &lt;family-name&gt; | &lt;generic-family&gt;
],]* [&lt;family-name&gt; | &lt;generic-family&gt;] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on user agent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#propdef-font-family">
"font-family" property
</a></p><p>This property specifies a prioritized list of <a href="#font" class="property">font</a> family names
and/or generic family names. To deal with the problem that a single
<a href="#font" class="property">font</a> may not contain glyphs to display all the characters in a document,
or that not all fonts are available on all systems, this property allows
authors to specify a list of fonts, all of the same style and <a href="#size" class="property">size</a>,
that are tried in sequence to see if they contain a glyph for a
certain character. This list is called a <a href="#font" class="property">font</a> set.</p><p>The generic <a href="#font" class="property">font</a> family will be used if one or more of the other
fonts in a <a href="#font" class="property">font</a> set is unavailable. Although many fonts provide
the "missing <a href="#character" class="property">character</a>" glyph, typically an open box, as its name
implies this should not be considered a match except for the last
<a href="#font" class="property">font</a> in a <a href="#font" class="property">font</a> set. </p><p>There are two types of <a href="#font" class="property">font</a> family names:</p><dl><dt class="label">&lt;family-name&gt;</dt><dd><p>The name of a <a href="#font-family" class="property">font-family</a> of choice. In the previous example
[in the CSS2 Recommendation],
"Baskerville", "Heisi Mincho W3", and "Symbol" are <a href="#font" class="property">font</a> families.
Font family names containing whitespace should be quoted. If quoting
is omitted, any whitespace characters before and after the <a href="#font" class="property">font</a>
name are ignored and any sequence of whitespace characters inside the
<a href="#font" class="property">font</a> name is converted to a single space.</p></dd><dt class="label">&lt;generic-family&gt;</dt><dd><p>The following generic families are defined: "serif", "sans-serif",
"cursive", "fantasy", and "monospace". Please see the section on
generic <a href="#font" class="property">font</a> families for descriptions of these families. Generic
<a href="#font" class="property">font</a> family names are keywords, and therefore must not be quoted.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><dl><dt class="label">&lt;string&gt;</dt><dd><p>The names are syntactically expressed as
strings.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>See the expression language for a two-argument
"system-font" function that returns a characteristic of a system-font.
This may be used, instead of the "<a href="#font" class="property">font</a>" shorthand, to specify
the name of a system-font.
</p></div></dd></dl></div><div class="div3">
<h4><a name="font-selection-strategy" id="font-selection-strategy"/>7.9.3 font-selection-strategy</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | character-by-character | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>There is no XSL mechanism to specify a particular <a href="#font" class="property">font</a>; instead,
a <b>selected <a href="#font" class="property">font</a></b> is chosen from the fonts available to the
User Agent based on a set of selection criteria. The <b>selection
criteria</b> are the following <a href="#font" class="property">font</a> properties:
"<a href="#font-family" class="property">font-family</a>",
"<a href="#font-style" class="property">font-style</a>",
"<a href="#font-variant" class="property">font-variant</a>",
"<a href="#font-weight" class="property">font-weight</a>",
"<a href="#font-stretch" class="property">font-stretch</a>", and
"<a href="#font-size" class="property">font-size</a>",
plus, for some formatting
objects, one or more characters.
These characters are called the <b>contextual characters</b>.
The contextual characters can be as few as a single <a href="#character" class="property">character</a>
and as many as the entire <a href="#character" class="property">character</a> complement of the result tree
being processed.
</p><p>Except for the <a href="#fo_character" class="el">fo:character</a> formatting object, for all other
formatting objects where "<a href="#font-family" class="property">font-family</a>" applies, the selection
criteria consist of the above <a href="#font" class="property">font</a> properties only.
For the <a href="#fo_character" class="el">fo:character</a> formatting object, the selection criteria
are these properties plus either the value of the
"<a href="#character" class="property">character</a>" property of the <a href="#fo_character" class="el">fo:character</a> alone or that
<a href="#character" class="property">character</a> together with other contextual characters.
</p><p>The strategy to be followed for selecting a <a href="#font" class="property">font</a> based on these
criteria is specified by the "<a href="#font-selection-strategy" class="property">font-selection-strategy</a>" property.</p><p>The "<a href="#font-family" class="property">font-family</a>" property is a prioritized list of
<a href="#font" class="property">font</a> family names, which
are tried in sequence to find an available <a href="#font" class="property">font</a> that matches the
selection criteria.
The <a href="#font" class="property">font</a> property selection criteria are matched if the
corresponding <a href="#font" class="property">font</a> characteristics match
the properties as specified in the property descriptions.</p><p>If no matching <a href="#font" class="property">font</a> is found, a fallback selection
is determined in a system-dependent manner.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This fallback may be to seek a match using a User Agent
default "<a href="#font-family" class="property">font-family</a>", or it may be a more elaborate fallback
strategy where, for example, "Helvetica" would be used as a
fallback for "Univers".</p></div><p>If no match has been found for a particular <a href="#character" class="property">character</a>,
there is no selected <a href="#font" class="property">font</a> and
the User Agent should provide a visual indication
that a <a href="#character" class="property">character</a> is not being displayed (for example, using the
'missing <a href="#character" class="property">character</a>' glyph).
</p><p>Values of the "<a href="#font-selection-strategy" class="property">font-selection-strategy</a>" property
have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The selection criterion given by the contextual characters is used in an
implementation defined manner.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An implementation may, for example, use an algorithm where
all characters in the result tree having the same set of
<a href="#font" class="property">font</a> selection property values influence the selection,
or it may only use the <a href="#character" class="property">character</a> property of a
single <a href="#fo_character" class="el">fo:character</a> formatting object for which a <a href="#font" class="property">font</a> is to be
selected.
Consider, for example, a case where the available fonts include a
<a href="#font" class="property">font</a> that covers all of Latin, Greek and Cyrillic as well
as three better quality fonts that cover those three separately,
but match each other badly stylistically. An implementation that takes
a larger view for its set of contextual characters may consider the
glyph complement to allow the selection of the better <a href="#font" class="property">font</a> if it
covers the glyph complement, but to use the broader <a href="#font" class="property">font</a> to get
a consistent style if the glyph complement is larger than any one
of the other fonts can cover.
</p></div></dd><dt class="label">character-by-character</dt><dd><p>The set of contextual characters consists of the single <a href="#character" class="property">character</a>
that is the value of the "<a href="#character" class="property">character</a>" property of the <a href="#fo_character" class="el">fo:character</a> for
which a <a href="#font" class="property">font</a> is to be selected.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This selection strategy is the same as the strategy used to select
fonts in CSS.
</p></div></dd></dl><p>
Describes the criteria for selecting fonts and the different strategies
for using these criteria to determine a <b>selected <a href="#font" class="property">font</a></b>.</p></div><div class="div3">
<h4><a name="font-size" id="font-size"/>7.9.4 font-size</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x74">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x74</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;absolute-size&gt; | &lt;relative-size&gt; | &lt;length&gt;
| &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes, the computed value is inherited</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to parent element's <a href="#font" class="property">font</a> <a href="#size" class="property">size</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#propdef-font-size">
"font-size" property
</a></p><p>This property describes the <a href="#size" class="property">size</a> of the <a href="#font" class="property">font</a> when set solid.
The <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> corresponds to the em square,
a concept used in typography.
Note that certain glyphs may bleed outside their em squares.
Values have the following meanings:</p><dl><dt class="label">&lt;absolute-size&gt;</dt><dd><p>An &lt;absolute-size&gt; keyword refers to an entry in a table
of <a href="#font" class="property">font</a> sizes computed and kept by the user agent. Possible values
are:</p><p>[ xx-small | x-small | small | medium | large | x-large | xx-large
]</p><p>On a computer screen a <a href="#scaling" class="property">scaling</a> factor of 1.2 is suggested between
adjacent indexes; if the "medium" <a href="#font" class="property">font</a> is 12pt, the "large" <a href="#font" class="property">font</a>
could be 14.4pt. Different media may need different <a href="#scaling" class="property">scaling</a> factors.
Also, the user agent should take the quality and availability of fonts
into account when computing the table. The table may be different
from one <a href="#font" class="property">font</a> family to another. Note. In CSS1, the suggested <a href="#scaling" class="property">scaling</a>
factor between adjacent indexes was 1.5 which user experience proved
to be too large.</p></dd><dt class="label">&lt;relative-size&gt;</dt><dd><p>A &lt;relative-size&gt; keyword is interpreted relative to
the table of <a href="#font" class="property">font</a> sizes and the <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the parent element.
Possible values are:</p><p>[ larger | smaller ]</p><p>For example, if the parent element has a <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of "medium",
a value of "larger" will make the <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the current element
be "large". If the parent element's <a href="#size" class="property">size</a> is not close to a table
entry, the user agent is free to interpolate between table entries
or round off to the closest one. The user agent may have to extrapolate
table values if the numerical value goes beyond the keywords.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>A length value specifies an absolute <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> (that is
independent of the user agent's <a href="#font" class="property">font</a> table). Negative lengths are
illegal.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>A percentage value specifies an absolute <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> relative
to the parent element's <a href="#font" class="property">font</a> size. Use of percentage values, or
values in "em's", leads to more robust and cascadable stylesheets.</p></dd></dl><p>The actual value of this property may differ from the computed
value due a numerical value on '<a href="#font-size-adjust" class="property">font-size-adjust</a>' and the unavailability
of certain <a href="#font" class="property">font</a> sizes. </p><p>Child elements inherit the computed '<a href="#font-size" class="property">font-size</a>' value (otherwise,
the effect of '<a href="#font-size-adjust" class="property">font-size-adjust</a>' would compound). </p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL incorporates the following text from CSS2 15.5
(<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#algorithm">http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#algorithm"</a>)
as part of the property definition.
</p><p>'<a href="#font-size" class="property">font-size</a>' must be matched within a UA-dependent <a href="#margin" class="property">margin</a> of
tolerance. (Typically, sizes for scalable fonts are rounded to the
nearest whole pixel, while the tolerance for bitmapped fonts could be
as large as 20%.) Further computations, e.g., by 'em' values in other
properties, are based on the computed '<a href="#font-size" class="property">font-size</a>' value.</p></div><div class="div3">
<h4><a name="font-size-adjust" id="font-size-adjust"/>7.9.5 font-size-adjust</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-size-props">
"font-size-adjust" property
</a></p><p>In bicameral scripts, the subjective apparent <a href="#size" class="property">size</a> and legibility
of a <a href="#font" class="property">font</a> are less dependent on their '<a href="#font-size" class="property">font-size</a>' value than on
the value of their 'x-height', or, more usefully, on the ratio of
these two values, called the aspect value
(x-height divided by <a href="#font" class="property">font</a> <a href="#size" class="property">size</a>).
The higher the aspect value, the more likely it is that
a <a href="#font" class="property">font</a> at smaller sizes will be legible. Inversely, faces with a
lower aspect value will become illegible more rapidly below a given threshold
<a href="#size" class="property">size</a> than faces with a higher aspect value. Straightforward <a href="#font" class="property">font</a>
substitution that relies on <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> alone may lead to illegible
characters. </p><p>For example, the popular <a href="#font" class="property">font</a> Verdana has an aspect value of
0.58; when Verdana's <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> 100 units, its x-height is 58 units.
For comparison, Times New Roman has an aspect value of 0.46. Verdana
will therefore tend to remain legible at smaller sizes than Times New
Roman. Conversely, Verdana will often look 'too big' if substituted
for Times New Roman at a chosen size.</p><p>This property allows authors to specify an aspect value for an
element that will preserve the x-height of the first choice <a href="#font" class="property">font</a>
in the substitute font. Values have the following meanings: </p><dl><dt class="label">none</dt><dd><p>Do not preserve the <a href="#font" class="property">font</a>'s x-height.</p></dd><dt class="label">&lt;number&gt;</dt><dd><p>Specifies the aspect value. The number refers to the aspect
value of the first choice font. The <a href="#scaling" class="property">scaling</a> factor for available
fonts is computed according to the following formula:</p><p>y(a/a') = c</p><p>where:</p><p>y="<a href="#font-size" class="property">font-size</a>" of first-choice <a href="#font" class="property">font</a></p><p>a = aspect value of first-choice <a href="#font" class="property">font</a></p><p>a' = aspect value of available <a href="#font" class="property">font</a></p><p>c="<a href="#font-size" class="property">font-size</a>" to apply to available <a href="#font" class="property">font</a></p></dd></dl><p>This property allows authors to specify an aspect value
for an element that will preserve the x-height of the first choice
<a href="#font" class="property">font</a> in the substitute font.</p><p>Font <a href="#size" class="property">size</a> adjustments take place when computing the actual value
of "<a href="#font-size" class="property">font-size</a>". Since inheritance is based on the computed value,
child elements will inherit unadjusted values.</p></div><div class="div3">
<h4><a name="font-stretch" id="font-stretch"/>7.9.6 font-stretch</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | wider | narrower | ultra-condensed
| extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-styling">
"font-stretch" property
</a></p><p>The '<a href="#font-stretch" class="property">font-stretch</a>' property selects a normal, condensed, or extended
face from a <a href="#font" class="property">font</a> family.</p><dl><dt class="label">ultra-condensed</dt><dd><p>ultra-condensed face</p></dd><dt class="label">extra-condensed</dt><dd><p>extra-condensed face</p></dd><dt class="label">condensed</dt><dd><p>condensed face</p></dd><dt class="label">semi-condensed</dt><dd><p>semi-condensed face</p></dd><dt class="label">normal</dt><dd><p>normal face</p></dd><dt class="label">semi-expanded</dt><dd><p>semi-expanded face</p></dd><dt class="label">expanded</dt><dd><p>expanded face</p></dd><dt class="label">extra-expanded</dt><dd><p>extra-expanded face</p></dd><dt class="label">ultra-expanded</dt><dd><p>ultra-expanded face</p></dd><dt class="label">wider</dt><dd><p>The relative keyword "wider" sets the value to the next
expanded value above the inherited value (while not increasing it
above "ultra-expanded").</p></dd><dt class="label">narrower</dt><dd><p>The relative keyword "narrower" sets the value to the next
condensed value below the inherited value (while not decreasing
it below "ultra-condensed").</p></dd></dl></div><div class="div3">
<h4><a name="font-style" id="font-style"/>7.9.7 font-style</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | italic | oblique | backslant | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-styling">
"font-style" property
</a></p><p>The "<a href="#font-style" class="property">font-style</a>" property requests normal (sometimes referred
to as "roman" or "upright"), italic, and oblique faces within a
<a href="#font" class="property">font</a> family. Values have the following meanings:</p><dl><dt class="label">normal</dt><dd><p>Specifies a <a href="#font" class="property">font</a> that is classified as "normal" in the
UA's <a href="#font" class="property">font</a> database.</p></dd><dt class="label">oblique</dt><dd><p>Specifies a <a href="#font" class="property">font</a> that is classified as "oblique" in the
UA's <a href="#font" class="property">font</a> database. Fonts with Oblique, Slanted, or Incline in their
names will typically be labeled "oblique" in the <a href="#font" class="property">font</a> database.
A <a href="#font" class="property">font</a> that is labeled "oblique" in the UA's <a href="#font" class="property">font</a> database may actually
have been generated by electronically slanting a normal font.</p></dd><dt class="label">italic</dt><dd><p>Specifies a <a href="#font" class="property">font</a> that is classified as "italic" in the
UA's <a href="#font" class="property">font</a> database, or, if that is not available, one labeled 'oblique'.
Fonts with Italic, Cursive, or Kursiv in their names will typically
be labeled "italic".</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">backslant</dt><dd><p>Specifies a <a href="#font" class="property">font</a> that is classified as "backslant"
in the UA's <a href="#font" class="property">font</a> database.</p></dd></dl><p>XSL incorporates the following text from CSS2 15.5
(<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#algorithm">http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#algorithm</a>)
as part of the property definition, except that
for XSL the information is obtained from the <a href="#font" class="property">font</a> tables of the
available fonts.
</p><p>'italic' will be satisfied if there is
either a face in the UA's <a href="#font" class="property">font</a> database labeled with the CSS keyword
'italic' (preferred) or 'oblique'. Otherwise the values must be
matched exactly or <a href="#font-style" class="property">font-style</a> will fail.</p></div><div class="div3">
<h4><a name="font-variant" id="font-variant"/>7.9.8 font-variant</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | small-caps | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-styling">
"font-variant" property
</a></p><p>In a small-caps <a href="#font" class="property">font</a>, the glyphs for lowercase letters look similar
to the uppercase ones, but in a smaller <a href="#size" class="property">size</a> and with slightly different
proportions. The "<a href="#font-variant" class="property">font-variant</a>" property requests such a <a href="#font" class="property">font</a> for
bicameral (having two cases, as with Roman <a href="#script" class="property">script</a>). This property has
no visible effect for scripts that are unicameral (having only one
case, as with most of the world's writing systems). Values have
the following meanings:</p><dl><dt class="label">normal</dt><dd><p>Specifies a <a href="#font" class="property">font</a> that is not labeled as a small-caps font.</p></dd><dt class="label">small-caps</dt><dd><p>Specifies a <a href="#font" class="property">font</a> that is labeled as a small-caps font.
If a genuine small-caps <a href="#font" class="property">font</a> is not available, user agents should
simulate a small-caps <a href="#font" class="property">font</a>, for example by taking a normal <a href="#font" class="property">font</a>
and replacing the lowercase letters by scaled uppercase characters. As
a last resort, unscaled uppercase letter glyphs in a normal <a href="#font" class="property">font</a>
may replace glyphs in a small-caps <a href="#font" class="property">font</a> so that the text appears
in all uppercase letters.</p></dd></dl><p>Insofar as this property causes text to be transformed
to uppercase, the same considerations as for "<a href="#text-transform" class="property">text-transform</a>" apply.</p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL incorporates the following text from CSS2 15.5
(<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#algorithm">http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#algorithm</a>)
as part of the property definition.
</p><p>'normal' matches a <a href="#font" class="property">font</a> not labeled as
'small-caps'; 'small-caps' matches (1) a <a href="#font" class="property">font</a> labeled as 'small-caps',
(2) a <a href="#font" class="property">font</a> in which the small caps are synthesized, or (3) a <a href="#font" class="property">font</a>
where all lowercase letters are replaced by uppercase letters. A
small-caps <a href="#font" class="property">font</a> may be synthesized by electronically <a href="#scaling" class="property">scaling</a> uppercase
letters from a normal font.</p></div><div class="div3">
<h4><a name="font-weight" id="font-weight"/>7.9.9 font-weight</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | bold | bolder | lighter | 100 | 200
| 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#font-styling">
"font-weight" property
</a></p><p>The "<a href="#font-weight" class="property">font-weight</a>" property specifies the weight of the font.</p><dl><dt class="label">normal</dt><dd><p>Same as "400".</p></dd><dt class="label">bold</dt><dd><p>Same as "700".</p></dd><dt class="label">bolder</dt><dd><p>Specifies the next weight that is assigned to a <a href="#font" class="property">font</a> that
is darker than the inherited one. If there is no such weight, it
simply results in the next darker numerical value (and the <a href="#font" class="property">font</a>
remains unchanged), unless the inherited value was "900", in which case
the resulting weight is also "900".</p></dd><dt class="label">lighter</dt><dd><p>Specifies the next weight that is assigned to a <a href="#font" class="property">font</a> that
is lighter than the inherited one. If there is no such weight, it
simply results in the next lighter numerical value (and the <a href="#font" class="property">font</a>
remains unchanged), unless the inherited value was "100", in which case
the resulting weight is also "100".</p></dd><dt class="label">&lt;integer&gt;</dt><dd><p>These values form an ordered sequence, where each number
indicates a weight that is at least as dark as its predecessor.</p></dd></dl><p>Child elements inherit the computed value of the weight.</p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL incorporates the following text from CSS2 15.5.1
(<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#q46">http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#q46</a>)
as part of the property definition.
</p><p>The association of other weights within a family to the numerical
weight values is intended only to preserve the ordering of weights
within that family. User agents must map names to values in a way that
preserves visual order; a face mapped to a value must not be lighter
than faces mapped to lower values. There is no guarantee on how a user
agent will map fonts within a family to weight values. However, the
following heuristics tell how the assignment is done in typical cases:
If the <a href="#font" class="property">font</a> family already uses a numerical scale with nine values (as
e.g., OpenType does), the <a href="#font" class="property">font</a> weights should be mapped directly.
</p><p>If there is both a face labeled Medium and one labeled Book, Regular,
Roman or Normal, then the Medium is normally assigned to the '500'.
</p><p>The <a href="#font" class="property">font</a> labeled "Bold" will often correspond to the weight value '700'.
</p><p>If there are fewer then 9 weights in the family, the default algorithm
for filling the "holes" is as follows. If '500' is unassigned, it will
be assigned the same <a href="#font" class="property">font</a> as '400'. If any of the values '600', '700',
'800', or '900' remains unassigned, they are assigned to the same face
as the next darker assigned keyword, if any, or the next lighter one
otherwise. If any of '300', '200', or '100' remains unassigned, it is
assigned to the next lighter assigned keyword, if any, or the next
darker otherwise.
</p><p>There is no guarantee that there will be a darker face for each of the
'<a href="#font-weight" class="property">font-weight</a>' values; for example, some fonts may have only a normal
and a bold face, others may have eight different face weights.
</p></div></div><div class="div2">
<h3><a name="common-hyphenation-properties" id="common-hyphenation-properties"/>7.10 Common Hyphenation Properties</h3><div class="div3">
<h4><a name="country" id="country"/>7.10.1 country</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | &lt;<a href="#country" class="property">country</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>Indicates the <a href="#country" class="property">country</a> is unknown or
is not significant to the proper formatting of this object.</p></dd><dt class="label">&lt;country&gt;</dt><dd><p>A country-specifier in conformance with
ISO 3166
(<a href="#ISO3166-1">[ISO3166-1]</a>,
<a href="#ISO3166-2">[ISO3166-2]</a>, and
<a href="#ISO3166-3">[ISO3166-3]</a>).</p></dd></dl><p>Specifies the <a href="#country" class="property">country</a> to be used by
the formatter in language-/locale-coupled services, such as
line-justification strategy, line-breaking, and hyphenation.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This may affect line composition in
a system-dependent way.</p></div></div><div class="div3">
<h4><a name="hyphenate" id="hyphenate"/>7.10.2 hyphenate</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">false | true | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">false</dt><dd><p>Hyphenation may not be used in the line-breaking algorithm
between characters with this value.</p></dd><dt class="label">true</dt><dd><p>Hyphenation may be used in the line-breaking algorithm between
characters with this value.</p></dd></dl><p>Specifies whether hyphenation is allowed during line-breaking
when the formatter is formatting this formatting object.
It is implementation defined whether hyphenation may be used between
a <a href="#character" class="property">character</a> for which the value is "true"
and one for which the value is "false".</p></div><div class="div3">
<h4><a name="hyphenation-character" id="hyphenation-character"/>7.10.3 hyphenation-character</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">The Unicode hyphen <a href="#character" class="property">character</a> U+2010</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;character&gt;</dt><dd><p>Specifies the Unicode <a href="#character" class="property">character</a> to be presented
when a hyphenation break occurs. </p></dd></dl><p>The styling properties of this
<a href="#character" class="property">character</a> are those inherited from its containing flow object.</p></div><div class="div3">
<h4><a name="hyphenation-push-character-count" id="hyphenation-push-character-count"/>7.10.4 hyphenation-push-character-count</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">2</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>The <a href="#hyphenation-push-character-count" class="property">hyphenation-push-character-count</a>
specifies the minimum number of characters
in a hyphenated word after the hyphenation character. This is the minimum
number of characters in the word pushed to the next line after the
line ending with the hyphenation character. </p></div><div class="div3">
<h4><a name="hyphenation-remain-character-count" id="hyphenation-remain-character-count"/>7.10.5 hyphenation-remain-character-count</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">2</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>The <a href="#hyphenation-remain-character-count" class="property">hyphenation-remain-character-count</a>
specifies the minimum number of characters
in a hyphenated word before the hyphenation character. This is the minimum
number of characters in the word <a href="#left" class="property">left</a> on the line ending with the
hyphenation character. </p></div><div class="div3">
<h4><a name="language" id="language"/>7.10.6 language</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | &lt;language&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>Indicates the language is unknown
or is not significant to the proper formatting of this object.</p></dd><dt class="label">&lt;language&gt;</dt><dd><p>A 3-letter code conforming to a
<a href="#ISO639-2">[ISO639-2]</a> terminology or bibliographic code or a
2-letter code conforming to a <a href="#ISO639">[ISO639]</a> 2-letter code.</p></dd></dl><p>Specifies the language to be used
by the formatter in language-/locale-coupled services, such as
line-justification strategy, line-breaking, and hyphenation.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This may affect line composition in
a system-dependent way.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>ISO 639 2-letter and ISO 639-2 terminology 3-letter codes are also
used in the language component of <a href="#RFC3066">[RFC3066]</a>, but
user-defined and IANA registered language codes that are allowed in
RFC 3066 are not allowed as the value of this property.</p></div></div><div class="div3">
<h4><a name="script" id="script"/>7.10.7 script</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | auto | &lt;<a href="#script" class="property">script</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>Indicates that the <a href="#script" class="property">script</a> is determined
based on testing a <a href="#character" class="property">character</a> in the document against
<a href="#script" class="property">script</a> identifiers assigned to Unicode
code point ranges.
</p><p>For <a href="#fo_character" class="el">fo:character</a> the <a href="#character" class="property">character</a> tested is given by the
"<a href="#character" class="property">character</a>" property.
For other formatting objects the <a href="#character" class="property">character</a> tested is
the first <a href="#character" class="property">character</a> descendant, as determined by the pre-order
traversal of the refined formatting object tree, which has an
unambiguous <a href="#script" class="property">script</a> identifier.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This provides
the automatic differentiation between Kanji, Katakana,
Hiragana, and Romanji
used in JIS-4051 and similar services in some other countries/languages.</p></div></dd><dt class="label">none</dt><dd><p>Indicates the <a href="#script" class="property">script</a> is unknown or
is not significant to the proper formatting of this object.</p></dd><dt class="label">&lt;script&gt;</dt><dd><p>A <a href="#script" class="property">script</a> specifier in conformance with <a href="#ISO15924">[ISO15924]</a>.</p></dd></dl><p>Specifies the <a href="#script" class="property">script</a> to be used by
the formatter in language-/locale-coupled services, such as
line-justification strategy, line-breaking, and hyphenation.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This may affect line composition
in a system-dependent way.</p></div></div><div class="div3">
<h4><a name="hyphenation-push-syllable-count" id="hyphenation-push-syllable-count"/>7.10.8 hyphenation-push-syllable-count
</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;number&gt;</td></tr><tr><th>Initial:</th><td>1</td></tr><tr><th>Applies to:</th><td>all elements</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The
"hyphenation-push-syllable-count" property specifies the
minimum number of syllables permitted in a hyphenated word after the
hyphenation character. Formatters must not insert hyphens during
line breaking in places that would result in word fragments violating
this proerty.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer
value is provided, the value will be rounded to the nearest
integer value greater than or equal to 1.</p></dd></dl></div><div class="div3">
<h4><a name="hyphenation-remain-syllable-count" id="hyphenation-remain-syllable-count"/>7.10.9 hyphenation-remain-syllable-count</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;number&gt;</td></tr><tr><th>Initial:</th><td>1</td></tr><tr><th>Applies to:</th><td>all elements</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The hyphenation-remain-syllable-count specifies
the minimum number of syllables in a hyphenated word before the
hyphenation character. This is the minimum number of syllables in
the word left on the line ending with the hyphenation character.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer
value is provided, the value will be rounded to the nearest
integer value greater than or equal to 1.</p></dd></dl></div><div class="div3">
<h4><a name="syllable-widows" id="syllable-widows"/>7.10.10 syllable-widows</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;number&gt;</td></tr><tr><th>Initial:</th><td>1</td></tr><tr><th>Applies to:</th><td>all elements</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The "syllable-widows" property specifies the
minimum number of syllables in the last line-area of a
block-area.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p> A positive integer. If a non-positive or non-integer
value is provided, the value will be rounded to the nearest
integer value greater than or equal to 1.</p><p>The syllable-widows specifies the minimum number of syllables
in the last line-area of the block-area for which it is in
effect.</p></dd></dl></div><div class="div3">
<h4><a name="hyphenation-exceptions" id="hyphenation-exceptions"/>7.10.11 hyphenation-exceptions</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;uri-specification&gt; | none | inherit</td></tr><tr><th>Initial:</th><td>none</td></tr><tr><th>Applies to:</th><td>all elements</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">This property specifies a set of
hyphenation-exception words to be used by the hyphenation
algorithm.</p><p>Values for this property are as follows:</p><dl><dt class="label">none</dt><dd><p>No exceptions are used.</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>A URI specification giving a reference to the resource
containing the exception words.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p class="issues20">We have not defined a format for this resource.</p></div></div><div class="div3">
<h4><a name="word-widows" id="word-widows"/>7.10.12 word-widows</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;number&gt;</td></tr><tr><th>Initial:</th><td>0</td></tr><tr><th>Applies to:</th><td>all elements</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The "word-widows" property specifies the minimum
number of words or partial words in the last line-area of a
block-area.</p><p>When a word is hyphenated, the remaining portion, a partial word,
brought down onto the next line, is to be considered to be a whole
word for the purpose of counting words.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer
value is provided, the value will be rounded to the nearest
integer value greater than or equal to 1.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The permitted minimum deficit is a percentage of the containing block width.</p></dd></dl><p>The "word-widows" property specifies the minimum
number of words in the last line-area of the block-area for which it
is in effect.</p></div><div class="div3">
<h4><a name="min-length-of-last-line" id="min-length-of-last-line"/>7.10.13 min-length-of-last-line</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;length&gt;</td></tr><tr><th>Initial:</th><td>1</td></tr><tr><th>Applies to:</th><td>all elements</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>refer to width of containing block</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The <a href="#min-length-of-last-line" class="property">min-length-of-last-line</a>
property specifies the minimum inline-dimension of the the last
line-area in a block-area.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed minimum line length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The minimum line length is a percentage of the
containing block width.</p></dd></dl><p>The value must not be negative</p></div></div><div class="div2">
<h3><a name="common-margin-properties-block" id="common-margin-properties-block"/>7.11 Common Margin Properties-Block</h3><div class="div3">
<h4><a name="end-indent" id="end-indent"/>7.11.1 end-indent</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of containing reference-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#end-indent" class="property">end-indent</a>" is specified as a length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#end-indent" class="property">end-indent</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the containing reference-area.</p></dd></dl><p>For each block-area generated by this formatting object, specifies the
distance from the end-edge of the content-rectangle of
that block-area
to the end-edge of the content-rectangle of the containing
reference-area.</p><p>This property may have a negative value, which indicates an outdent.</p></div><div class="div3">
<h4><a name="margin-bottom" id="margin-bottom"/>7.11.2 margin-bottom</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;margin-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-margin-bottom">
"margin-bottom" property
</a></p><p>Margin-width may be one of the
following:</p><dl><dt class="label">auto</dt><dd><p>See the CSS2 section on computing
widths and margins for behavior.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The percentage is calculated with respect to the <a href="#width" class="property">width</a>
of the generated box's containing block. This is true for '<a href="#margin-top" class="property">margin-top</a>'
and '<a href="#margin-bottom" class="property">margin-bottom</a>', except in the page context, where percentages
refer to page box height.</p></dd></dl><p>Negative values for <a href="#margin" class="property">margin</a> properties
are allowed, but there may be implementation-specific limits.</p><p>Sets the <a href="#bottom" class="property">bottom</a> <a href="#margin" class="property">margin</a> of a box.</p><p><em>XSL modifications to the CSS definition:</em></p><ul><li><p>Margin-bottom is provided
for compatibility with CSS.</p></li><li><p>Details on the mapping of CSS "<a href="#margin" class="property">margin</a>" properties for XSL
are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></li></ul></div><div class="div3">
<h4><a name="margin-left" id="margin-left"/>7.11.3 margin-left</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;margin-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-margin-left">
"margin-left" property
</a></p><p>Margin-width may be one of the
following:</p><dl><dt class="label">auto</dt><dd><p>See the CSS2 section on computing
widths and margins for behavior.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The percentage is calculated with respect to the <a href="#width" class="property">width</a>
of the generated box's containing block.</p></dd></dl><p>Negative values for <a href="#margin" class="property">margin</a> properties
are allowed, but there may be implementation-specific limits.</p><p>Sets the <a href="#left" class="property">left</a> <a href="#margin" class="property">margin</a> of a box.</p><p><em>XSL modifications to the CSS definition:</em></p><ul><li><p>Margin-left is provided
for compatibility with CSS.</p></li><li><p>Details on the mapping of CSS "<a href="#margin" class="property">margin</a>" properties for XSL
are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></li></ul></div><div class="div3">
<h4><a name="margin-right" id="margin-right"/>7.11.4 margin-right</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;margin-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-margin-right">
"margin-right" property
</a></p><p>Margin-width may be one of the
following:</p><dl><dt class="label">auto</dt><dd><p>See the CSS2 section on computing
widths and margins for behavior.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The percentage is calculated with respect to the <a href="#width" class="property">width</a>
of the generated box's containing block.</p></dd></dl><p>Negative values for <a href="#margin" class="property">margin</a> properties
are allowed, but there may be implementation-specific limits.</p><p>Sets the <a href="#right" class="property">right</a> <a href="#margin" class="property">margin</a> of a box.</p><p><em>XSL modifications to the CSS definition:</em></p><ul><li><p>Margin-right is provided
for compatibility with CSS.</p></li><li><p>Details on the mapping of CSS "<a href="#margin" class="property">margin</a>" properties for XSL
are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></li></ul></div><div class="div3">
<h4><a name="margin-top" id="margin-top"/>7.11.5 margin-top</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;margin-width&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-margin-top">
"margin-top" property
</a></p><p>Margin-width may be one of the following:</p><dl><dt class="label">auto</dt><dd><p>See the CSS2 section on computing
widths and margins for behavior.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The percentage is calculated with respect to the <a href="#width" class="property">width</a>
of the generated box's containing block. This is true for '<a href="#margin-top" class="property">margin-top</a>'
and '<a href="#margin-bottom" class="property">margin-bottom</a>', except in the page context, where percentages
refer to page box height.</p></dd></dl><p>Negative values for <a href="#margin" class="property">margin</a> properties
are allowed, but there may be implementation-specific limits.</p><p>Sets the top <a href="#margin" class="property">margin</a> of a box.</p><p><em>XSL modifications to the CSS definition:</em></p><ul><li><p>Margin-top is provided
for compatibility with CSS.</p></li><li><p>Details on the mapping of CSS "<a href="#margin" class="property">margin</a>" properties for XSL
are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></li></ul></div><div class="div3">
<h4><a name="space-after" id="space-after"/>7.11.6 space-after</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;space&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A (Differs from <a href="#margin-bottom" class="property">margin-bottom</a> in CSS)</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>Specifies the minimum, optimum, and maximum values
for the space after any areas generated by this formatting object
and the conditionality and <a href="#precedence" class="property">precedence</a> of this space.
</p></dd></dl><p>Specifies the value of the space-specifier for the space after
the areas generated by this formatting object.
A definition of space-specifiers, and
the interaction between space-specifiers occurring in sequence are
given in <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A common example of such a sequence is the "<a href="#space-after" class="property">space-after</a>" on
one area and the "<a href="#space-before" class="property">space-before</a>" of its next sibling.</p></div></div><div class="div3">
<h4><a name="space-before" id="space-before"/>7.11.7 space-before</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;space&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A (Differs from <a href="#margin-top" class="property">margin-top</a> in CSS)</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>Specifies the minimum, optimum, and maximum values
for the space before any areas generated by this formatting object
and the conditionality and <a href="#precedence" class="property">precedence</a> of this space.
</p></dd></dl><p>Specifies the value of the space-specifier for the space before
the areas generated by this formatting object.
A definition of space-specifiers, and
the interaction between space-specifiers occurring in sequence are
given in <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A common example of such a sequence is the "<a href="#space-after" class="property">space-after</a>" on
one area and the "<a href="#space-before" class="property">space-before</a>" of its next sibling.</p></div></div><div class="div3">
<h4><a name="start-indent" id="start-indent"/>7.11.8 start-indent</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of containing reference-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#start-indent" class="property">start-indent</a>" is specified as a length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#start-indent" class="property">start-indent</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the containing reference-area.</p></dd></dl><p>For each block-area generated by this formatting object, specifies the
distance from the start-edge of the content-rectangle of the containing
reference-area to the start-edge of the content-rectangle of that
block-area.</p><p>This property may have a negative value, which indicates an outdent.</p></div></div><div class="div2">
<h3><a name="common-margin-properties-inline" id="common-margin-properties-inline"/>7.12 Common Margin Properties-Inline</h3><div class="div3">
<h4><a name="d2e33324" id="d2e33324"/>7.12.1 margin-bottom</h4><p>See definition in (<a href="#margin-bottom"><b>7.11.2 margin-bottom</b></a>).</p></div><div class="div3">
<h4><a name="d2e33332" id="d2e33332"/>7.12.2 margin-left</h4><p>See definition in (<a href="#margin-left"><b>7.11.3 margin-left</b></a>).</p></div><div class="div3">
<h4><a name="d2e33340" id="d2e33340"/>7.12.3 margin-right</h4><p>See definition in (<a href="#margin-right"><b>7.11.4 margin-right</b></a>).</p></div><div class="div3">
<h4><a name="d2e33348" id="d2e33348"/>7.12.4 margin-top</h4><p>See definition in (<a href="#margin-top"><b>7.11.5 margin-top</b></a>).</p></div><div class="div3">
<h4><a name="space-end" id="space-end"/>7.12.5 space-end</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;space&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>The "<a href="#space-end" class="property">space-end</a>" is specified as a space.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#space-end" class="property">space-end</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the closest ancestor block-area.</p></dd></dl><p>Specifies the minimum, optimum, and maximum values
for the space after any areas generated by this formatting object
and the conditionality and <a href="#precedence" class="property">precedence</a> of this space.
</p><p>Specifies the value of the space-specifier for the space after
the areas generated by this formatting object.
A definition of space-specifiers, and
the interaction between space-specifiers occurring in sequence are
given in <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A common example of such a sequence is the "<a href="#space-end" class="property">space-end</a>" on
one area and the "<a href="#space-start" class="property">space-start</a>" of its next sibling.</p></div></div><div class="div3">
<h4><a name="space-start" id="space-start"/>7.12.6 space-start</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;space&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>The "<a href="#space-start" class="property">space-start</a>" is specified as a space.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#space-start" class="property">space-start</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the closest ancestor block-area.</p></dd></dl><p>Specifies the minimum, optimum, and maximum values
for the space before any areas generated by this formatting object
and the conditionality and <a href="#precedence" class="property">precedence</a> of this space.
</p><p>Specifies the value of the space-specifier for the space before
the areas generated by this formatting object.
A definition of space-specifiers, and
the interaction between space-specifiers occurring in sequence are
given in <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A common example of such a sequence is the "<a href="#space-end" class="property">space-end</a>" on
one area and the "<a href="#space-start" class="property">space-start</a>" of its next sibling.</p></div></div></div><div class="div2">
<h3><a name="common-relative-position-properties" id="common-relative-position-properties"/>7.13 Common Relative Position Properties</h3><div class="div3">
<h4><a name="d2e33531" id="d2e33531"/>7.13.1 bottom</h4><p>See definition in (<a href="#bottom"><b>7.6.2 bottom</b></a>).</p></div><div class="div3">
<h4><a name="d2e33539" id="d2e33539"/>7.13.2 left</h4><p>See definition in (<a href="#left"><b>7.6.3 left</b></a>).</p></div><div class="div3">
<h4><a name="d2e33547" id="d2e33547"/>7.13.3 right</h4><p>See definition in (<a href="#right"><b>7.6.4 right</b></a>).</p></div><div class="div3">
<h4><a name="relative-position" id="relative-position"/>7.13.4 relative-position</h4><p>A Property Derived from a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">static | relative | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">static</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">static</dt><dd><p>The area is normally stacked.</p></dd><dt class="label">relative</dt><dd><p>The area's <a href="#position" class="property">position</a> is determined as if it was normally
stacked. Only during rendering is the area
rendered offset relative to this position.
The fact that one area is relatively positioned does not
influence the <a href="#position" class="property">position</a> on any other area.</p><p>For areas that break over a page boundary,
only the portion that would have been on a given page originally
is included in the repositioned area on that page. Any portion
of the repositioned area that was originally on the current page, but
falls off the current page due to repositioning is "off" (typically
clipped), thus does not fall onto any other page.</p></dd></dl></div><div class="div3">
<h4><a name="d2e33618" id="d2e33618"/>7.13.5 top</h4><p>See definition in (<a href="#top"><b>7.6.5 top</b></a>).</p></div></div><div class="div2">
<h3><a name="common-wrap-properties" id="common-wrap-properties"/>7.14 Common Wrap Properties</h3><p>The common wrap properties are used to express the runaround
interaction between regions. Regions interact based on their
z-index values. Regions with higher z-index are considered
overlapping regions with lower z-index.</p><div class="div3">
<h4><a name="wrap" id="wrap"/>7.14.1 wrap</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>skip | path | none</td></tr><tr><th>Initial:</th><td>skip</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Applies to:</th><td>fo:region</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">Use the "wrap" property to specify
flow run-around.</p><p>Values have the following meanings:</p><dl><dt class="label">skip</dt><dd><p>This is the default behavior. The content in the flow will
skip the entire intrusion area continuing from the first
available un-intruded allocation area</p><div style="margin-left: 3em;"><div><a name="fig-wrap-skip"/></div>
<img src="figures/wrap-skip.png" alt="With wrap=skip the embedded shape acts as if it took up the whole available width, so that there is no room for text to either side of it." title="wrap skip"/>
<p><b>Figure 42. </b>With wrap=skip the embedded shape acts
as if it took up the whole available width, so
that there is no room for text to either side of
it.</p>
</div></dd><dt class="label">path</dt><dd><p>The runaround contour is determined following the
wrap-path property strategy</p><div style="margin-left: 3em;"><div><a name="fig-wrap-path"/></div>
<img src="figures/wrap-path.png" alt="With wrap set to path, the shape appears to cut a hole in the containing object, so that the text in that object flows around the shape, as close t otouching the wrap-path as possible." title="wrap path"/>
<p><b>Figure 43. </b>With wrap set to path, the shape appears to cut a
hole in the containing object, so that the text in that
object flows around the shape, as close t otouching the
wrap-path as possible.</p>
</div></dd><dt class="label">none</dt><dd><p>
No runaround is applied. If regions are overlapping their content will overlap.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-none"/></div>
<img src="figures/wrap-none.png" alt="With wrap=none the background text continues as if the embedded shape were not present, rather in the manner of an absolutely-positioned block-container" title="wrap none"/>
<p><b>Figure 44. </b>With wrap=none the background text continues as
if the embedded shape were not present, rather in the manner
of an absolutely-positioned block-container</p>
</div></dd></dl></div><div class="div3">
<h4><a name="wrap-path" id="wrap-path"/>7.14.2 wrap-path</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>shape | bounding-box | auto</td></tr><tr><th>Initial:</th><td>shape</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Applies to:</th><td>fo:region</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">When two or more shaped areas interact, the
"wrap-path" property determines
how text and other inline objects in one area
flow around the shape of the other area.</p><p>Values have the following meanings:</p><dl><dt class="label">shape</dt><dd><p>This is the default behavior. The path is custom and it
is indicated using the shape-path-specifier within the
shape-assignment for the region. If there is no shape-map
associated with the intruded region the behaviour is
defaulted to bounding-box.</p></dd><dt class="label">bounding-box</dt><dd><p>The path is determined by the bounding-box of the overlapping region</p></dd><dt class="label">auto</dt><dd><p>The path is inferred as follows:</p><p>clip-path embedded in the content of the intruding region.</p><p>path detection through image color threshold or alpha-channel (transparency) in the
content in the intruding region.</p><p>If neither of these are available, or the implementation does not support them,
the path is defaulted to the bounding-box.</p></dd></dl></div><div class="div3">
<h4><a name="wrap-side" id="wrap-side"/>7.14.3 wrap-side</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>all | start | end | inside | outside | largest | smallest</td></tr><tr><th>Initial:</th><td>shape</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Applies to:</th><td>fo:region</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The "wrap-side" property indicates what strategy should be applied for the runaround.</p><p>Values have the following meanings:</p><dl><dt class="label">all</dt><dd><p>This is the default behavior. Runaround is performed,
if possible, on both sides of the intruding area.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-both"/></div>
<img src="figures/wrap-side-both.png" alt="With wrap-side=both, text flows on both side of an intrusion." title="wrap-side=both"/>
<p><b>Figure 45. </b>With wrap-side=both, text flows on both side of an intrusion.</p>
</div></dd><dt class="label">start</dt><dd><p>The run-around is performed only in the start side of the intruding area.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-start"/></div>
<img src="figures/wrap-side-start.png" alt="With wrap-side=start, text is rendered between the start edge of the containing area and the runaround, but not on the other side of the runaround." title="wrap-side=start"/>
<p><b>Figure 46. </b>With wrap-side=start, text is rendered between the start edge of the containing area and the runaround, but not on the other side of the runaround.</p>
</div></dd><dt class="label">end</dt><dd><p>The runaround is performed only in the end side of the intruding area.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-end"/></div>
<img src="figures/wrap-side-end.png" alt="With wrap-side=end, text is rendered between the runaround and the end edge of the containing area, but not on the start-edge side side of the runaround." title="wrap-side=end"/>
<p><b>Figure 47. </b>With wrap-side=end, text is rendered between the
runaround and the end edge of the containing area, but
not on the start-edge side side of the
runaround.</p>
</div></dd><dt class="label">inside</dt><dd><p>The runaround is performed only in the inside
of the intruded area. The inside is the side nearer to
the spread "spine". The spread spine is
considered the contact line between the two pages
forming the spread. If the region is not part of a
spread the inside value is interpreted as nearest to
the binding edge, as for
<a href="#text-align" class="property">text-align</a>.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-inside"/></div>
<img src="figures/wrap-side-inner.png" alt="With wrap side=inside, text can flow between the edge of the containing area that is nearest to the binding and the runaround, but not the other side." title="wrap-side=inside"/>
<p><b>Figure 48. </b>With wrap side=inside, text can flow
between the edge of the containing area that is
nearest to the binding and the runaround, but not
the other side.</p>
</div></dd><dt class="label">outside</dt><dd><p>The runaround is performed only in the outside
of the intruded area. The outside is determined as
elsewhere, e.g. <a href="#text-align" class="property">text-align</a>.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-outside"/></div>
<img src="figures/wrap-side-outer.png" alt="With wrap side=outside, text can flow between the runaround shape and the edge of the containing area that is furthest away from the binding, but not the other side." title="wrap-side=outside"/>
<p><b>Figure 49. </b>With wrap side=outside, text can flow
between the runaround shape and the edge of the
containing area that is furthest away from the
binding, but not the other side.</p>
</div></dd><dt class="label">largest</dt><dd><p>The runaround is performed only in the largest
area available as result of the intrusion.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-largest"/></div>
<img src="figures/wrap-side-largest.png" alt="With wrap-side=largest the text can only flow into the largest available area." title="wrap-side=largest"/>
<p><b>Figure 50. </b>With wrap-side=largest the text can
only flow into the largest available
area.</p>
</div></dd><dt class="label">smallest</dt><dd><p>The runaround is performed only in the
smallest area available as result of the
intrusion.</p><div style="margin-left: 3em;"><div><a name="fig-wrap-side-smallest"/></div>
<img src="figures/wrap-side-smallest.png" alt="With wrap-side=smallest the text can only flow into the smaller of the two gaps on either side of the runaround." title="wrap-side=smallest"/>
<p><b>Figure 51. </b>With wrap-side=smallest the text can
only flow into the smaller of the two gaps on
either side of the runaround.</p>
</div></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>What about V-shaped or W-shaped
intrusions?</p></div></div></div><div class="div2">
<h3><a name="area-alignment" id="area-alignment"/>7.15 Area Alignment Properties</h3><p>The area alignment properties control
the alignment of child areas with respect to their parent areas. The
parent area is given a frame of reference through its
scaled-baseline-table.
A <b>scaled-baseline-table</b> is a compound
value with three components: a baseline-identifier for the
<a href="#dominant-baseline" class="property">dominant-baseline</a>,
a derived baseline-table with positions for the baselines
expressed in design space coordinates, and a baseline-table <a href="#font-size" class="property">font-size</a>
that is used to scale the positions of the baselines in that
baseline table.
In a scaled-baseline-table, the positions of the baselines can be
adjusted by multiplying the design-space coordinate values by
the baseline-table font-size.
</p><p>
The positions of these baselines are illustrated in the following figure:
</p><div style="margin-left: 3em;">
<img src="figures/Baselines-rev.gif" alt="Row of glyphs from different scripts shown with a set of baselines described in the text in the text." title="Example of alignment of different scripts"/>
<p><b>Figure 52. </b>
This figure shows samples of Gurmukhi (a hanging Indic <a href="#script" class="property">script</a>), Latin
and ideographic scripts together with most of the baselines defined
below. The thin line around the ideographic glyphs symbolizes the em
box in which these glyphs are centered. In this figure, the <a href="#position" class="property">position</a>
of the "text-before-edge" and "text-after-edge" baselines is computed
assuming that the "alphabetic" baseline is the dominant-baseline. The
"central" baseline has been omitted from the figure, but it lies
halfway between the "text-before-edge" and "text-after-edge"
baselines, just about where the "math" baseline is shown.
</p>
</div><p>The baseline-identifiers below are used in this specification.
Some of these are determined by baseline-tables contained in a <a href="#font" class="property">font</a> as
described in <a href="#font-model"><b>7.9.1 Fonts and Font Data</b></a>. Others are
computed from other <a href="#font" class="property">font</a> characteristics as described below.
Whether determined by the <a href="#font" class="property">font</a> or computed, a
derived baseline-table is constructed with positions for each of the
baselines below.
</p><dl><dt class="label">
alphabetic
</dt><dd><p>This identifies the baseline used by most alphabetic and syllabic
scripts. These include, but are not limited to, many Western, Southern
Indic, Southeast Asian (non-ideographic) scripts.
</p></dd><dt class="label">
ideographic
</dt><dd><p>This identifies the baseline used by ideographic scripts. For
historical reasons, this baseline is at the <a href="#bottom" class="property">bottom</a> of the ideographic
em box and not in the center of the ideographic em box. See the
"central" baseline. The ideographic scripts include Chinese, Japanese,
Korean, and Vietnamese Chu Nom.
</p></dd><dt class="label">
hanging
</dt><dd><p>This identifies the baseline used by certain Indic scripts. These
scripts include Devanagari, Gurmukhi and Bengali.
</p></dd><dt class="label">
mathematical
</dt><dd><p>This identifies the baseline used by mathematical symbols.
</p></dd><dt class="label">
central
</dt><dd><p>This identifies a computed baseline that is at the center of the em
box. This baseline lies halfway between the text-before-edge and
text-after-edge baselines.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
For ideographic fonts, this baseline is
often used to align the glyphs; it is an alternative to the
ideographic baseline.
</p></div></dd><dt class="label">
middle
</dt><dd><p>
This identifies a baseline that is offset from the alphabetic baseline
in the <span class="trait">shift-direction</span> by 1/2 the value of the x-height
<a href="#font" class="property">font</a> characteristic. The <a href="#position" class="property">position</a> of this baseline may be obtained
from the <a href="#font" class="property">font</a> data or, for fonts that have a <a href="#font" class="property">font</a> characteristic for
"x-height", it may be computed using 1/2 the "x-height". Lacking
either of these pieces of information, the <a href="#position" class="property">position</a> of this baseline
may be approximated by the "central" baseline.
</p></dd><dt class="label">
text-before-edge
</dt><dd><p>
This identifies the before-edge of the em box. The <a href="#position" class="property">position</a> of this
baseline may be specified in the baseline-table or it may be
calculated.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
The <a href="#position" class="property">position</a> of this baseline is normally around or at the
top of the ascenders, but it may not encompass all accents that can
appear above a glyph. For these fonts the value of the "ascent" <a href="#font" class="property">font</a>
characteristic is used. For ideographic fonts, the <a href="#position" class="property">position</a> of this
baseline is normally 1 em in the <span class="trait">shift-direction</span> from
the "ideographic" baseline. However, some ideographic fonts have a
reduced <a href="#width" class="property">width</a> in the inline-progression-direction to allow tighter
setting. When such a <a href="#font" class="property">font</a>, designed only for vertical writing-modes,
is used in a horizontal <a href="#writing-mode" class="property">writing-mode</a>, the "text-before-edge" baseline
may be less than 1 em from the text-after-edge.
</p></div></dd><dt class="label">
text-after-edge
</dt><dd><p>
This identifies the after-edge of the em box. The <a href="#position" class="property">position</a> of this
baseline may be specified in the baseline-table or it may be
calculated.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
For fonts with descenders, the <a href="#position" class="property">position</a> of this baseline is normally
around or at the <a href="#bottom" class="property">bottom</a> of the descenders. For these fonts the value
of the "descent" <a href="#font" class="property">font</a> characteristic is used. For ideographic fonts,
the <a href="#position" class="property">position</a> of this baseline is normally at the "ideographic"
baseline.
</p></div></dd></dl><p>
There are, in addition, two computed baselines that are only defined for line
areas. For each line-area, there is a <a href="#dominant-baseline" class="property">dominant-baseline</a>, a baseline-table and
a baseline-table <a href="#font-size" class="property">font-size</a> which are those of the nearest ancestor
formatting object that completely contains the whole line. The
"before-edge" and "after-edge" baselines are defined as follows.
</p><dl><dt class="label">
before-edge
</dt><dd><p>
The offset of the "before-edge" baseline of the line from the
<a href="#dominant-baseline" class="property">dominant-baseline</a> of the line is determined by ignoring all
inline-areas whose <a href="#alignment-baseline" class="property">alignment-baseline</a> is either
"before-edge" or
"after-edge". For the "before-edge", extents are
measured from the <a href="#dominant-baseline" class="property">dominant-baseline</a> in the <a href="#direction" class="property">direction</a> toward the top of
the reference-area. The top of the reference-area is defined by the
reference-area's <span class="trait">reference-orientation</span>. The
"before-edge" baseline offset is set to the maximum <a href="#extent" class="property">extent</a> of the
"before-edges" of the allocation-rectangles of the remaining areas. If
all the inline-areas in a line-area are aligned either to the
"before-edge" or to the "after-edge", then use the offset of the
"text-before-edge" baseline of the line as the offset of the
"before-edge" baseline of the line.
</p></dd><dt class="label">
after-edge
</dt><dd><p>
The offset of the "after-edge" baseline of the line from the
<a href="#dominant-baseline" class="property">dominant-baseline</a> of the line is determined by ignoring all
inline-areas whose <a href="#alignment-baseline" class="property">alignment-baseline</a> is <code>after-edge</code>. For the "after-edge", extents are
measured from the <a href="#dominant-baseline" class="property">dominant-baseline</a> in the <a href="#direction" class="property">direction</a> toward the <a href="#bottom" class="property">bottom</a>
of the reference-area. The top of the reference-area is defined by the
reference-area's <span class="trait">reference-orientation</span>. The
"after-edge" baseline offset is set to the negative of the maximum of
(1) the maximum <a href="#extent" class="property">extent</a> of the "after-edges" of the allocation-rectangles
of the remaining areas and (2) the maximum <a href="#height" class="property">height</a> of the
allocation-rectangles of the areas that are ignored minus the offset
of the "before-edge" baseline of the line.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
If all the inline-areas in a line-area are aligned to the "after-edge"
then the specification for the "before-edge" will set the
"before-edge" baseline to coincide with the "text-before-baseline" of
the line. Then, case (2) above will determine
the offset to the "after-edge"
baseline. In this case the allocation-rectangle of one of the areas
will extend from the "before-edge" baseline to the "after-edge" baseline.
</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>
The above specifications for "before-edge" and "after-edge" have
the following three properties: (1) the allocation-rectangles of
all the areas are below the "before-edge", (2) the allocation-rectangles
of all the areas are above the "after-edge", and (3) the distance between
the "before-edge" and the "after-edge" cannot be decreased without
violating (1) or (2). The specified placement of the "before-edge"
and "after-edge" is not the only way that (1)-(3) can be satisfied,
but it is the only way they can be
satisfied with the smallest possible offset to the "before-edge".
</p></div></dd></dl><p>
Examples showing "before-edge" and "after-edge" alignment:
</p><div style="margin-left: 3em;">
<img src="figures/ArrowsInText.gif" alt="Five examples of blocks, each containing text and inline graphics, showing various alignment methods." title="Line stacking examples"/>
<p><b>Figure 53. </b>
The rectangles with lines or arrows are images with an intrinsic <a href="#size" class="property">size</a>
as shown. The rectangles with no arrows represent images that receive
the default, dominant baseline, alignment. The alignment of the other
rectangles is at the furthest point from the arrow head (which is in
the middle when there are two arrowheads). Examples 1 and 2 show the
"before-edge" alignment is determined by the tallest non-"before-edge"
aligned objects: in example 1 this is the default aligned, arrowhead
free rectangular image and in example 2 this is the double headed
arrow rectangle. Examples 3 and 4 show defaulting to the
"text-before-edge" when all the areas have either "before-edge" or
"after-edge" alignment. In example 3, the images with "before-edge"
alignment has a taller member than do the "after-edge" aligned
images. In example 4, the tallest image is in the "after-edge" aligned
set. Example 5 is a repetition of example 2 with largest image being
an "after-edge" aligned image.
</p>
</div><p>
The alignment of a formatting object with respect to its parent is
determined by three things: the scaled-baseline-table of the parent
and the <a href="#alignment-baseline" class="property">alignment-baseline</a> and alignment-point of the formatting
object being aligned. Prior to alignment, the scaled-baseline-table of
the parent may be shifted. The property specifications
below provide the information necessary to align the parent and child
formatting objects.
</p><p>
There are four properties that control alignment of formatting objects
to the above set of baselines. These properties are all independent
and are designed so that typically only the specification of
one of the properties is needed to achieve a particular alignment goal.
</p><p>
The primary baseline alignment property is the
"<a href="#dominant-baseline" class="property">dominant-baseline</a>" property. This property has a compound
value with three components. The dominant-baseline-identifier
component is the default <a href="#alignment-baseline" class="property">alignment-baseline</a> to be used when
aligning two inline-areas. The baseline-table component specifies the
positions of the baselines in the <a href="#font" class="property">font</a> design space coordinates. (See
<a href="#font-model"><b>7.9.1 Fonts and Font Data</b></a>.) The baseline-table acts
something like a musical staff; it defines particular points along the
<span class="trait">block-progression-direction</span> to which glyphs and inline
formatting objects can be aligned. The baseline-table <a href="#font-size" class="property">font-size</a> component
provides a <a href="#scaling" class="property">scaling</a> factor for the baseline-table.
</p><p>
For convenience, the specification will sometimes refer to the
baseline identified by the dominant-baseline-identifier component of
the "<a href="#dominant-baseline" class="property">dominant-baseline</a>" property as the "dominant
baseline" (in an abuse of terminology).
</p><p>
A simple example of alignment is shown in the following figure. The
figure shows the presentation of two inline formatting objects, one
inside the other. These inline formatting objects make up the content
of a line in a block where the <a href="#writing-mode" class="property">writing-mode</a> is "lr-tb" and the
<a href="#font" class="property">font</a> is "Helvetica".
The structure of the example is as follows:
</p>
<div class="exampleInner"><pre>&lt;fo:inline&gt;Apex &lt;fo:inline&gt;Top&lt;/fo:inline&gt;&lt;/fo:inline&gt;</pre></div>
<p>
Because no properties are specified, the initial values apply. Since a
horizontal <a href="#writing-mode" class="property">writing-mode</a> is in use, the dominant-baseline-identifier is
set to "alphabetic" and the baseline-table is taken from the
nominal-font for the block in which the line appears, which, in this case,
is Helvetica.
</p><p>
In the figure, the positions of the baselines relative
to the current <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> are shown as red (staff) lines. These lines
are labeled with abbreviations of the names of the baselines (e.g.,
TBE for "text-before-edge"). The baseline identified by the
dominant-baseline-identifier (A) is shown in blue. There is a break in the
staff lines to separately show the inner inline formatting
object. This is not necessary for this example, but this distinction
will become important in subsequent examples.
</p><p>
The "<a href="#alignment-baseline" class="property">alignment-baseline</a>" property is the primary control on
the positioning of an inner formatting object with respect to its
parent. For all but <a href="#fo_character" class="el">fo:character</a>, the initial value of the
"<a href="#alignment-baseline" class="property">alignment-baseline</a>" property is "baseline". This
aligns the <a href="#dominant-baseline" class="property">dominant-baseline</a> of the inner inline formatting object
with the dominant baseline of the outer inline formatting object. This
is shown by the short blue line that connects the two separated
staffs (A) in the figure.
</p><p>
The glyphs determined by the <a href="#fo_character" class="el">fo:character</a>s that are in the content of
the two formatting objects are aligned based on the <a href="#script" class="property">script</a> to which
the glyph belongs. Since this example only has Latin glyphs, they are
aligned to the "alphabetic" baseline.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntro-1.gif" alt="This figure shows the words 'Apex' and 'Top' next to each other, with baselines shown (from top to bottom: test-before-edge, hanging, math, middle, alphabetic, ideographic and text-after-edge). The two words are aligned on the alphabetic baseline." title="An inner inline formatting object containing Latin characters aligned to an outer inline formatting object also containing Latin characters."/>
<p><b>Figure 54. </b>An inner inline formatting object containing Latin characters aligned
to an outer inline formatting object also containing Latin characters.</p>
</div><p>
In the next figure, the content of the inner inline formatting object
is in Gurmukhi, the <a href="#script" class="property">script</a> of the Punjabi language. The Gurmukhi
syllables are read as, "guru". Rather than use Unicode values for
these characters, they are symbolized by placing the Latin
transliteration in italic type. The structure of the example becomes:
</p>
<div class="exampleInner"><pre>&lt;fo:inline&gt;Apex &lt;fo:inline&gt;<em>guru</em>&lt;/fo:inline&gt;&lt;/fo:inline&gt;</pre></div>
<p>
The only change from the previous example is that the glyphs of the
Gurmukhi <a href="#script" class="property">script</a> are aligned to the "hanging" baseline
of the inner inline formatting object. The alignment of that
formatting object itself, with respect to the outer inline
formatting object, is unchanged.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntro-2.gif" alt="The words 'Apex' and 'guru' (in Gumurkhi script) next to each other, with baselines shown. The two words are aligned on the alphabetic baseline." title="An inner inline formatting object containing Gurmukhi characters aligned to an outer inline formatting object containing Latin characters."/>
<p><b>Figure 55. </b>An inner inline formatting object containing Gurmukhi characters
aligned to an outer inline formatting object containing Latin
characters.</p>
</div><p>
In the next figure, fragments of the text of the previous examples
make up the content of the outer inline formatting object.
The inner inline formatting object has a change of <a href="#font-size" class="property">font-size</a>, however.
The structure is:
</p>
<div class="exampleInner"><pre>&lt;fo:inline&gt;Ap<em>guru</em>
&lt;fo:inline font-size='.75em'&gt;
Ex<em>ji</em>
&lt;/fo:inline&gt;
&lt;/fo:inline&gt;</pre></div>
<p>
In this example, the alignment of the inner inline formatting object
itself does not change, nor does the alignment of the smaller glyphs
inside the inner formatting object. The Latin glyphs are still
aligned to the "alphabetic" baseline and the Gurmukhi glyphs,
which are pronounced "ji" are aligned to the
"hanging" baseline. Note also that just changing the
"<a href="#font-size" class="property">font-size</a>" property did not change the baseline-table
in effect in the inner inline formatting object.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntroB-2FS.gif" alt="The words 'Ap' (Latin script), 'guru' (Gumurkhi script), 'Ex' (Latin) and 'ji' (Gumurkhi) in a row. 'Ex' and 'ji' have a reduced font size. While 'Ex' is still aligned on the alphabetic baseline, 'ji' is aligned on the hanging baseline." title="Inline alignment of glyphs with reduced font-size"/>
<p><b>Figure 56. </b>The inner inline formatting object has a reduced font-size.</p>
</div><p>
The next figure is equivalent to the previous example with the
Gurmukhi <a href="#character" class="property">character</a> replaced by ideographic characters.
These are aligned to the "ideographic" baseline.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntroB-4FS.gif" alt="Two Roman glyphs followed by an ideogram, followed by two other Roman glyphs and another ideogram (both have a smaller font size). All roman glyphs are aligned on the alphabetic baseline and the ideograms are aligned on the ideographic baseline." title="Inline alignment of glyphs with reduced font-size, continued"/>
<p><b>Figure 57. </b>The previous figure re-done with ideographic glyphs instead of
Gurmukhi glyphs. The em boxes are shown for the ideograms
to clarify the alignment of these glyphs.
</p>
</div><p>
To change the <a href="#scaling" class="property">scaling</a> of the lines of the baseline table, it is
necessary to use the "<a href="#dominant-baseline" class="property">dominant-baseline</a>" property on the
inner inline formatting object. The value of "reset-size"
causes the baseline-table <a href="#font-size" class="property">font-size</a> to be reset from the <a href="#font-size" class="property">font-size</a> of
the formatting object on which the "<a href="#dominant-baseline" class="property">dominant-baseline</a>"
property appears. The next figure shows the effect of this, using the
structure:
</p>
<div class="exampleInner"><pre>&lt;fo:inline&gt;Ap<em>guru</em>
&lt;fo:inline font-size='.75em'
dominant-baseline='reset-size'&gt;
Ex<em>ji</em>
&lt;/fo:inline&gt;
&lt;/fo:inline&gt;</pre></div>
<p>
The alignment of the inner inline formatting object, with respect to
the outer inline formatting object, is still
determined by aligning the dominant baselines. But, the baseline-table
of the inner inline formatting object has been rescaled to the
<a href="#font-size" class="property">font-size</a> of the inner inline formatting object. Hence the smaller
glyphs align with each other.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntroB-3RS.gif" alt="The words 'Ap' (Latin script), 'guru' (Gumurkhi script), 'Ex' (Latin) and 'ji' (Gumurkhi) in a row. 'Ex' and 'Ji' have a reduced font-size. The set of baselines for the last two is scaled down. The alphabetic baselines of both baseline sets are aligned." title="Inline alignment of glyphs with reduced font-size, continued"/>
<p><b>Figure 58. </b>The baseline-table of the inner inline formatting object has been
re-sized to match the <a href="#font-size" class="property">font-size</a> of the inner inline formatting object.</p>
</div><p>
But, what if it is more important that the small Gurmukhi glyphs align
with the large Gurmukhi glyphs than having the Latin glyphs align.
There are at least two ways to achieve this. The structure:
</p>
<div class="exampleInner"><pre>&lt;fo:inline dominant-baseline='hanging'&gt;Ap<em>guru</em>
&lt;fo:inline font-size='.75em'
dominant-baseline='reset-size'&gt;
Ex<em>ji</em>
&lt;/fo:inline&gt;
&lt;/fo:inline&gt;</pre></div>
<p>
is illustrated in the next figure. The "hanging" baseline
becomes the dominant baseline and the initial value of the
"<a href="#alignment-baseline" class="property">alignment-baseline</a>" property causes the (newly) dominant
"hanging" baselines to be aligned as is shown by the
connection of the blue baselines.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntroB-3DH.gif" alt="The words 'Ap' (Latin script), 'guru' (Gumurkhi script), 'Ex' (Latin) and 'ji' (Gumurkhi) in a row. 'Ex' and 'Ji' have a reduced font-size. The set of baselines for the last two is scaled down. The hanging baselines of both baseline sets are aligned." title="Inline alignment of glyphs with reduced font-size, continued"/>
<p><b>Figure 59. </b>Changing the dominant baseline to the "hanging" baseline
causes the inner inline formatting object to be aligned on its
parent's "hanging" baseline.</p>
</div><p>
It is also possible to achieve the effect of the above figure without
changing the dominant baseline. Instead it is sufficient to explicitly
specify that the inner inline formatting object is aligned on its
"hanging" baseline. This is done by:
</p>
<div class="exampleInner"><pre>&lt;fo:inline&gt;Ap<em>guru</em>
&lt;fo:inline font-size='.75em'
dominant-baseline='reset-size'
alignment-baseline='hanging'&gt;
Ex<em>ji</em>
&lt;/fo:inline&gt;
&lt;/fo:inline&gt;</pre></div>
<p>
The only change this approach would make in the above figure is to
color the "hanging" baseline red and keep the
"alphabetic" baseline as the (blue) dominant baseline. This
baseline in the inner inline formatting object would not (as it does
not in the above figure) align with the "alphabetic"
baseline in the outer inline formatting object.
</p><p>
The third baseline alignment property is the
"<a href="#baseline-shift" class="property">baseline-shift</a>" property. Like the properties other
than the "<a href="#dominant-baseline" class="property">dominant-baseline</a>" property, this property does
not change the baseline-table or the baseline-table font-size. It does
shift the whole baseline table of the parent formatting object so that
when an inner inline formatting object is aligned to one of the
parents baselines, the <a href="#position" class="property">position</a> of the inner inline formatting object
is shifted. This is illustrated in the next figure. The structure
which creates this figure is:
</p>
<div class="exampleInner"><pre>
&lt;fo:inline&gt;Ap
&lt;fo:inline baseline-shift='super'&gt;1<em>ji</em>&lt;/fo:inline&gt;
&lt;/fo:inline&gt;
</pre></div>
<p>
Because the whole set of baseline-table staff lines are shifted to the
<a href="#position" class="property">position</a> of the superscript baseline: it does not matter to which
baseline the glyphs in the superscript are aligned. The European
number "1" is aligned to the "alphabetic" baseline
and the Gurmukhi syllable "ji" is aligned to the
"hanging" baseline.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntroB-5.gif" alt="The words 'Apex', '1' and 'ji' (Gumurkhi script) in a row. The last two are super-scripts: the set of baselines for those is offset upwards from the original baseline set by a distance called 'baseline-shift'." title="Using a 'baseline-shift' for a superscript"/>
<p><b>Figure 60. </b>Using a "<a href="#baseline-shift" class="property">baseline-shift</a>" for a superscript
(or a subscript).</p>
</div><p>
It is more common for the <a href="#font-size" class="property">font-size</a> of the superscript text to be
smaller than the <a href="#font-size" class="property">font-size</a> of the text to which it is appended.
Consider:
</p>
<div class="exampleInner"><pre>&lt;fo:inline&gt;Ap
&lt;fo:inline font-size='.75em'
baseline-shift='super'&gt;
1<em>ji</em>
&lt;/fo:inline&gt;
&lt;/fo:inline&gt;</pre></div>
<p>
Because changing the <a href="#font-size" class="property">font-size</a> on a superscript (or subscript) is
common, this is the one case where changing the <a href="#font-size" class="property">font-size</a> does cause
the baseline-table <a href="#font-size" class="property">font-size</a> to be reset when the
"<a href="#dominant-baseline" class="property">dominant-baseline</a>" property has its initial value. After
the rescaling, the default alignment to the dominant baseline
positions the inline formatting object for the superscript to the
dominant baseline <a href="#position" class="property">position</a> in the shifted baseline-table of the parent
formatting object.
</p><div style="margin-left: 3em;">
<img src="figures/AlignIntroB-5FS.gif" alt="The words 'Apex', '1' and 'ji' (Gumurkhi script) in a row. The last two are super-scripts and they have a reduced font size: the set of baselines for them is offset upwards from the original baseline set by a distance called 'baseline-shift', and scaled down around the alphabetic baseline." title="Alignment of superscripts with reduces fonts"/>
<p><b>Figure 61. </b>Reducing the <a href="#font-size" class="property">font-size</a> of the superscript automatically resets the
baseline-table <a href="#size" class="property">size</a> so that mixed languages in the superscript stay
mutually aligned.</p>
</div><p>
The fourth alignment property is the "<a href="#alignment-adjust" class="property">alignment-adjust</a>"
property. This property is primarily used for objects, such as some
graphics, that do not belong to a particular <a href="#script" class="property">script</a> and do not have a
predefined alignment point. The "<a href="#alignment-adjust" class="property">alignment-adjust</a>"
property allows the author to assign where, on the start-edge
of the object, the
alignment point for that object lies.
</p><div class="div3">
<h4><a name="alignment-adjust" id="alignment-adjust"/>7.15.1 alignment-adjust</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | baseline
| before-edge
| text-before-edge | middle | central
| after-edge
| text-after-edge | ideographic | alphabetic | hanging | mathematical
| &lt;percentage&gt; | &lt;length&gt;
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>The "<a href="#alignment-adjust" class="property">alignment-adjust</a>" property allows more precise alignment of
areas generated by formatting objects,
in particular for formatting objects,
such as graphics, that do not have a baseline-table
or lack the desired baseline in their baseline-table. With the
"<a href="#alignment-adjust" class="property">alignment-adjust</a>" property, the <a href="#position" class="property">position</a> of the baseline identified
by the "<a href="#alignment-baseline" class="property">alignment-baseline</a>" can be explicitly determined.
</p><p>Values for the property have the following meaning:</p><dl><dt class="label">auto</dt><dd><p>For a glyph, the alignment-point is the intersection of the
start-edge of the allocation-rectangle of the glyph-area and the
block-progression-direction <a href="#position" class="property">position</a> of the alignment-point from the
<a href="#font" class="property">font</a> as specified in <a href="#font-model"><b>7.9.1 Fonts and Font Data</b></a>.
For other inline-areas, the alignment-point is at the intersection of
the start-edge of the allocation-rectangle and the baseline identified by
the "<a href="#alignment-baseline" class="property">alignment-baseline</a>" property if this baseline exists in the
baseline-table for the <a href="#dominant-baseline" class="property">dominant-baseline</a> for the inline-area. If the
baseline-identifier does not exist in the baseline-table for the glyph
or other inline-area, then the User Agent may either use heuristics to
determine where that missing baseline would be or may use the
<a href="#dominant-baseline" class="property">dominant-baseline</a> as a fallback. For areas generated by an
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, or <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>, the alignment
point is at the intersection of the start-edge and after-edge of the
allocation-rectangle of the area. </p></dd><dt class="label">baseline</dt><dd><p>The alignment-point is at the intersection of
the start-edge of the allocation-rectangle and the
<a href="#dominant-baseline" class="property">dominant-baseline</a> of the area.
</p></dd><dt class="label">before-edge</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the "before-edge"
baseline of the area.
</p></dd><dt class="label">text-before-edge</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"text-before-edge" baseline of the area.
</p></dd><dt class="label">central</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"central" baseline of the area.</p></dd><dt class="label">middle</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"middle" baseline of the area.</p></dd><dt class="label">after-edge</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the "after-edge" baseline of
the area.
</p></dd><dt class="label">text-after-edge</dt><dd><p>
The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"text-after-edge" baseline of the area.
</p></dd><dt class="label">ideographic</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"ideographic" baseline of the area.
</p></dd><dt class="label">alphabetic</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"alphabetic" baseline of the area.
</p></dd><dt class="label">hanging</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"hanging" baseline of the area.
</p></dd><dt class="label">mathematical</dt><dd><p>The alignment-point is at the intersection of the start-edge of the allocation-rectangle and the
"mathematical" baseline of the area.
</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The computed value of the property is this percentage multiplied by
the area's computed "<a href="#height" class="property">height</a>" if the area is generated by an
<a href="#fo_external-graphic" class="el">fo:external-graphic</a> or <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
the "<a href="#font-size" class="property">font-size</a>" if the area was generated by an <a href="#fo_character" class="el">fo:character</a>, and the "<a href="#line-height" class="property">line-height</a>"
otherwise. The alignment-point is on the start-edge of the
allocation-rectangle of the area
being aligned. Its <a href="#position" class="property">position</a> along the start-edge relative to the
intersection of the <a href="#dominant-baseline" class="property">dominant-baseline</a> and the start-edge is offset by
the computed value. The offset is opposite to the <span class="trait">shift-direction</span> if
that value is positive and in the <span class="trait">shift-direction</span> if that value is
negative value). A value of "0%" makes the <a href="#dominant-baseline" class="property">dominant-baseline</a> the
alignment point.
</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>The alignment-point is on the start-edge of the
allocation-rectangle of the area being
aligned. Its <a href="#position" class="property">position</a> along the start-edge relative to the
intersection of the <a href="#dominant-baseline" class="property">dominant-baseline</a> and the start-edge is offset by
&lt;length&gt; value. The offset is opposite to the <span class="trait">shift-direction</span> if
that value is positive and in the <span class="trait">shift-direction</span> if that value is
negative. A value of "0cm" makes the <a href="#dominant-baseline" class="property">dominant-baseline</a> the
alignment point.
</p></dd></dl><p>Implementations must support at least one of the "<a href="#alignment-adjust" class="property">alignment-adjust</a>"
values defined in this Recommendation.</p></div><div class="div3">
<h4><a name="alignment-baseline" id="alignment-baseline"/>7.15.2 alignment-baseline</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | baseline | before-edge
| text-before-edge | middle | central | after-edge
| text-after-edge | ideographic | alphabetic | hanging | mathematical
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property specifies how an object is aligned with respect to
its parent. That is, to which of the parent's baselines the
alignment-point of this object is aligned.
The <a href="#alignment-adjust" class="property">alignment-adjust</a> property specifies how the alignment point
is determined. It defaults
to the baseline with the same name
as the computed value of the <a href="#alignment-baseline" class="property">alignment-baseline</a> property.
That is, the
<a href="#position" class="property">position</a> of "ideographic" alignment-point in the
<span class="trait">block-progression-direction</span> is the <a href="#position" class="property">position</a> of the
"ideographic" baseline in the baseline-table of the object being
aligned.
</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The computed
value depends on the kind of object on which it is being used.
For <a href="#fo_character" class="el">fo:character</a>, the value
is the <a href="#dominant-baseline" class="property">dominant-baseline</a> of the <a href="#script" class="property">script</a> to which the <a href="#character" class="property">character</a> belongs.
If the value of the "<a href="#script" class="property">script</a>" property on the parent formatting object is other than "auto" then use the baseline for that <a href="#script" class="property">script</a>; otherwise, use the <a href="#dominant-baseline" class="property">dominant-baseline</a> of the parent.
For all other objects, the value is computed as for the "baseline" value.
</p></dd><dt class="label">baseline</dt><dd><p>The alignment-point of the object being aligned is aligned with the
<a href="#dominant-baseline" class="property">dominant-baseline</a> of the parent area.
</p></dd><dt class="label">before-edge</dt><dd><p>The alignment-point of the object being aligned is aligned with the "before-edge"
baseline of the parent area.
</p></dd><dt class="label">text-before-edge</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"text-before-edge" baseline of the parent area.
</p></dd><dt class="label">central</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"central" baseline of the parent area.</p></dd><dt class="label">middle</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"middle" baseline of the parent area.</p></dd><dt class="label">after-edge</dt><dd><p>The alignment-point of the object being aligned is aligned with the "after-edge" baseline of
the parent area.
</p></dd><dt class="label">text-after-edge</dt><dd><p>
The alignment-point of the object being aligned is aligned with the
"text-after-edge" baseline of the parent area.
</p></dd><dt class="label">ideographic</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"ideographic" baseline of the parent area.
</p></dd><dt class="label">alphabetic</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"alphabetic" baseline of the parent area.
</p></dd><dt class="label">hanging</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"hanging" baseline of the parent area.
</p></dd><dt class="label">mathematical</dt><dd><p>The alignment-point of the object being aligned is aligned with the
"mathematical" baseline of the parent area.
</p></dd></dl><p>Implementations must support at least one of the
"<a href="#alignment-baseline" class="property">alignment-baseline</a>" values defined in this
Recommendation.</p></div><div class="div3">
<h4><a name="block-unit" id="block-unit"/>7.15.3 block-unit</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;length&gt;</td></tr><tr><th>Initial:</th><td>0pt</td></tr><tr><th>Applies to:</th><td><a href="#fo_region-body" class="el">fo:region-body</a>, <a href="#fo_region-before" class="el">fo:region-before</a>, <a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>, <a href="#fo_region-end" class="el">fo:region-end</a>, <a href="#fo_block-container" class="el">fo:block-container</a></td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">When this property is set and non-zero, the block
dimension of each generated area must be rounded up to the nearest
multiple of the property value.</p><p>A value of zero means that there is no such constraint on the area
block dimension.</p><p>The block dimension of each generated area should be rounded up to
the nearest greater value that is an integer multiple of the specified
length. The difference between the original block dimension and the
rounded one <span class="rfc">MUST</span> be transformed into a
<a href="#space-before" class="property">space-before</a> and / or a
<a href="#space-after" class="property">space-after</a> (according to the area position and
the space conditionality).</p><p>For example, suppose that a region has block-unit="12pt". Each
block &lt;fo:block line-height="10pt"
line-stacking-strategy="font-height" &gt;Text ......&lt;/fo:block&gt;
will have a block dimension equal to N * 12pt (the block dimension of
each line area is not changed). So, if the block creates eight line
areas, the first two placed at the bottom of a page and the other six
at the beginning of the next page, the first block area will be given
a block dimension equal to 24pt (with a 4pt space-before) and the
second block will have a 60pt block dimension with no extra space.</p><p>The property applies to fo:region-* and <a href="#fo_block-container" class="el">fo:block-container</a>, and
defines how to adjust the block dimension of the first-level block
formatting objects (the direct children of either <a href="#fo_flow" class="el">fo:flow</a> or
<a href="#fo_static-content" class="el">fo:static-content</a>). </p><p>The intended consequence is that lines of text on facing pages will
line up, and also that show-through of lines printed on the other side
of a page will be reduced, because the lines of text are printed in
corresponding places on each side of the paper.</p></div><div class="div3">
<h4><a name="baseline-shift" id="baseline-shift"/>7.15.4 baseline-shift</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">baseline | sub | super | &lt;percentage&gt; | &lt;length&gt;
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">baseline</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refers to the "<a href="#line-height" class="property">line-height</a>" of the parent area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>The "<a href="#baseline-shift" class="property">baseline-shift</a>" property allows
repositioning of the <a href="#dominant-baseline" class="property">dominant-baseline</a> relative
to the <a href="#dominant-baseline" class="property">dominant-baseline</a> of the parent area. The
shifted object might be a subscript or superscript. Within the shifted
object, the whole baseline-table is offset; not just a single
baseline. The amount of the shift is determined from information from
the parent area, the subscript or superscript offset from the
<span class="trait">nominal-font</span> of the parent area, percent of the
"<a href="#line-height" class="property">line-height</a>" of the parent area or an absolute
value.</p><p>When the value of "<a href="#baseline-shift" class="property">baseline-shift</a>"
is other than
"0", then the baseline-table <a href="#font-size" class="property">font-size</a> component of the
"<a href="#dominant-baseline" class="property">dominant-baseline</a>" property is re-computed to use the "<a href="#font-size" class="property">font-size</a>"
applicable to the formatting object on which the non-zero "<a href="#baseline-shift" class="property">baseline-shift</a>"
property is specified.
</p><p>Values for the property have the following meaning:</p><dl><dt class="label">baseline</dt><dd><p>There is no baseline shift; the <a href="#dominant-baseline" class="property">dominant-baseline</a> remains in its original position.
</p></dd><dt class="label">sub</dt><dd><p>The <a href="#dominant-baseline" class="property">dominant-baseline</a> is shifted to the default <a href="#position" class="property">position</a> for
subscripts. The offset to this <a href="#position" class="property">position</a>
is determined using the <a href="#font" class="property">font</a> data for the nominal font. Because in most
fonts the subscript <a href="#position" class="property">position</a> is normally given relative to the
"alphabetic" baseline, the User Agent may compute the effective <a href="#position" class="property">position</a> for subscripts
for superscripts when some other baseline is dominant. The suggested
computation is to subtract the difference between the <a href="#position" class="property">position</a> of the
dominant baseline and the <a href="#position" class="property">position</a> of the "alphabetic" baseline from the
<a href="#position" class="property">position</a> of the subscript. The resulting offset is determined by
multiplying the effective subscript <a href="#position" class="property">position</a> by the dominant
baseline-table font-size. If there is no applicable <a href="#font" class="property">font</a> data the
User Agent may use heuristics to determine the offset.
</p></dd><dt class="label">super</dt><dd><p>The <a href="#dominant-baseline" class="property">dominant-baseline</a> is shifted to the default <a href="#position" class="property">position</a> for
superscripts. The offset to this <a href="#position" class="property">position</a>
is determined using the <a href="#font" class="property">font</a> data for the nominal font. Because in most
fonts the superscript <a href="#position" class="property">position</a> is normally given relative to the
"alphabetic" baseline, the User Agent may compute the effective <a href="#position" class="property">position</a>
for superscripts when some other baseline is dominant. The suggested
computation is to subtract the difference between the <a href="#position" class="property">position</a> of the
dominant baseline and the <a href="#position" class="property">position</a> of the "alphabetic" baseline from the
<a href="#position" class="property">position</a> of the superscript. The resulting offset is determined by
multiplying the effective superscript <a href="#position" class="property">position</a> by the dominant
baseline-table font-size. If there is no applicable <a href="#font" class="property">font</a> data the
User Agent may use heuristics to determine the offset.
</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The computed value of the property is this percentage multiplied by
the computed "<a href="#line-height" class="property">line-height</a>" of the parent area. The <a href="#dominant-baseline" class="property">dominant-baseline</a>
is shifted in the <span class="trait">shift-direction</span> (positive value) or opposite to the
<span class="trait">shift-direction</span> (negative value) of the parent area by the computed
value. A value of "0%" is equivalent to "baseline".
</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>The <a href="#dominant-baseline" class="property">dominant-baseline</a> is shifted in the <span class="trait">shift-direction</span> (positive
value) or opposite to the <span class="trait">shift-direction</span> (negative value) of the
parent area by the &lt;length&gt; value. A value of "0cm" is equivalent
to "baseline".
</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>Although it may seem that "<a href="#baseline-shift" class="property">baseline-shift</a>" and "<a href="#alignment-adjust" class="property">alignment-adjust</a>"
properties are doing the same thing, there is an important although,
perhaps, subtle difference. For "<a href="#alignment-adjust" class="property">alignment-adjust</a>" the percentage
values refer to the "<a href="#line-height" class="property">line-height</a>" of the area being aligned. For
"<a href="#baseline-shift" class="property">baseline-shift</a>" the percentage values refer to the "<a href="#line-height" class="property">line-height</a>" of
the parent. Similarly, it is the "sub" and "super" offsets of the
parent that are used to align the shifted baseline rather than the
"sub" or "super" offsets of the areas being positioned. To ensure a
consistent subscript or superscript <a href="#position" class="property">position</a>, it makes more sense to use
the parent as the reference rather than the subscript formatting object which
may have a changed "<a href="#line-height" class="property">line-height</a>" due to "<a href="#font-size" class="property">font-size</a>" changes in the
subscript or superscript formatting object.
</p><p>Using the "<a href="#alignment-adjust" class="property">alignment-adjust</a>" property is more suitable for positioning
objects, such as graphics, that have no internal textual
structure. Using the "<a href="#baseline-shift" class="property">baseline-shift</a>" property is intended for subscripts
and superscripts where the positioned object may itself be a textual
object. The <a href="#baseline-shift" class="property">baseline-shift</a> provides a way to define a specific
baseline offset other than the named offsets that are defined relative
to the dominant-baseline. In addition, having "<a href="#baseline-shift" class="property">baseline-shift</a>" makes
it easier for tool to generate the relevant properties; many
formatting programs already have a notion of baseline
shift.
</p></div></div><div class="div3">
<h4><a name="display-align" id="display-align"/>7.15.5 display-align</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top">
<em>Value: </em></td><td align="left" valign="top">auto | before
| center | after | inherit | justify</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial:
</em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property specifies the alignment, in the block-progression-direction,
of the areas that are the children of a reference-area.
</p><p>Values for the property have the following meaning:</p><dl><dt class="label">auto</dt><dd><p>If the <a href="#relative-align" class="property">relative-align</a> property applies
to this formatting object the "relative-align" property is
used. If not, this value is treated as if "before" had been
specified.</p></dd><dt class="label">before</dt><dd><p>The before-edge of the allocation-rectangle of the first child area is placed coincident with the before-edge of the content-rectangle of the reference-area.</p></dd><dt class="label">center</dt><dd><p>The child areas are placed such that the distance between
the before-edge of the allocation-rectangle of the first child
area and the before-edge of the content-rectangle of the
reference-area is the same as the distance between the
after-edge of the allocation-rectangle of the last child area
and the after-edge of the content-rectangle of the
reference-area.</p></dd><dt class="label">after</dt><dd><p>The after-edge of the allocation-rectangle of the last child area is placed coincident with the after-edge of the content-rectangle of the reference-area.</p></dd><dt class="label">justify</dt><dd><p>For each reference area generated by a region, the
before-edge of the its content-rectangle is placed coincident
with the before-edge of the allocation-rectangle of the first
child area, and the after-edge of the its content-rectangle
should be placed coincident with the after-edge of the
allocation-rectangle of the last child area. If the application
is not able to achieve copyfitting and the accumulated
block-dimension of areas is less the the
block-dimension of the reference area (which could
happen either for lack of elasticity in the content or for
partial support by the formatter), the areas are placed as
if "auto" had been specified.</p><p>Note that for block-containers and table cells, the available
space (height and width) must be known in advance in order for
the implementation to be able to fit the text into that space.</p></dd></dl></div><div class="div3">
<h4><a name="display-align-last" id="display-align-last"/>7.15.6 display-align-last</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>auto | before | center | after | inherit | justify</td></tr><tr><th>Initial:</th><td>auto</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p>This property specifies in the block-direction,
of the areas that are the children of a reference-area. It is used
to express the alignment of a region in the last page or in any page
ending with a forced break.</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>If the <a href="#relative-align" class="property">relative-align</a> property
applies to this formatting object the <a href="#relative-align" class="property">relative-align</a> property
is used. If not, this value is treated as if "before" had been
specified.</p></dd><dt class="label">before</dt><dd><p>The before-edge of the allocation-rectangle of the first
child area is placed coincident with the before-edge of the
content-rectangle of the reference-area.</p></dd><dt class="label">center</dt><dd><p>The child areas are placed such that the distance
between the before-edge of the allocation-rectangle of the first
child area and the before-edge of the content-rectangle of the
reference-area is the same as the distance between the
after-edge of the allocation-rectangle of the last child area
and the after-edge of the content-rectangle of the
reference-area.</p></dd><dt class="label">after</dt><dd><p>The after-edge of the allocation-rectangle of the last
child area is placed coincident with the after-edge of the
content-rectangle of the reference-area.</p></dd><dt class="label">justify</dt><dd><p>For each reference area generated by a region, the
before-edge of the its content-rectangle is placed coincident
with the before-edge of the allocation-rectangle of the first
child area, and the after-edge of the its content-rectangle
should be placed coincident with the after-edge of the
allocation-rectangle of the last child area. If the application
is not able to achieve copyfitting and the accumulated
block-dimension of areas is less the the block-dimension of the
reference area (which could happen either for lack of elasticity
in the content or for partial support by the formatter), the
areas are placed as if "auto" had been specified.</p></dd></dl></div><div class="div3">
<h4><a name="display-align-last-column" id="display-align-last-column"/>7.15.7 display-align-last-column</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>auto | before | center | after | inherit</td></tr><tr><th>Initial:</th><td>auto</td></tr><tr><th>Applies to:</th><td><a href="#fo_region-body" class="el">fo:region-body</a></td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p>Specifies how to align the last column of a multi-column region.
This property specifies the alignment, in the block-direction, of the
areas that are the children of a reference-area.</p><p>Values for the property have the following meaning:</p><dl><dt class="label">auto</dt><dd><p>If the <a href="#relative-align" class="property">relative-align</a> property applies to this formatting
object the <a href="#relative-align" class="property">relative-align</a> property is used. If not, this
value is treated as if "before" had been specified.</p></dd><dt class="label">before</dt><dd><p>The before-edge of the allocation-rectangle of the first
child area is placed coincident with the before-edge of the
content-rectangle of the reference-area;</p></dd><dt class="label">center</dt><dd><p>The child areas are placed such that the distance between
the before-edge of the allocation-rectangle of the first child
area and the before-edge of the content-rectangle of the
reference-area is the same as the distance between the after-edge
of the allocation-rectangle of the last child area and the
after-edge of the content-rectangle of the
reference-area;</p></dd><dt class="label">after</dt><dd><p>The after-edge of the allocation-rectangle of the last
child area is placed coincident with the after-edge of the
content-rectangle of the reference-area.</p></dd></dl></div><div class="div3">
<h4><a name="dominant-baseline" id="dominant-baseline"/>7.15.8 dominant-baseline</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | use-script | no-change | reset-size
| ideographic | alphabetic | hanging | mathematical
| central | middle | text-after-edge | text-before-edge
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no (see prose)</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>The "<a href="#dominant-baseline" class="property">dominant-baseline</a>" property is used to determine or
re-determine a scaled-baseline-table. A scaled-baseline-table is a
compound value with three components: a baseline-identifier for the
<a href="#dominant-baseline" class="property">dominant-baseline</a>, a derived baseline-table
and a baseline-table font-size.
Some values of the property re-determine all three values; other only
re-establish the baseline-table font-size.
Although this property is not inherited, components of the
scaled-baseline-table propagate to child formatting objects
if the "auto" value is used on these.
When the initial value,
"auto", would give an undesired result, this property can be used to
explicitly set the desired scaled-baseline-table.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The derived baseline-table is constructed using a baseline-table
in the <a href="#font" class="property">font</a> that corresponds to the computed value of the "<a href="#writing-mode" class="property">writing-mode</a>".</p></div><p>Values for the property have the following meaning:</p><dl><dt class="label">auto</dt><dd><p>If this property occurs on a block-level formatting object, then
the computed value depends on the value of the "<a href="#script" class="property">script</a>"
property. There are two cases. If the value of the "<a href="#script" class="property">script</a>" property
is "auto", then, if the "<a href="#writing-mode" class="property">writing-mode</a>" is horizontal, then the
baseline-identifier for the dominant baseline is set to be "alphabetic",
else if the "<a href="#writing-mode" class="property">writing-mode</a>" is vertical, then the baseline-identifier
for the dominant baseline is set to be "central".
On the other hand, if the value of the "<a href="#script" class="property">script</a>"
property is anything other than "auto", then the value of the "<a href="#script" class="property">script</a>"
property is used to select the baseline-identifier for the dominant baseline.
The mapping from <a href="#script" class="property">script</a> to baseline-identifier is taken from the
nominal font. The derived baseline-table is constructed using the
baseline-table in the nominal <a href="#font" class="property">font</a> that corresponds to the
baseline-identifier for the dominant baseline.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the
"<a href="#font-size" class="property">font-size</a>" property on this formatting object.
</p><p>Otherwise, if this property is not on a block-level formatting object,
then the baseline-identifier for the dominant baseline, the derived
baseline-table, and baseline-table <a href="#font-size" class="property">font-size</a> remain
the same as those of the parent formatting object. If the computed
"<a href="#baseline-shift" class="property">baseline-shift</a>" value actually shifts the baseline, then the
baseline-table <a href="#font-size" class="property">font-size</a> is set to the value of the
"<a href="#font-size" class="property">font-size</a>" property on the formatting object on which the
"<a href="#dominant-baseline" class="property">dominant-baseline</a>" property occurs, otherwise the baseline-table
<a href="#font-size" class="property">font-size</a> remains the same as that of the parent formatting object. If
there is no parent formatting object, the derived baseline-table
is constructed as above for block-level formatting-objects.
</p></dd><dt class="label">use-script</dt><dd><p>The "<a href="#script" class="property">script</a>" property is used to select the baseline-identifier for
the dominant baseline.
The mapping from <a href="#script" class="property">script</a> to baseline-identifier is taken from the nominal font.
The derived baseline-table is constructed using the
baseline-table in the nominal <a href="#font" class="property">font</a> that corresponds to the
baseline-identifier for the dominant baseline.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.
</p></dd><dt class="label">no-change</dt><dd><p>
The <a href="#dominant-baseline" class="property">dominant-baseline</a>, the baseline-table, and the baseline-table
<a href="#font-size" class="property">font-size</a> remain the same as that of the parent formatting object.
</p></dd><dt class="label">reset-size</dt><dd><p>The <a href="#dominant-baseline" class="property">dominant-baseline</a> and the baseline-table remain the same, but the
baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object. This re-scales the baseline-table for the
current "<a href="#font-size" class="property">font-size</a>".
</p></dd><dt class="label">ideographic</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "ideographic".
The derived baseline-table is constructed using the "ideographic"
baseline-table in the nominal font.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.</p></dd><dt class="label">alphabetic</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "alphabetic".
The derived baseline-table is constructed using the "alphabetic"
baseline-table in the nominal font.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.</p></dd><dt class="label">hanging</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "hanging".
The derived baseline-table is constructed using the "hanging"
baseline-table in the nominal font.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.</p></dd><dt class="label">mathematical</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "mathematical".
The derived baseline-table is constructed using the "mathematical"
baseline-table in the nominal font.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.</p></dd><dt class="label">central</dt><dd><p>The baseline-identifier for the
<a href="#dominant-baseline" class="property">dominant-baseline</a> is set to be "central".
The derived baseline-table is constructed from the defined baselines
in a baseline-table in the nominal font. That <a href="#font" class="property">font</a> baseline-table is
chosen using the following priority order of baseline-table names:
"ideographic", "alphabetic", "hanging", "mathematical".
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.</p></dd><dt class="label">middle</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "middle".
The derived baseline-table is constructed from the defined baselines
in a baseline-table in the nominal font. That <a href="#font" class="property">font</a> baseline-table is
chosen using the following priority order of baseline-table names:
"alphabetic", "ideographic", "hanging", "mathematical".
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the value of the "<a href="#font-size" class="property">font-size</a>"
property on this formatting object.</p></dd><dt class="label">text-after-edge</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "text-after-edge".
The derived baseline-table is constructed from the
defined baselines in a baseline-table in the nominal font. The choice of
which <a href="#font" class="property">font</a> baseline-table to use from the baseline-tables in the nominal
<a href="#font" class="property">font</a> is implementation defined. The baseline-table <a href="#font-size" class="property">font-size</a> is changed
to the value of the "<a href="#font-size" class="property">font-size</a>" property on this formatting object.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Using the following priority order of baseline-table names:
"alphabetic", "ideographic", "hanging", "mathematical" is probably a
reasonable strategy for determining which <a href="#font" class="property">font</a> baseline-table to use.</p></div></dd><dt class="label">text-before-edge</dt><dd><p>The baseline-identifier for the <a href="#dominant-baseline" class="property">dominant-baseline</a> is set
to be "text-before-edge".
The derived baseline-table is constructed from the
defined baselines in a baseline-table in the nominal font. The choice of
which baseline-table to use from the baseline-tables in the nominal
<a href="#font" class="property">font</a> is implementation defined.
The baseline-table <a href="#font-size" class="property">font-size</a> is changed to the
value of the "<a href="#font-size" class="property">font-size</a>" property on this formatting object.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Using the following priority order of baseline-table names:
'alphabetic', 'ideographic', 'hanging', 'mathematical' is probably a
reasonable strategy for determining which <a href="#font" class="property">font</a> baseline-table to use.</p></div></dd></dl><p>If there is no baseline-table in the nominal <a href="#font" class="property">font</a> or if the
baseline-table lacks an entry for the desired baseline, then the User
Agent may use heuristics to determine the <a href="#position" class="property">position</a> of the desired
baseline.
</p><p>Implementations must support at least one of the "<a href="#dominant-baseline" class="property">dominant-baseline</a>"
values defined in this Recommendation.</p></div><div class="div3">
<h4><a name="relative-align" id="relative-align"/>7.15.9 relative-align</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">before | baseline
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">before</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property specifies the alignment, in the block-progression-direction,
between two or more areas.
If the "<a href="#display-align" class="property">display-align</a>" property applies to this formatting object and
has a value other than "auto" this property is ignored.
</p><p>Values for the property have the following meaning:</p><dl><dt class="label">before</dt><dd><p>For an <a href="#fo_table-cell" class="el">fo:table-cell</a>: for each row, the first child area of
all the cells that start in the row and that have this value is placed
such that the before-edge of the content-rectangle
is placed at
the same distance from the row grid. In addition, at least, one
of these first child areas of the cells
has to be placed with the before-edge of its allocation-rectangle
coincident with the before-edge of the content-rectangle
of the table-cell.
</p><p>For an <a href="#fo_list-item" class="el">fo:list-item</a> the before-edge of the first area descendant
generated by the <a href="#fo_list-item-label" class="el">fo:list-item-label</a> is placed coincident with the
before-edge of the area generated by the <a href="#fo_list-item" class="el">fo:list-item</a>.
Similarly the before-edge of the first
area descendant generated by the <a href="#fo_list-item-body" class="el">fo:list-item-body</a> is placed coincident
with the before-edge of the area generated by the <a href="#fo_list-item" class="el">fo:list-item</a>.
</p></dd><dt class="label">baseline</dt><dd><p>For an <a href="#fo_table-cell" class="el">fo:table-cell</a>: for each row, the first child area of
all the cells that start in the row and that have this value is placed
such that the <a href="#dominant-baseline" class="property">dominant-baseline</a>, as specified on the <a href="#fo_table-row" class="el">fo:table-row</a>,
of the first line is placed at
the same distance from the row grid. In addition, at least, one
of these first child areas of the cells
has to be placed with the before-edge of its allocation-rectangle
coincident with the before-edge of the content-rectangle
of the table-cell.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>That is, for all applicable cells the baseline of all the first
lines are all aligned and placed the minimum distance down in the
block-progression-direction. It should be noted that the start-edges
of the content-rectangles of the cells need not align.
</p></div><p>For an <a href="#fo_list-item" class="el">fo:list-item</a> the distance between the baseline of
the first line-area of the first area descendant generated by the
<a href="#fo_list-item-label" class="el">fo:list-item-label</a> is the same as the distance between
the baseline of the
first line-area of the first area descendant generated by the
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>. In addition, at least, one of these first
area descendants has to be placed such that the before-edge of its
allocation-rectangle is coincident with the before-edge of the
content-rectangle of the list-item.
</p></dd></dl></div><div class="div3">
<h4><a name="marginalia-relative-align" id="marginalia-relative-align"/>7.15.10 marginalia-relative-align</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>before | baseline | end | inherit</td></tr><tr><th>Initial:</th><td>before</td></tr><tr><th>Applies to:</th><td>fo:marginalia</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">Specifies the alignment
of the marginalia with respect to the text to which it refers.
This property specifies the alignment, in the
block-direction, between two areas.</p><p>Values have the following meanings:</p><dl><dt class="label">before</dt><dd><p>The before-edge of the
marginalia-body-area is aligned with
the before-edge of the anchor-area.</p></dd><dt class="label">baseline</dt><dd><p>The distance between the
baseline of the marginalia-body-area is the same as the distance
between the baseline of th anchor-area extension-region-start
region.</p></dd><dt class="label">end</dt><dd><p>The after-edge of the
marginalia-body-area is aligned with the after-edge of the
anchor-area.</p></dd></dl></div></div><div class="div2">
<h3><a name="d2e35985" id="d2e35985"/>7.16 Area Dimension Properties</h3><div class="div3">
<h4><a name="allowed-height-scale" id="allowed-height-scale"/>7.16.1 allowed-height-scale</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ any | &lt;percentage&gt; ]* | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">any</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">intrinsic <a href="#height" class="property">height</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>A sequence of tokens, each specifying
an allowed scale-factor value.
Tokens have the following meanings:</p><dl><dt class="label">any</dt><dd><p>No constraint on the scale-factor.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a constraint on the scale-factor to match the
specified value.</p></dd></dl><p>Specifies a list of constraints on the scale-factor values that
may be used when <a href="#scaling" class="property">scaling</a> a graphic in the <a href="#height" class="property">height</a> direction.
The list is unordered, except that an "any" value is considered
last and is only used if the <a href="#scaling" class="property">scaling</a> constraints cannot be satisfied
using any of the other specified values.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It is recommended to include "any" in
the list for applications where scrolling is not desired or
available.</p></div></div><div class="div3">
<h4><a name="allowed-width-scale" id="allowed-width-scale"/>7.16.2 allowed-width-scale</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ any | &lt;percentage&gt; ]* | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">any</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">intrinsic <a href="#width" class="property">width</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>A sequence of tokens, each specifying
an allowed scale-factor value.
Tokens have the following meanings:</p><dl><dt class="label">any</dt><dd><p>No constraint on the scale-factor.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a constraint on the scale-factor to match the
specified value.</p></dd></dl><p>Specifies a list of constraints on the scale-factor values that
may be used when <a href="#scaling" class="property">scaling</a> a graphic in the <a href="#width" class="property">width</a> direction.
The list is unordered, except that an "any" value is considered
last and is only used if the <a href="#scaling" class="property">scaling</a> constraints cannot be satisfied
using any of the other specified values.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It is recommended to include "any" in
the list for applications where scrolling is not desired or
available.</p></div></div><div class="div3">
<h4><a name="block-progression-dimension" id="block-progression-dimension"/>7.16.3 block-progression-dimension</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | &lt;length&gt; | &lt;percentage&gt; | &lt;length-range&gt;
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property specifies the <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the content-rectangle
for each area generated by this formatting object.
The user
may specify an explicit <a href="#size" class="property">size</a> (&lt;length&gt; or &lt;percentage&gt;)
or a &lt;length-range&gt;, allowing the <a href="#size" class="property">size</a> to be adjusted by the formatter.</p><p>This property does not apply when the "<a href="#line-height" class="property">line-height</a>" property
applies to the same dimension of the
areas generated by this formatting object.</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>No constraint is imposed by this property.
The <a href="#block-progression-dimension" class="property">block-progression-dimension</a> is determined by the formatter
taking all other constraints into account.</p><p>Specifying <a href="#block-progression-dimension" class="property">block-progression-dimension</a>="auto" will set: </p><ul><li><p>block-progression-dimension.minimum="auto"</p></li><li><p>block-progression-dimension.optimum="auto"</p></li><li><p>block-progression-dimension.maximum="auto"</p></li></ul></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed block-progression-dimension.</p><p>Specifying <a href="#block-progression-dimension" class="property">block-progression-dimension</a>=&lt;length&gt; will set: </p><ul><li><p>block-progression-dimension.minimum=&lt;length&gt;</p></li><li><p>block-progression-dimension.optimum=&lt;length&gt;</p></li><li><p>block-progression-dimension.maximum=&lt;length&gt;</p></li></ul></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage block-progression-dimension. The
percentage is calculated with respect to the corresponding dimension
of the closest area ancestor that was generated by a block-level
formatting object.
If that dimension
is not specified explicitly (i.e., it depends
on content's <a href="#block-progression-dimension" class="property">block-progression-dimension</a>), the value is interpreted
as "auto".</p><p>Specifying <a href="#block-progression-dimension" class="property">block-progression-dimension</a>=&lt;percentage&gt; will
set: </p><ul><li><p>block-progression-dimension.minimum=&lt;percentage&gt;</p></li><li><p>block-progression-dimension.optimum=&lt;percentage&gt;</p></li><li><p>block-progression-dimension.maximum=&lt;percentage&gt;</p></li></ul></dd><dt class="label">&lt;length-range&gt;</dt><dd><p>Specifies the dimension as a length-range, consisting
of:</p><ul><li><p>block-progression-dimension.optimum</p><p>This is the preferred dimension of the area created;
if minimum and
maximum are identical, the area is of a fixed dimension. If they are, respectively,
smaller and larger than optimum, then the area may be adjusted in
dimension within that range.</p><p>A value of "auto" may be specified for optimum, indicating that
there is no preferred dimension, but that the intrinsic or resolved dimension
of the area should be used. If minimum and/or maximum are not also
auto, then the dimension shall be constrained between those limits.</p></li><li><p>block-progression-dimension.minimum</p></li><li><p>block-progression-dimension.maximum</p><p>A value of "auto" may be specified for block-progression-dimension.maximum.
This indicates that there is no absolute maximum limit, and the
object may be sized to its intrinsic size.</p></li></ul><p>Negative values for block-progression-dimension.minimum, block-progression-dimension.optimum,
and block-progression-dimension.maximum are invalid and are treated
as if "0pt" had been specified.</p><p>If the value of block-progression-dimension.optimum is "auto" and
the computed value of block-progression-dimension.minimum is greater
than the computed value of block-progression-dimension.maximum
the block-progression-dimension.minimum is treated as if the value of
block-progression-dimension.maximum had been specified.</p></dd></dl></div><div class="div3">
<h4><a name="content-height" id="content-height"/>7.16.4 content-height</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | scale-to-fit | scale-down-to-fit | scale-up-to-fit |
&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">intrinsic <a href="#height" class="property">height</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The <a href="#content-height" class="property">content-height</a> should be the intrinsic content-height.</p></dd><dt class="label">scale-to-fit</dt><dd><p>The largest scaling-factor permitted will be applied to
the content so that the scaled <a href="#content-height" class="property">content-height</a> is less than or equal
to the <a href="#height" class="property">height</a> of the viewport.
</p></dd><dt class="label">scale-down-to-fit</dt><dd><p>If the intrinsic <a href="#content-height" class="property">content-height</a> is less than or equal to
the <a href="#height" class="property">height</a> of the viewport the <a href="#content-height" class="property">content-height</a> should be the
intrinsic content-height.
Otherwise the largest scaling-factor permitted will be applied to
the content so that the scaled <a href="#content-height" class="property">content-height</a> is less than or equal
to the <a href="#height" class="property">height</a> of the viewport.
</p></dd><dt class="label">scale-up-to-fit</dt><dd><p>If the intrinsic <a href="#content-height" class="property">content-height</a> is greater than or equal to
the <a href="#height" class="property">height</a> of the viewport the <a href="#content-height" class="property">content-height</a> should be the
intrinsic content-height.
Otherwise the largest scaling-factor permitted will be applied to
the content so that the scaled <a href="#content-height" class="property">content-height</a> is less than or equal
to the <a href="#height" class="property">height</a> of the viewport.
</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>An absolute <a href="#size" class="property">size</a> for the content-height.
This value implies a certain <a href="#scaling" class="property">scaling</a> factor to be applied onto the
content.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>A percentage representing a <a href="#scaling" class="property">scaling</a> factor for
the content-height.</p></dd></dl><p>Specifies the <a href="#content-height" class="property">content-height</a> of some object
(e.g., an external graphic). If the value is a percentage,
the value of this property is the percentage applied to the
intrinsic height.</p></div><div class="div3">
<h4><a name="content-width" id="content-width"/>7.16.5 content-width</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | scale-to-fit | scale-down-to-fit | scale-up-to-fit |
&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">intrinsic <a href="#width" class="property">width</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The <a href="#content-width" class="property">content-width</a> should be the intrinsic content-width.</p></dd><dt class="label">scale-to-fit</dt><dd><p>The largest scaling-factor permitted will be applied to
the content so that the scaled <a href="#content-width" class="property">content-width</a> is less than or equal
to the <a href="#width" class="property">width</a> of the viewport.
</p></dd><dt class="label">scale-down-to-fit</dt><dd><p>If the intrinsic <a href="#content-width" class="property">content-width</a> is less than or equal to
the <a href="#width" class="property">width</a> of the viewport the <a href="#content-width" class="property">content-width</a> should be the
intrinsic content-width.
Otherwise the largest scaling-factor permitted will be applied to
the content so that the scaled <a href="#content-width" class="property">content-width</a> is less than or equal
to the <a href="#width" class="property">width</a> of the viewport.
</p></dd><dt class="label">scale-up-to-fit</dt><dd><p>If the intrinsic <a href="#content-width" class="property">content-width</a> is greater than or equal to
the <a href="#width" class="property">width</a> of the viewport the <a href="#content-width" class="property">content-width</a> should be the
intrinsic content-width.
Otherwise the largest scaling-factor permitted will be applied to
the content so that the scaled <a href="#content-width" class="property">content-width</a> is less than or equal
to the <a href="#width" class="property">width</a> of the viewport.
</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>An absolute <a href="#size" class="property">size</a> for the content-width.
This value implies a certain <a href="#scaling" class="property">scaling</a> factor to be applied onto the
content.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>A percentage representing a <a href="#scaling" class="property">scaling</a> factor for
the content-width.</p></dd></dl><p>Specifies the <a href="#content-width" class="property">content-width</a> of some object
(e.g., an external graphic). If the value is a percentage,
the value of this property is the percentage applied to the intrinsic width.</p></div><div class="div3">
<h4><a name="height" id="height"/>7.16.6 height</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-height">
"height" property
</a></p><p>This property specifies the content <a href="#height" class="property">height</a> of boxes generated
by block-level and replaced elements.</p><p>This property does not apply to non-replaced inline-level elements.
The <a href="#height" class="property">height</a> of a non-replaced inline element's boxes is given by
the element's (possibly inherited) '<a href="#line-height" class="property">line-height</a>' value.</p><p> Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The <a href="#height" class="property">height</a> depends on the values of other properties.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed height.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage height. The percentage is calculated
with respect to the <a href="#height" class="property">height</a> of the generated box's containing block.
If the <a href="#height" class="property">height</a> of the containing block is not specified explicitly
(i.e., it depends on content <a href="#height" class="property">height</a>), the value is interpreted like
"auto".</p></dd></dl><p>Negative values for '<a href="#height" class="property">height</a>' are illegal.</p><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, this property is mapped to either "<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>"
or "<a href="#block-progression-dimension" class="property">block-progression-dimension</a>", based on the applicable values
of the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
Details on the mapping are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p><p>For a discussion of the "<a href="#height" class="property">height</a>" property in tables see:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html">http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html</a>
</p></div><div class="div3">
<h4><a name="inline-progression-dimension" id="inline-progression-dimension"/>7.16.7 inline-progression-dimension</h4><p>Writing-mode Relative Equivalent of a CSS2 Property.</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | &lt;length&gt; | &lt;percentage&gt; | &lt;length-range&gt;
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property specifies the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the content-rectangle
for each area generated by this formatting object.
The user
may specify an explicit <a href="#size" class="property">size</a> (&lt;length&gt; or &lt;percentage&gt;)
or a &lt;length-range&gt;, allowing the <a href="#size" class="property">size</a> to be adjusted by the formatter.</p><p>This property does not apply when the "<a href="#line-height" class="property">line-height</a>" property
applies to the same dimension of the
areas generated by this formatting object.</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>No constraint is imposed by this property.
The <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> is determined by the formatter
taking all other constraints into account.</p><p>Specifying <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>=auto will set: </p><ul><li><p>inline-progression-dimension.minimum=auto</p></li><li><p>inline-progression-dimension.optimum=auto</p></li><li><p>inline-progression-dimension.maximum=auto</p></li></ul></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed inline-progression-dimension.</p><p>Specifying <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>=&lt;length&gt; will set: </p><ul><li><p>inline-progression-dimension.minimum=&lt;length&gt;</p></li><li><p>inline-progression-dimension.optimum=&lt;length&gt;</p></li><li><p>inline-progression-dimension.maximum=&lt;length&gt;</p></li></ul></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage inline-progression-dimension. The
percentage is calculated with respect to the corresponding dimension
of the closest area ancestor that was generated by a block-level
formatting object.
If that dimension
is not specified explicitly (i.e., it depends
on content's <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>), the value is interpreted
as "auto".</p><p>Specifying <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>=&lt;percentage&gt; will
set: </p><ul><li><p>inline-progression-dimension.minimum=&lt;percentage&gt;</p></li><li><p>inline-progression-dimension.optimum=&lt;percentage&gt;</p></li><li><p>inline-progression-dimension.maximum=&lt;percentage&gt;</p></li></ul></dd><dt class="label">&lt;length-range&gt;</dt><dd><p>Specifies the dimension as a length-range, consisting
of:</p><ul><li><p>inline-progression-dimension.optimum</p><p>This is the preferred dimension of the area created, if minimum and
maximum are identical, the area is of a fixed dimension. If they are, respectively,
smaller and larger than optimum, then the area may be adjusted in
dimension within that range.</p><p>A value of "auto" may be specified for optimum, indicating that
there is no preferred dimension, but that the intrinsic or resolved dimension
of the area should be used. If minimum and/or maximum are not also
auto, then the dimension shall be constrained between those limits.</p></li><li><p>inline-progression-dimension.minimum</p></li><li><p>inline-progression-dimension.maximum</p><p>A value of "auto" may be specified for inline-progression-dimension.maximum.
This indicates that there is no absolute maximum limit, and the
object may be sized to its intrinsic size.</p></li></ul><p>Negative values for inline-progression-dimension.minimum, inline-progression-dimension.optimum,
and inline-progression-dimension.maximum are invalid and are treated
as if "0pt" had been specified.</p></dd></dl></div><div class="div3">
<h4><a name="max-height" id="max-height"/>7.16.8 max-height</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | none | inherit </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-max-height">
"max-height" property
</a></p><p>These two properties ["<a href="#max-height" class="property">max-height</a>" and "<a href="#min-height" class="property">min-height</a>"]
allow authors to constrain box heights to
a certain range. Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>(Only on "<a href="#max-height" class="property">max-height</a>") No limit on the <a href="#height" class="property">height</a> of the box.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed maximum computed height.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage for determining the computed value.
The percentage is calculated with respect to the <a href="#height" class="property">height</a> of the generated
box's containing block. If the <a href="#height" class="property">height</a> of the containing block is
not specified explicitly (i.e., it depends on content <a href="#height" class="property">height</a>), the
percentage value is interpreted like "none".</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, this property is mapped to either "<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>"
or "<a href="#block-progression-dimension" class="property">block-progression-dimension</a>", based on the applicable values
of the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
Details on the mapping are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></div><div class="div3">
<h4><a name="max-width" id="max-width"/>7.16.9 max-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-max-width">
"max-width" property
</a></p><p>These two properties ["<a href="#max-width" class="property">max-width</a>" and "<a href="#min-width" class="property">min-width</a>"]
allow authors to constrain box widths to
a certain range. Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>(Only on "<a href="#max-width" class="property">max-width</a>") No limit on the <a href="#width" class="property">width</a> of the box.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed maximum computed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage for determining the computed value.
The percentage is calculated with respect to the <a href="#width" class="property">width</a> of the generated
box's containing block.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, this property is mapped to either "<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>"
or "<a href="#block-progression-dimension" class="property">block-progression-dimension</a>", based on the applicable values
of the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
Details on the mapping are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></div><div class="div3">
<h4><a name="min-height" id="min-height"/>7.16.10 min-height</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-min-height">
"min-height" property
</a></p><p>These two properties ["<a href="#max-height" class="property">max-height</a>" and "<a href="#min-height" class="property">min-height</a>"]
allow authors to constrain box heights to
a certain range. Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed minimum computed height.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage for determining the computed value.
The percentage is calculated with respect to the <a href="#height" class="property">height</a> of the generated
box's containing block. If the <a href="#height" class="property">height</a> of the containing block is
not specified explicitly (i.e., it depends on content <a href="#height" class="property">height</a>), the
percentage value is interpreted like "0pt".</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, this property is mapped to either "<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>"
or "<a href="#block-progression-dimension" class="property">block-progression-dimension</a>", based on the applicable values
of the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
Details on the mapping are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></div><div class="div3">
<h4><a name="min-width" id="min-width"/>7.16.11 min-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on UA</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-min-width">
"min-width" property
</a></p><p>These two properties ["<a href="#max-width" class="property">max-width</a>" and "<a href="#min-width" class="property">min-width</a>"]
allow authors to constrain box widths to
a certain range. Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed minimum computed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage for determining the computed value.
The percentage is calculated with respect to the <a href="#width" class="property">width</a> of the generated
box's containing block.</p></dd></dl><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, this property is mapped to either "<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>"
or "<a href="#block-progression-dimension" class="property">block-progression-dimension</a>", based on the applicable values
of the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
Details on the mapping are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></div><div class="div3">
<h4><a name="scaling" id="scaling"/>7.16.12 scaling</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">uniform | non-uniform | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">uniform</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">uniform</dt><dd><p>Scaling should preserve the aspect ratio.</p></dd><dt class="label">non-uniform</dt><dd><p>Scaling need not preserve the aspect ratio.</p></dd></dl><p>Specifies whether <a href="#scaling" class="property">scaling</a> needs to preserve the
intrinsic aspect ratio.</p></div><div class="div3">
<h4><a name="scaling-method" id="scaling-method"/>7.16.13 scaling-method</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | integer-pixels | resample-any-method | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The User Agent is free to choose either resampling,
integer <a href="#scaling" class="property">scaling</a>, or any other <a href="#scaling" class="property">scaling</a> method.
</p></dd><dt class="label">integer-pixels</dt><dd><p>The User Agent should scale the image
such that each pixel in the original image is scaled
to the nearest integer number of device-pixels that
yields an image less-then-or-equal-to the image <a href="#size" class="property">size</a> derived
from the <a href="#content-height" class="property">content-height</a>, <a href="#content-width" class="property">content-width</a>, and <a href="#scaling" class="property">scaling</a> properties.
</p></dd><dt class="label">resample-any-method</dt><dd><p>The User Agent should resample the supplied
image to provide an image that fills the <a href="#size" class="property">size</a> derived
from the <a href="#content-height" class="property">content-height</a>, <a href="#content-width" class="property">content-width</a>, and <a href="#scaling" class="property">scaling</a> properties.
The user agent may use any sampling method.
</p></dd></dl><p>This property is used to indicate a preference in the <a href="#scaling" class="property">scaling</a>/sizing
tradeoff to be used when formatting bitmapped graphics.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This is defined as a preference to allow the user agent the
flexibility to adapt to device limitations and to accommodate
over-constrained situations involving min/max dimensions and
scale factors.</p></div></div><div class="div3">
<h4><a name="width" id="width"/>7.16.14 width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-width">
"width" property
</a></p><p>This property specifies the content <a href="#width" class="property">width</a> of boxes generated
by block-level and replaced elements.</p><p>This property does not apply to non-replaced inline-level elements.
The <a href="#width" class="property">width</a> of a non-replaced inline element's boxes is that of the
rendered content within them (before any relative offset of children).
Recall that inline boxes flow into line boxes. The <a href="#width" class="property">width</a> of line boxes
is given by their containing block, but may be shorted by the
presence of floats.</p><p>The <a href="#width" class="property">width</a> of a replaced element's box is intrinsic and may be
scaled by the user agent if the value of this property is different
than 'auto'.</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The <a href="#width" class="property">width</a> depends on the values of other properties.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed width.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies a percentage width. The percentage is calculated
with respect to the <a href="#width" class="property">width</a> of the generated box's containing block.</p></dd></dl><p>Negative values for "<a href="#width" class="property">width</a>" are illegal.</p><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, this property is mapped to either "<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>"
or "<a href="#block-progression-dimension" class="property">block-progression-dimension</a>", based on the applicable values
of the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#reference-orientation" class="property">reference-orientation</a>" properties.
Details on the mapping are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></div></div><div class="div2">
<h3><a name="d2e37500" id="d2e37500"/>7.17 Block and Line-related Properties</h3><div class="div3">
<h4><a name="hyphenation-keep" id="hyphenation-keep"/>7.17.1 hyphenation-keep</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | column | page | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>No restriction applies. The word may
be hyphenated at the end of any region.</p></dd><dt class="label">column</dt><dd><p>Both parts of a hyphenated word shall
lie within a single column.</p></dd><dt class="label">page</dt><dd><p>Both parts of a hyphenated word shall
lie within a single page.</p></dd></dl><p>Controls whether hyphenation can be
performed on the last line that fits in a given reference-area.</p></div><div class="div3">
<h4><a name="hyphenation-ladder-count" id="hyphenation-ladder-count"/>7.17.2 hyphenation-ladder-count</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">no-limit | &lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no-limit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">no-limit</dt><dd><p>Any number of successive lines may
be hyphenated.</p></dd><dt class="label">&lt;number&gt;</dt><dd><p>An integer greater than or equal to 1.</p><p>If a zero, negative, or non-integer value is provided, the value will
be rounded to the nearest integer value greater than or equal to 1.</p></dd></dl><p>Specifies a limit on the number of successive hyphenated
line-areas the formatter may generate in a
block-area.</p></div><div class="div3">
<h4><a name="last-line-end-indent" id="last-line-end-indent"/>7.17.3 last-line-end-indent</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#last-line-end-indent" class="property">last-line-end-indent</a>" is specified as a length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#last-line-end-indent" class="property">last-line-end-indent</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the closest ancestor block-area.</p></dd></dl><p>Specifies an indent to be applied to the
last line-area child
of the last block-area generated and returned by the formatting
object, and to
any line-area generated by the formatting object whose
following sibling is a block-area that is not a line-area.
It is
added to the block's end-edge. Positive values indent the
edge, negative values outdent the edge.
</p></div><div class="div3">
<h4><a name="line-height" id="line-height"/>7.17.4 line-height</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | &lt;length&gt; | &lt;number&gt; | &lt;percentage&gt; | &lt;space&gt;
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the element itself</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-line-height">
"line-height" property
</a></p><p>Values have the following meanings:</p><dl><dt class="label">normal</dt><dd><p>Tells user agents to set the computed value to a "reasonable"
value based on the <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the element. The value has the same
meaning as &lt;number&gt;. We recommend a computed value for "normal"
between 1.0 to 1.2.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>The box <a href="#height" class="property">height</a> is set to this length. Negative values are
illegal.</p></dd><dt class="label">&lt;number&gt;</dt><dd><p>The computed value of the property is this number multiplied
by the element's <a href="#font" class="property">font</a> size. Negative values are illegal. However,
the number, not the computed value, is inherited.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The computed value of the property is this percentage multiplied
by the element's computed <a href="#font" class="property">font</a> size. Negative values are illegal.</p></dd></dl><p>If the property is set on a block-level element whose content
is composed of inline-level elements, it specifies the minimal <a href="#height" class="property">height</a>
of each generated inline box.</p><p>If the property is set on an inline-level element, it specifies
the exact <a href="#height" class="property">height</a> of each box generated by the element. (Except for
inline replaced elements, where the <a href="#height" class="property">height</a> of the box is given by
the "<a href="#height" class="property">height</a>" property.)</p><p>When an element contains text that is rendered in more than one
<a href="#font" class="property">font</a>, user agents should determine the "<a href="#line-height" class="property">line-height</a>" value according
to the largest <a href="#font" class="property">font</a> size.</p><p>Generally, when there is only one value of "<a href="#line-height" class="property">line-height</a>" for
all inline boxes in a paragraph (and no tall images), the above
will ensure that baselines of successive lines are exactly "<a href="#line-height" class="property">line-height</a>"
apart. This is important when columns of text in different fonts
have to be aligned, for example in a table.</p><p>Note that replaced elements have a "<a href="#font-size" class="property">font-size</a>" and a "<a href="#line-height" class="property">line-height</a>"
property, even if they are not used directly to determine the <a href="#height" class="property">height</a>
of the box. The "<a href="#font-size" class="property">font-size</a>" is, however, used to define the "em"
and "ex" units, and the "<a href="#line-height" class="property">line-height</a>" has a <a href="#role" class="property">role</a> in the "<a href="#vertical-align" class="property">vertical-align</a>" property.
</p><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL the "<a href="#line-height" class="property">line-height</a>" property is used in determining the
<span class="trait">half-leading</span> trait.</p><p>XSL adds the following value with the following meaning:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>Specifies the minimum, optimum, and maximum values,
the conditionality, and <a href="#precedence" class="property">precedence</a> of the "<a href="#line-height" class="property">line-height</a>" that
is used in determining the <span class="trait">half-leading</span>.
</p><p>Negative values for line-height.minimum, line-height.optimum,
and line-height.maximum are invalid and will be interpreted as 0pt.</p><p>The line-height.conditionality setting
can be used to control the half-leading above the first line or
after the last line that is placed in a reference-area. </p><p>The line-height.precedence setting can be used to control the
merging of the half-leading with other spaces.</p></dd></dl><p>If <a href="#line-height" class="property">line-height</a> is specified using &lt;length&gt;, &lt;percentage&gt;,
or &lt;number&gt;, the formatter shall convert the single value to a
space-specifier with the subfields interpreted as follows:</p><ul><li><p>line-height.minimum: the resultant computed value
(as a length) of the &lt;length&gt;, &lt;percentage&gt;, or &lt;number&gt;.</p></li><li><p>line-height.optimum: the resultant computed value (as a
length) of the &lt;length&gt;, &lt;percentage&gt;, or &lt;number&gt;.</p></li><li><p>line-height.maximum: the resultant computed value (as a
length) of the &lt;length&gt;, &lt;percentage&gt;, or &lt;number&gt;.</p></li><li><p>line-height.precedence: force.</p></li><li><p>line-height.conditionality: retain</p></li></ul></div><div class="div3">
<h4><a name="line-height-shift-adjustment" id="line-height-shift-adjustment"/>7.17.5 line-height-shift-adjustment</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">consider-shifts | disregard-shifts | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">consider-shifts</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">consider-shifts</dt><dd><p>In determining the <a href="#line-height" class="property">line-height</a>, include
the adjusted top-edge and bottom-edge of any characters that have
a baseline-shift.</p></dd><dt class="label">disregard-shifts</dt><dd><p>In determining the <a href="#line-height" class="property">line-height</a>, include
the unshifted top-edge and bottom-edge of any characters that have
a baseline-shift.</p></dd></dl><p>This property is used to control whether
the <a href="#line-height" class="property">line-height</a> is adjusted for content that has a baseline-shift.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This property can be used to prevent superscript and subscript
characters from disrupting the line-spacing.</p></div></div><div class="div3">
<h4><a name="line-stacking-strategy" id="line-stacking-strategy"/>7.17.6 line-stacking-strategy</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top"><a href="#line-height" class="property">line-height</a> | font-height | <a href="#max-height" class="property">max-height</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top"><a href="#max-height" class="property">max-height</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">line-height</dt><dd><p>Uses the per-inline-height-rectangle as described in
<a href="#area-line"><b>4.5 Line-areas</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This matches CSS's <a href="#line-height" class="property">line-height</a> and positioning
strategy.</p></div></dd><dt class="label">font-height</dt><dd><p>Uses the nominal-requested-line-rectangle as described in
<a href="#area-line"><b>4.5 Line-areas</b></a>.</p></dd><dt class="label">max-height</dt><dd><p>Uses the maximal-line-rectangle as described in
<a href="#area-line"><b>4.5 Line-areas</b></a>.</p></dd></dl><p>Selects the strategy for positioning
adjacent lines, relative to each other.</p><p>Implementations must support at least the
"<a href="#max-height" class="property">max-height</a>" and "font-height" values defined in this Recommendation,
and may treat "<a href="#line-height" class="property">line-height</a>" as if "<a href="#max-height" class="property">max-height</a>" had been specified.
</p></div><div class="div3">
<h4><a name="linefeed-treatment" id="linefeed-treatment"/>7.17.7 linefeed-treatment</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">treat-as-space</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">ignore</dt><dd><p>Specifies that any <a href="#character" class="property">character</a> flow object whose Unicode
code point is U+000A shall be discarded during the refinement process.</p></dd><dt class="label">preserve</dt><dd><p>Specifies no special action.</p></dd><dt class="label">treat-as-space</dt><dd><p>Specifies that any <a href="#character" class="property">character</a> flow object whose Unicode code point
is U+000A (linefeed) shall be converted during the refinement
process into a <a href="#character" class="property">character</a> flow object whose Unicode code point is
U+0020 (space).</p></dd><dt class="label">treat-as-zero-width-space</dt><dd><p>Specifies that any <a href="#character" class="property">character</a> flow object whose Unicode code point
is U+000A shall be converted during the refinement process into a
<a href="#character" class="property">character</a> flow object whose Unicode code point is U+200B (zero
<a href="#width" class="property">width</a> space).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The Unicode Standard recommends that
the zero <a href="#width" class="property">width</a> space is considered a valid line-break point and that
if two characters with a zero <a href="#width" class="property">width</a> space in between are placed
on the same line they are placed with no space between them and that
if they are placed on two lines no additional glyph area, such as for a
hyphen, is created at the line-break.</p></div></dd></dl><p>
The "<a href="#linefeed-treatment" class="property">linefeed-treatment</a>" property specifies the treatment of linefeeds
(<a href="#character" class="property">character</a> flow objects whose Unicode code point is U+000A)
during the refinement process.</p></div><div class="div3">
<h4><a name="text-align" id="text-align"/>7.17.8 text-align</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x77">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x77</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">start | center | end | justify | inside | outside
| <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | &lt;string&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">start</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-text-align">
"text-align" property
</a></p><p>This property describes how inline content of a block is aligned.
Values have the following meanings:</p><dl><dt class="label">left</dt><dd><p><a href="#left" class="property">left</a> aligned</p></dd><dt class="label">center</dt><dd><p>centred</p></dd><dt class="label">right</dt><dd><p><a href="#right" class="property">right</a> aligned</p></dd><dt class="label">justify</dt><dd><p>justified text</p></dd><dt class="label">&lt;string&gt;</dt><dd><p>Specifies a string on which cells in a table column will
align (see the section on horizontal alignment in a column for details
and an example). This value applies only to table cells. If set
on other elements, it will be treated as '<a href="#left" class="property">left</a>' or '<a href="#right" class="property">right</a>', depending
on whether '<a href="#direction" class="property">direction</a>' is 'ltr', or 'rtl', respectively. </p></dd></dl><p>A block of text is a stack of line boxes. In the case of
'<a href="#left" class="property">left</a>', '<a href="#right" class="property">right</a>' and 'center', this property specifies how the inline
boxes within each line box align with respect to the line box's
<a href="#left" class="property">left</a> and <a href="#right" class="property">right</a> sides; alignment is not with respect to the viewport.
In the case of 'justify', the UA may stretch the inline boxes in
addition to adjusting their positions. (See also '<a href="#letter-spacing" class="property">letter-spacing</a>'
and '<a href="#word-spacing" class="property">word-spacing</a>'.)</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The actual justification algorithm used is user agent and written
language dependent. </p><p>Conforming user agents may interpret the value 'justify' as '<a href="#left" class="property">left</a>'
or '<a href="#right" class="property">right</a>', depending on whether the element's default writing <a href="#direction" class="property">direction</a>
is left-to-right or right-to-left, respectively. </p></div><p><em>XSL modifications to the CSS definition:</em></p><p>Values have the following meanings:</p><dl><dt class="label">start</dt><dd><p>Specifies that the content is to be aligned on the start-edge
in the inline-progression-direction.
</p></dd><dt class="label">center</dt><dd><p>Specifies that the content is to
be centered in the inline-progression-direction.
</p></dd><dt class="label">end</dt><dd><p>Specifies that the content is to be aligned on the end-edge
in the inline-progression-direction.
</p></dd><dt class="label">justify</dt><dd><p>Specifies that the contents is to
be expanded to fill the available <a href="#width" class="property">width</a> in the inline-progression-direction.
</p></dd><dt class="label">inside</dt><dd><p>If the page binding edge is on the start-edge,
the alignment will be start. If the binding is the end-edge,
the alignment will be end. If neither, use start alignment.</p></dd><dt class="label">outside</dt><dd><p>If the page binding edge is on the start-edge,
the alignment will be end. If the binding is the end-edge, the
alignment will be start. If neither, use end alignment.</p></dd><dt class="label">left</dt><dd><p>Interpreted as "<a href="#text-align" class="property">text-align</a>='start'".
</p></dd><dt class="label">right</dt><dd><p>Interpreted as "<a href="#text-align" class="property">text-align</a>='end'".
</p></dd><dt class="label">&lt;string&gt;</dt><dd><p>Specifies a string on which content of cells in a table column will
align (see the section, in the CSS2 Recommendation, on horizontal
alignment in a column for details
and an example). This value applies only if the formatting object is
a descendant of a
table cell. If set on other formatting objects,
it will be treated as "start".</p></dd></dl><p>This property describes how inline content of a block is
aligned. For <a href="#fo_external-graphic" class="el">fo:external-graphic</a>, <a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>, and
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a> it specifies the alignment of other areas as
described in the constraint section for these formatting objects.</p></div><div class="div3">
<h4><a name="text-align-last" id="text-align-last"/>7.17.9 text-align-last</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">relative | start | center | end | justify | inside
| outside | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">relative</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">relative</dt><dd><p>If <a href="#text-align" class="property">text-align</a> is justify, then the alignment of the last
line, and of any line ending in U+000A,
will be start. If <a href="#text-align" class="property">text-align</a> is not justify,
<a href="#text-align-last" class="property">text-align-last</a> will use the value of text-align.</p></dd><dt class="label">start</dt><dd><p>Specifies that the content is to be aligned on the start-edge
in the inline-progression-direction.</p></dd><dt class="label">center</dt><dd><p>Specifies that the contents is to
be centered in the inline-progression-direction.
</p></dd><dt class="label">end</dt><dd><p>Specifies that the content is to be aligned on the end-edge
in the inline-progression-direction.</p></dd><dt class="label">justify</dt><dd><p>Specifies that the contents is to
be expanded to fill the available <a href="#width" class="property">width</a> in the inline-progression-direction.
</p></dd><dt class="label">inside</dt><dd><p>If the page binding edge is on the start-edge,
the alignment will be start. If the binding is the end-edge,
the alignment will be end. If neither, use start-side.</p></dd><dt class="label">outside</dt><dd><p>If the page binding edge is on the start-edge,
the alignment will be end. If the binding is the end-edge the
alignment will be start. If neither, use end alignment.</p></dd><dt class="label">left</dt><dd><p>Interpreted as "<a href="#text-align-last" class="property">text-align-last</a>='start'".
</p></dd><dt class="label">right</dt><dd><p>Interpreted as "<a href="#text-align-last" class="property">text-align-last</a>='end'".
</p></dd></dl><p>Specifies the alignment of the last
line-area child of the last block-area generated and returned
by the formatting object, and to
any line-area generated by the formatting object whose
following sibling is a block-area that is not a line-area,
and any lines in the block ending in U+000A.</p></div><div class="div3">
<h4><a name="text-indent" id="text-indent"/>7.17.10 text-indent</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x76">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x76</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-text-indent">
"text-indent" property
</a></p><p>This property specifies the indentation of the first line of
text in a block. More precisely, it specifies the indentation of
the first box that flows into the block's first line box. The box is
indented with respect to the <a href="#left" class="property">left</a> (or <a href="#right" class="property">right</a>, for right-to-left layout)
edge of the line box. User agents should render this indentation
as blank space.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The indentation is a fixed length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The indentation is a percentage of the containing block
<a href="#width" class="property">width</a></p></dd></dl><p>The value of '<a href="#text-indent" class="property">text-indent</a>' may be negative, but there may
be implementation-specific limits.
If the value of '<a href="#text-indent" class="property">text-indent</a>'
is negative, the value of '<a href="#overflow" class="property">overflow</a>' will affect whether the
text is visible.
</p><p><em>XSL modifications to the CSS definition:</em></p><p>The "<a href="#text-indent" class="property">text-indent</a>" property specifies an adjustment to the
<a href="#start-indent" class="property">start-indent</a> of the
first child <var>L</var> of the first block-area
generated and returned by the formatting object,
provided <var>L</var> is a line-area.</p><p>A negative value specifies a hanging indent (outdent) on the
first line.</p></div><div class="div3">
<h4><a name="white-space-collapse" id="white-space-collapse"/>7.17.11 white-space-collapse</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">false | true | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">true</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">false</dt><dd><p>Specifies no special action.</p></dd><dt class="label">true</dt><dd><p>Specifies, for any <a href="#character" class="property">character</a> flow object such
that:</p><ul><li><p>its <a href="#character" class="property">character</a>
is classified as white space in XML,
<em>and</em>
</p></li><li><p>it is <em>not</em>,
however, a U+000A (linefeed) <a href="#character" class="property">character</a>,
<em>and</em>
</p></li><li><p>the immediately preceding flow object is a <a href="#character" class="property">character</a> flow
object with a <a href="#character" class="property">character</a>
classified as white space in XML
<em>or</em> the immediately <em>
following</em> flow object is a linefeed,
</p></li></ul><p>that flow object shall not generate an area.</p></dd></dl><p>The "<a href="#white-space-collapse" class="property">white-space-collapse</a>" property specifies the treatment of
consecutive white space during
area tree construction.
The overall effect of handling the <a href="#linefeed-treatment" class="property">linefeed-treatment</a> property during
refinement and the <a href="#white-space-collapse" class="property">white-space-collapse</a> and <a href="#white-space-treatment" class="property">white-space-treatment</a>
properties during area tree generation is as follows:
after refinement, where some white space
characters may have been discarded or turned into space
characters, all remaining runs of two or more consecutive spaces
are replaced by a single space, then any remaining space
immediately adjacent to a remaining linefeed is also discarded.</p><p>An implementation is free to use any algorithm to achieve an
equivalent effect.</p></div><div class="div3">
<h4><a name="white-space-treatment" id="white-space-treatment"/>7.17.12 white-space-treatment</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">ignore | preserve | ignore-if-before-linefeed |
ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">ignore-if-surrounding-linefeed</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">ignore</dt><dd><p>Any glyph-area whose Unicode <a href="#character" class="property">character</a> is classified as white space in
XML, except for U+000A, shall be deleted during line-building and
inline-building (see <a href="#area-linebuild"><b>4.7.2 Line-building</b></a>
and <a href="#area-inlinebuild"><b>4.7.3 Inline-building</b></a>).</p></dd><dt class="label">preserve</dt><dd><p>Any glyph-area whose Unicode <a href="#character" class="property">character</a> is classified as white space in
XML shall not be deleted during line-building and inline-building.</p></dd><dt class="label">ignore-if-before-linefeed</dt><dd><p>Any glyph-area with a <a href="#suppress-at-line-break" class="property">suppress-at-line-break</a> value of 'suppress' shall
be deleted during line-building and inline-building if it would be the last
glyph-area descendant of a line-area.</p></dd><dt class="label">ignore-if-after-linefeed</dt><dd><p>Any glyph-area with a <a href="#suppress-at-line-break" class="property">suppress-at-line-break</a> value of 'suppress' shall
be deleted during line-building and inline-building if it would be the
first glyph-area descendant of a line-area.</p></dd><dt class="label">ignore-if-surrounding-linefeed</dt><dd><p>Any glyph-area with a <a href="#suppress-at-line-break" class="property">suppress-at-line-break</a> value of 'suppress' shall
be deleted during line-building and inline-building if it would be the
first or last glyph-area descendant of a line-area.</p></dd></dl><p>The "<a href="#white-space-treatment" class="property">white-space-treatment</a>" property specifies the treatment during
line-building and inline-building of glyph areas, except for linefeeds,
that are classified as white space in XML. This includes
U+0020 (space) and other white space characters but excludes U+000A
(linefeed). Linefeed treatment is determined by the
"<a href="#linefeed-treatment" class="property">linefeed-treatment</a>" property.</p></div><div class="div3">
<h4><a name="wrap-option" id="wrap-option"/>7.17.13 wrap-option</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">no-wrap | wrap | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">wrap</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">no-wrap</dt><dd><p>No line-wrapping will be performed.</p><p>In the case when lines are longer than the available
<a href="#width" class="property">width</a> of the content-rectangle, the
<a href="#overflow" class="property">overflow</a> will be treated in accordance with the
"<a href="#overflow" class="property">overflow</a>" property specified on the
reference-area.</p></dd><dt class="label">wrap</dt><dd><p>Line-breaking will occur if the line overflows the available
block width. No special markers or other treatment will
occur. </p></dd></dl><p>Specifies how line-wrapping (line-breaking)
of the content of the formatting object is to be
handled.</p><p>Implementations must support the "no-wrap" value, as defined in
this Recommendation, when the value of "<a href="#linefeed-treatment" class="property">linefeed-treatment</a>" is
"preserve".</p></div><div class="div3">
<h4><a name="initial-cap-lines" id="initial-cap-lines"/>7.17.14 initial-cap-lines</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;number&gt; | &lt;distance&gt;</td></tr><tr><th>Initial:</th><td>0</td></tr><tr><th>Applies to:</th><td><a href="#fo_inline" class="el">fo:inline</a></td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>refer to inherited font size</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">This property specifies
the number of lines spanned by the initial letter.</p><p>A value of 1.0 would indicate a regular-sized letter, and a value
of 4 would indicate that the first character (or glyph) contained in
the <a href="#fo_inline" class="el">fo:inline</a> bearing this property must be sized such
that its baseline is aligned with the baseline of the 4th line of the
containing block, and the cap-height aligned with the cap-height of
the first line.</p><p>For a vertical script, the corresponding leading and trailing
alignments points must be used.</p><p>If a distance is given instead of a unitless number, it is to be
used instead of computing the distance in terms of line heights; in
this case the formatter is not expected to guarantee alignment of the
baseline of the initial with that of the nearest text baseline.</p><p>If the <a href="#fo_inline" class="el">fo:inline</a> should happen to format to more
than one glyph, the second and subsequent glyphs should be drawn at
the same size as the first, even if after line-breaking this results
in the first character no longer aligning with the fourth
baseline.</p><p>If the value is negative, an implementation <span class="rfc">MAY</span>
interpret it as as "dropping" backwards (e.g. upwards for
horizontal top-to-bottom scripts).</p><p>A non-integral value represents a proportion, so that a value of
3.5 would indicate that the initial should be half-way between the
baselines of the third and fourth lines of text.</p><p>A value of zero <span class="rfc">MUST</span> taken to be the same as the default
value of 1.0, and is in effect ignored.</p><p>If the containing block does not have enough content to span the
given number of lines, the initial <span class="rfc">SHOULD</span> be formatted as
if there was enough content, and the size of the initial cap
<span class="rfc">MUST</span> then be included in the block-direction dimension of
the block.</p><p>If there is not enough room left in the column, page or region, the
initial must be taken onto the next page along with the text.</p><p>When the <a href="#initial-cap-lines" class="property">initial-cap-lines</a> property is set on a
formatting object that is not at the start of the block, any preceding
text should be pushed out into the margin; this is often used for
quote marks.</p></div><div class="div3">
<h4><a name="initial-cap-lines-before" id="initial-cap-lines-before"/>7.17.15 initial-cap-lines-before</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;number&gt; | &lt;distance&gt;</td></tr><tr><th>Initial:</th><td>0pt</td></tr><tr><th>Applies to:</th><td><a href="#fo_inline" class="el">fo:inline</a></td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p>Sometimes an initial capital extends before the start of the text
as well as perhaps continuing for several lines.</p><p class="shortdesc">The <a href="#initial-cap-lines-before" class="property">initial-cap-lines-before</a>
property indicates that the initial is to be formatted at a size
such that it protrudes in the block-direction to the given distance
or number of lines.</p><p>Figure <a href="#fig-initcapgreek">62</a> shows a Greek initial
capital that protrudes above the first line (as measured from the
cap height of the first line of text) as well as extending below
it.</p><p>A value of zero indicates that the leading edge of the initial is
to align exactly with that of capital letters in the regular text
size.</p><p>If the value is negative, an implementation <span class="rfc">MAY</span>
interpret it as as "dropping" forwards.</p><div style="margin-left: 3em;"><div><a name="fig-initcapgreek"/></div>
<img src="figures/greek-raised-drop-cap-small.png" alt="In this Greek example, a large decorative initial Alpha extends above the cap height of the text on the first line, and also reaches down to align to the baseline of the second line of text below." title="Example of a drop cap in Greek, that extends both above and below the initial line."/>
<p><b>Figure 62. </b>Sample Greek Paragraph Starting With Two-Line Initial
Capital Protruding Before and After.</p>
</div></div><div class="div3">
<h4><a name="initial-cap-kern-lines" id="initial-cap-kern-lines"/>7.17.16 initial-cap-kern-lines</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;length&gt; | &lt;integer&gt;</td></tr><tr><th>Initial:</th><td>0</td></tr><tr><th>Applies to:</th><td><a href="#fo_inline" class="el">fo:inline</a></td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>refer to initial-cap-lines-after</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">The <a href="#initial-cap-kern-lines" class="property">initial-cap-kern-lines</a>
property indicates the number of lines of text that should be
abutted to the large inital.</p><p>A value of 1 would indicate that the first line of text should be
set as close as possible, taking into account the shape of the
enlarged glyph.</p><p>If a distance is given, such as 3cm, any lines whose baselines
fall within that distance of the starting reference point of the
initial cap are abutted.</p><p>The value must not be negative. The default value of zero
indicates that no lines are to be kerned closer, and hence all lines
are set using the margin.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In Figure <a href="#fig-initcapfig1">31</a>, the first line is
set close, and subsequent lines are set vertically using the
<a href="#margin" class="property">margin</a> trait of the <a href="#fo_inline" class="el">fo:inline</a>
element where it is next to the text.
</p></div></div><div class="div3">
<h4><a name="initial-cap-indent" id="initial-cap-indent"/>7.17.17 initial-cap-indent</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td></tr><tr><th>Initial:</th><td>0pt</td></tr><tr><th>Applies to:</th><td><a href="#fo_inline" class="el">fo:inline</a></td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>refer to width of enlarged glyph</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p>The exact font size of the initial is in general computed
by the formatter, so the exact distance for an indent must
also be computed.</p><p class="shortdesc">The <a href="#initial-cap-indent" class="property">initial-cap-indent</a>
property distance (either as an absolute value or as a percentage of
the actual formatted initial cap width) by which the initial is
indented in the inline direction.</p><p>The <a href="#initial-cap-indent" class="property">initial-cap-indent</a> property is most often
either zero or negative, moving the initial into the margin; a value
of -50% leaves the glyph centered on the edge of the containing
content area. A value of 20% indents the initial (and hence the first
<em>n</em> lines of text) by one fifth (20%) of the width of that
glyph.</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The enlarged initial is moved in the inline-direction
by the given amount.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The enlarged initial is moved in the inline-direction
by the given percentage of the size of the glyph.</p></dd><dt class="label">&lt;auto&gt;</dt><dd><p>The indent is computed based on any text that precedes the
<a href="#fo_inline" class="el">fo:inline</a> container in the same block; if the initial is
not at the start of a line, the default behaviour (with a
<a href="#initial-cap-indent" class="property">initial-cap-indent</a> of zero, the default
value) is to put such text in the margin: this is most often an
opening quote or other punctuation. With a value of auto, the
initial is placed wherever it occurs, and the resulting trait
value is computed by the formatter.</p></dd></dl></div></div><div class="div2">
<h3><a name="d2e39174" id="d2e39174"/>7.18 Character Properties</h3><div class="div3">
<h4><a name="character" id="character"/>7.18.1 character</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">N/A, value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;character&gt;</dt><dd><p>Specifies the Unicode <a href="#character" class="property">character</a> to be presented.</p></dd></dl></div><div class="div3">
<h4><a name="letter-spacing" id="letter-spacing"/>7.18.2 letter-spacing</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | &lt;length&gt; | &lt;space&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-letter-spacing">
"letter-spacing" property
</a></p><p> This property specifies inter-character space in addition to the default
space between characters. Values may be negative. Note: an implementation
may limit the values, for example based on language and script, or on
font format or output device type, or for other reasons
Values have the following meanings:</p><dl><dt class="label">normal</dt><dd><p>The spacing is the normal spacing for the current font.
This value allows the user agent to alter the space between characters
in order to justify text.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>This value indicates inter-character space in addition
to the default space between characters. Values may be negative,
but there may be implementation-specific limits. User agents may
not further increase or decrease the inter-character space in order
to justify text.</p></dd></dl><p>Character-spacing algorithms are user agent
dependent.
Character spacing may also be influenced by justification (see the
"<a href="#text-align" class="property">text-align</a>" property).</p><p>When the resultant space between two characters is not the same
as the default space, user agents should not use ligatures.</p><p>Conforming user agents may consider the value of the '<a href="#letter-spacing" class="property">letter-spacing</a>'
property to be 'normal'. </p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>This allows the user to specify a range of adjustments
in addition to the default space between characters.</p><p>The minimum
and maximum values specify the limits of the adjustment.</p></dd></dl><p>Default space between characters is defined to be 0pt, i.e.,
glyph-areas stacked with no extra space between the
allocation-rectangles of the glyph-areas.
The <span class="trait">inline-progression-dimension</span>
of the glyph-area is obtained by formatting the <a href="#fo_character" class="el">fo:character</a>.
</p><p>For an <a href="#fo_character" class="el">fo:character</a> that in the Unicode database is
classified as "Alphabetic", unless the
<span class="trait">treat-as-word-space</span> trait has the value "true",
the <span class="trait">space-start</span> and <span class="trait">space-end</span> traits are each set to a value
as follows:</p><ul><li><p>For "normal":
.optimum = "the normal spacing for the current <a href="#font" class="property">font</a>" / 2,
.maximum = auto,
.minimum = auto,
.<a href="#precedence" class="property">precedence</a> = force, and
.conditionality = discard. A value of auto for a component implies
that the limits are User Agent specific.</p></li><li><p>For a &lt;length&gt;:
.optimum = &lt;length&gt; / 2,
.maximum = .optimum,
.minimum = .optimum,
.<a href="#precedence" class="property">precedence</a> = force, and
.conditionality = discard.</p></li><li><p>For a &lt;space&gt;:
a value that is half the value of the "<a href="#letter-spacing" class="property">letter-spacing</a>"
property
for the numeric components and the value for the .<a href="#precedence" class="property">precedence</a> and
.conditionality components.
The initial values for .<a href="#precedence" class="property">precedence</a> is "force" and
for .conditionality "discard".</p></li></ul><p>The CSS statement that "Conforming user agents may consider the
value of the '<a href="#letter-spacing" class="property">letter-spacing</a>' property to be 'normal'." does not apply
in XSL, if the User Agent implements the "Extended" property set.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If it is desired that the letter space combine with other spaces that have
less than forcing <a href="#precedence" class="property">precedence</a>, then the value of the "letter-space" should
be specified as a &lt;space&gt; with <a href="#precedence" class="property">precedence</a> less than force which
implies that space combines according to the space resolution
rules described in <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>.</p></div><p>
The algorithm for resolving the adjusted values between word spacing
and letter spacing is User Agent dependent.</p></div><div class="div3">
<h4><a name="suppress-at-line-break" id="suppress-at-line-break"/>7.18.3 suppress-at-line-break</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | suppress | retain | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property applies only to <a href="#fo_character" class="el">fo:character</a>
and determines whether the <a href="#character" class="property">character</a>'s
representation shall be suppressed when it would occur adjacent to a
line break.
Multiple characters may be so suppressed.</p><p>This property has the following values:</p><dl><dt class="label">auto</dt><dd><p>The value of this property is determined by the Unicode value of the
object's <a href="#character" class="property">character</a> property. The <a href="#character" class="property">character</a> at code point U+0020 is
treated as if 'suppress' had been specified. All other characters are
treated as if 'retain' had been specified.</p><p>This value does not automatically suppress the presentation of the
non-breaking-space (U+00A0), the fixed spaces (U+2000 through U+200A),
or the ideographic-space (U+3000).</p></dd><dt class="label">suppress</dt><dd><p>The glyph area generated by the <a href="#fo_character" class="el">fo:character</a> is eligible to be
suppressed at the start or end of a line-area depending on the
white-space-treatement property. (q.v.)</p></dd><dt class="label">retain</dt><dd><p>The glyph area generated by the <a href="#fo_character" class="el">fo:character</a> shall be placed in the
area tree whether or not it first or last in a line-area.</p></dd></dl></div><div class="div3">
<h4><a name="text-decoration" id="text-decoration"/>7.18.4 text-decoration</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | [ [ underline | no-underline] || [ overline | no-overline ]
|| [ line-through | no-line-through ] || [ blink | no-blink ] ]
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, but see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-text-decoration">
"text-decoration" property
</a></p><p>This property describes decorations that are added to
the text of an element. If the property is specified for a block-level
element, it affects all inline-level descendants of the element. If
it is specified for (or affects) an inline-level element, it affects
all boxes generated by the element. If the element has no content
or no text content (e.g., the IMG element in HTML), user agents
must ignore this property. </p><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>Produces no text decoration.</p></dd><dt class="label">underline</dt><dd><p>Each line of text is underlined.</p></dd><dt class="label">overline</dt><dd><p>Each line of text has a line above it.</p></dd><dt class="label">line-through</dt><dd><p>Each line of text has a line through the middle</p></dd><dt class="label">blink</dt><dd><p>Text blinks (alternates between visible and invisible).
Conforming user agents are not required to support this value.</p></dd></dl><p>The color(s) required for the text decoration should be
derived from the "<a href="#color" class="property">color</a>" property value.</p><p>This property is not inherited, but descendant boxes of a block
box should be formatted with the same decoration (e.g., they should
all be underlined). The color of decorations should remain the same
even if descendant elements have different "<a href="#color" class="property">color</a>" values.</p><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL, the specification of the "underline" value is expanded
as follows:
The placement of the underline depends on whether the
"inline-progression-direction" is oriented horizontally or vertically
and on the "<a href="#language" class="property">language</a>" property.
For horizontal text the underline is placed below the text.
For vertical text the placement depends on the value of the
"<a href="#language" class="property">language</a>" property: the underline is placed on or close to either the
before-edge or the after-edge of the underlined text.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification does not specify the dependence of
the placement of the vertical underline on the "<a href="#language" class="property">language</a>".
It is possible for two conforming XSL processors to place
the underline on different sides of the vertical text.
For Japanese, the placement of the underline is
typically close to the before-edge of the underlined text. For other
languages, such as Chinese, the typical placement is close to the
after-edge of the underlined text.
Implementers should not make any assumptions about how underlines
are placed in particular languages and should properly research
the languages that they wish to support.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>Some fonts have an attribute that suggests where to place the
underline for text in that font. That value is likely to apply only
when the "inline-progression-direction" is oriented horizontally.</p></div><p>XSL adds the following values with the following meanings:</p><dl><dt class="label">no-underline</dt><dd><p>Turns off underlining, if any.</p></dd><dt class="label">no-overline</dt><dd><p>Turns off overlining, if any.</p></dd><dt class="label">no-line-through</dt><dd><p>Turns off line-through, if any.</p></dd><dt class="label">no-blink</dt><dd><p>Turns off blinking, if any.</p></dd></dl></div><div class="div3">
<h4><a name="text-shadow" id="text-shadow"/>7.18.5 text-shadow</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | [&lt;color&gt; || &lt;length&gt; &lt;length&gt; &lt;length&gt;?
,]* [&lt;color&gt; || &lt;length&gt; &lt;length&gt; &lt;length&gt;?] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-text-shadow">
"text-shadow" property
</a></p><p>This property accepts a comma-separated list of shadow
effects to be applied to the text of the element. The shadow effects
are applied in the order specified and may thus overlay each other,
but they will never overlay the text itself. Shadow effects do not
alter the <a href="#size" class="property">size</a> of a box, but may extend beyond its boundaries. The
stack level of the shadow effects is the same as for the element
itself.</p><p>Each shadow effect must specify a shadow offset and may optionally
specify a blur radius and a shadow color.</p><p>A shadow offset is specified with two "length" values that indicate
the distance from the text. The first length value specifies the
horizontal distance to the <a href="#right" class="property">right</a> of the text. A negative horizontal
length value places the shadow to the <a href="#left" class="property">left</a> of the text. The second length
value specifies the vertical distance below the text. A negative
vertical length value places the shadow above the text.</p><p>A blur radius may optionally be specified after the shadow offset.
The blur radius is a length value that indicates the boundaries
of the blur effect. The exact algorithm for computing the blur effect
is not specified.</p><p>A color value may optionally be specified before or after the
length values of the shadow effect. The color value will be used
as the basis for the shadow effect. If no color is specified, the
value of the "<a href="#color" class="property">color</a>" property will be used instead.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The "<a href="#text-shadow" class="property">text-shadow</a>" property is not inherited, it is converted into a
rendering trait. This rendering trait specifies that a rendering effect is
to be applied, collectively, to the glyph images within the area forest
returned by the children of the formatting object on which the property is
specified. That is, for any given glyph area, the glyph image, the marked
portion of that area not including <a href="#background" class="property">background</a>, is copied, shifted by the
shadow offset, then colored and blurred (if so specified) and rendered
after any <a href="#background" class="property">background</a> is rendered and prior to rendering the
glyph image itself. The shadow is colored with the color that will be used
to color the glyph image itself if no color is specified as part of the
shadow effect and with the specified color if a color is specified as part
of the shadow effect. If more than one shadow effect is specified that last
specified effect is rendered first and preceding effects are rendered in
the reverse of the order in which they were specified in the list of shadow
effects.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Since the entire forest of normal areas returned by the formatting
object on which the property applies is affected by the rendering effect it
appears that the shadow effect is inherited. Inheritance would not work
however, because that would not allow all the images of one shadow effect
to be rendered prior to all the glyph images or images or shadow effect
specified before the given shadow effect.</p></div></div><div class="div3">
<h4><a name="text-transform" id="text-transform"/>7.18.6 text-transform</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">capitalize | uppercase | lowercase | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-text-transform">
"text-transform" property
</a></p><p>This property controls capitalization effects of an element's
text. Values have the following meanings:</p><dl><dt class="label">capitalize</dt><dd><p>Puts the first <a href="#character" class="property">character</a> of each word in uppercase.</p></dd><dt class="label">uppercase</dt><dd><p>Puts all characters of each word in uppercase.</p></dd><dt class="label">lowercase</dt><dd><p>Puts all characters of each word in lowercase.</p></dd><dt class="label">none</dt><dd><p>No capitalization effects.</p></dd></dl><p>The actual transformation in each case is written language
dependent. See <a href="#RFC2070">[RFC2070]</a>
for ways to find the language
of an element.</p><p>Conforming user agents may consider the value of "<a href="#text-transform" class="property">text-transform</a>"
to be "none" for characters that are not from the ISO Latin-1 repertoire
and for elements in languages for which the transformation is different
from that specified by the case-conversion tables of Unicode or
ISO 10646.</p><p><em>XSL modifications to the CSS definition:</em></p><p>There are severe internationalization issues with the use
of this property. It has been retained for CSS compatibility, but
its use is not recommended in XSL.</p></div><div class="div3">
<h4><a name="treat-as-word-space" id="treat-as-word-space"/>7.18.7 treat-as-word-space</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | true | false | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property determines if the <a href="#character" class="property">character</a> shall be treated
as a word space or as a normal letter.
</p><p>This property has the following values:</p><dl><dt class="label">auto</dt><dd><p>The value of this property is determined by the Unicode
code point for the character. </p><p>As the default behavior:</p><ul><li><p>The characters at code points U+0020 and U+00A0 are
treated as if 'true' had been specified. All other characters are
treated as if 'false' had been specified.</p></li><li><p>This property does not automatically apply word spacing
to the fixed spaces (U+2000 through U+200A) or the ideographic-space
(U+3000).</p></li><li><p>This default behavior can be overridden by
information in the <a href="#font" class="property">font</a> used for formatting the <a href="#character" class="property">character</a>,
which can specify additional characters that may be
treated as "word spaces".</p></li></ul></dd><dt class="label">true</dt><dd><p>This <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the <a href="#character" class="property">character</a>
shall be adjusted as described in
the "<a href="#word-spacing" class="property">word-spacing</a>" property.</p></dd><dt class="label">false</dt><dd><p>This <a href="#character" class="property">character</a> shall not have a word spacing adjustment
applied.</p></dd></dl></div><div class="div3">
<h4><a name="word-spacing" id="word-spacing"/>7.18.8 word-spacing</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | &lt;length&gt; | &lt;space&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-word-spacing">
"word-spacing" property
</a></p><p>This property specifies spacing behavior between words.
Values have the following meanings:</p><dl><dt class="label">normal</dt><dd><p>The normal inter-word space, as defined by the current
<a href="#font" class="property">font</a> and/or the UA.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>This value indicates inter-word space in addition to the
default space between words. Values may be negative, but there may
be implementation-specific limits.</p></dd></dl><p>Word spacing algorithms are user agent-dependent. Word
spacing is also influenced by justification (see the '<a href="#text-align" class="property">text-align</a>'
property).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The following value type has been added for XSL:</p><dl><dt class="label">&lt;space&gt;</dt><dd><p>This allows the user to specify a range of adjustments
in addition to the default space between words.</p><p>The minimum
and maximum values specify the limits of the adjustment.</p></dd></dl><p>Default space between words is defined to be
the <span class="trait">inline-progression-dimension</span>
of the glyph-area obtained by formatting the current
<a href="#fo_character" class="el">fo:character</a> whose
<span class="trait">treat-as-word-space</span> trait has the value "true".</p><p>For <a href="#fo_character" class="el">fo:character</a> whose <span class="trait">treat-as-word-space</span> trait has the value "true",
the <span class="trait">space-start</span> and <span class="trait">space-end</span> traits are each set to a value
as follows:</p><ul><li><p>For "normal":
.optimum = ("the normal inter-word space, as defined by the
current <a href="#font" class="property">font</a> and/or the UA" - "the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the glyph-area obtained by formatting the <a href="#fo_character" class="el">fo:character</a>") / 2,
.maximum = .optimum,
.minimum = .optimum,
.<a href="#precedence" class="property">precedence</a> = force, and
.conditionality = discard.</p></li><li><p>For a &lt;length&gt;:
.optimum = &lt;length&gt; / 2,
.maximum = .optimum,
.minimum = .optimum,
.<a href="#precedence" class="property">precedence</a> = force, and
.conditionality = discard.</p></li><li><p>For a &lt;space&gt;:
a value that is half the value of the "<a href="#word-spacing" class="property">word-spacing</a>"
property
for the numeric components and the value for the .<a href="#precedence" class="property">precedence</a> and
.conditionality components.
The initial values for .<a href="#precedence" class="property">precedence</a> is "force" and
for .conditionality "discard".</p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>If it is desired that the word space combine with other spaces that have
less than forcing <a href="#precedence" class="property">precedence</a>, then the value of the word space should
be specified as a &lt;space&gt; with <a href="#precedence" class="property">precedence</a> less than force which
implies that space combines according to the space resolution
rules described in <a href="#spacecond"><b>4.3 Spaces and Conditionality</b></a>.</p></div><p>
The algorithm for resolving the adjusted values between word spacing
and letter spacing is User Agent dependent.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The "<a href="#word-spacing" class="property">word-spacing</a>" property only affects the
placement of glyphs
and not the shape that may be associated with the characters. For example,
adjusting a "_" treated as a word space does not lengthen or
shorten the
"_" glyph.
</p></div></div></div><div class="div2">
<h3><a name="d2e40039" id="d2e40039"/>7.19 Color-related Properties</h3><div class="div3">
<h4><a name="color" id="color"/>7.19.1 color</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on user agent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-color">
"color" property
</a></p><dl><dt class="label">&lt;color&gt;</dt><dd><p>Any valid color specification.</p></dd></dl><p>This property describes the foreground color of an element's
text content.</p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL adds an "rgb-icc" function (see <a href="#expr-color-functions"><b>5.10.2 Color Functions</b></a>) as a valid value of this property.</p></div><div class="div3">
<h4><a name="color-profile-name" id="color-profile-name"/>7.19.2 color-profile-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">N/A, value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;name&gt;</dt><dd><p>Specifies the name of a color-profile for internal references.</p></dd></dl></div><div class="div3">
<h4><a name="rendering-intent" id="rendering-intent"/>7.19.3 rendering-intent</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>"<a href="#rendering-intent" class="property">rendering-intent</a>" permits the specification of a color-profile
<a href="#rendering-intent" class="property">rendering-intent</a> other than the default.
"<a href="#rendering-intent" class="property">rendering-intent</a>" is applicable primarily to color-profiles
corresponding to CMYK color
spaces. The different options cause different methods to be used for
translating colors to the color gamut of the target rendering device.</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>This is the default behavior. The User Agent determines the best
intent based on the content type. For image content containing an
embedded profile, it shall be assumed that the intent specified
within the profile is the desired intent. Otherwise, the user agent
shall use the current profile and force the intent,
overriding any intent that might be stored in the profile itself.</p></dd><dt class="label">perceptual</dt><dd><p>This method, often the preferred choice for images,
preserves the relationship between colors. It attempts to
maintain relative color values among the pixels as they are
mapped to the target device
gamut. Sometimes pixel values that were originally within
the target device gamut are changed in order to avoid hue shifts
and discontinuities and to preserve as much as possible the overall
appearance of the scene.</p></dd><dt class="label">relative-colorimetric</dt><dd><p>Leaves colors that fall inside the gamut unchanged.
This method usually converts out of gamut colors to colors
that have the same lightness but fall just inside the gamut.</p></dd><dt class="label">saturation</dt><dd><p>Preserves the relative saturation (chroma) values of the original pixels.
Out of gamut colors are converted to colors that have
the same saturation but fall just inside the gamut.</p></dd><dt class="label">absolute-colorimetric</dt><dd><p>Disables white point matching when converting colors.
This option is generally not recommended.</p></dd></dl></div></div><div class="div2">
<h3><a name="d2e40230" id="d2e40230"/>7.20 Float-related Properties</h3><div class="div3">
<h4><a name="clear" id="clear"/>7.20.1 clear</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | both | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-clear">
"clear" property
</a></p><p>This property indicates which sides of an element's box(es) may
not be adjacent to an earlier floating box. (It may be that the
element itself has floating descendants; the '<a href="#clear" class="property">clear</a>' property has
no effect on those.) </p><p>This property may only be specified for block-level elements
(including floats). For compact and run-in boxes, this property
applies to the final block box to which the compact or run-in box
belongs. </p><p>Values have the following meanings when applied to non-floating
block boxes:</p><dl><dt class="label">left</dt><dd><p>The top <a href="#margin" class="property">margin</a> of the generated box is increased enough
that the top <a href="#border" class="property">border</a> edge is below the <a href="#bottom" class="property">bottom</a> outer edge of any left-floating
boxes that resulted from elements earlier in the source document.</p></dd><dt class="label">right</dt><dd><p>The top <a href="#margin" class="property">margin</a> of the generated box is increased enough
that the top <a href="#border" class="property">border</a> edge is below the <a href="#bottom" class="property">bottom</a> outer edge of any right-floating
boxes that resulted from elements earlier in the source document.</p></dd><dt class="label">both</dt><dd><p>The generated box is moved below all floating boxes of
earlier elements in the source document.</p></dd><dt class="label">none</dt><dd><p>No constraint on the box's <a href="#position" class="property">position</a> with respect to floats.</p></dd></dl><p>When the property is set on floating elements, it results in
a modification of the rules for positioning the float. An extra
constraint (#10) is added [to those specified in the description
of the '<a href="#float" class="property">float</a>' property]: </p><p>10. The top outer edge of the <a href="#float" class="property">float</a> must be below the <a href="#bottom" class="property">bottom</a>
outer edge of all earlier left-floating boxes (in the case of 'clear:
<a href="#left" class="property">left</a>'), or all earlier right-floating boxes (in the case of 'clear:
<a href="#right" class="property">right</a>'), or both ('clear: both'). </p><p><em>XSL modifications to the CSS definition:</em></p><p>A start-float is defined to mean an area with area-class "xsl-side-float" that
was generated by an <a href="#fo_float" class="el">fo:float</a> with property "<a href="#float" class="property">float</a>" specified as "<a href="#left" class="property">left</a>" or "start".</p><p>An end-float is defined to mean an area with area-class "xsl-side-float" that
was generated by an <a href="#fo_float" class="el">fo:float</a> with property "<a href="#float" class="property">float</a>" specified as "<a href="#right" class="property">right</a>" or "end".</p><p>An inside-float is defined to mean an area with area-class "xsl-side-float" that
was generated by an <a href="#fo_float" class="el">fo:float</a> with property "<a href="#float" class="property">float</a>" specified as "inside".</p><p>An outside-float is defined to mean an area with area-class "xsl-side-float" that
was generated by an <a href="#fo_float" class="el">fo:float</a> with property "<a href="#float" class="property">float</a>" specified as "outside".</p><p>A side-float is defined to mean either a start-float or an end-float.</p><p>An area is defined to "<a href="#clear" class="property">clear</a>"
a side-float if the before-edge of the
area's border-rectangle is positioned to be after the after-edge of
the <a href="#float" class="property">float</a>, or if the area is not a descendant of the side-float's parent
reference-area.</p><p>A block-level formatting object is defined "to <a href="#clear" class="property">clear</a>" a side-float
if the areas generated by the formatting object <a href="#clear" class="property">clear</a> the side-float.</p><p>In XSL this property applies to block-level formatting objects and <a href="#fo_float" class="el">fo:float</a>.</p><p>The <a href="#clear" class="property">clear</a> property
when applied to an <a href="#fo_float" class="el">fo:float</a> that generates side-floats
does not apply to the <a href="#fo_float" class="el">fo:float</a>'s anchor-area.</p><p>Values have the following meanings:</p><dl><dt class="label">start</dt><dd><p>Specifies that each area generated
by the formatting object must
<a href="#clear" class="property">clear</a> every start-float whose parent reference-area is the nearest
ancestor reference-area of the generated area, provided the start-float
was generated by an <a href="#fo_float" class="el">fo:float</a> that is before this formatting object,
using pre-order traversal order of the formatting tree. Additionally
specifies that each area generated by the formatting object must
be placed so that the reference-area chain containing the generated
area's nearest ancestor reference-area does not contain a later
reference-area that is the parent of a start-float generated by an
<a href="#fo_float" class="el">fo:float</a> that is before this formatting object, using pre-order
traversal of the formatting tree.</p></dd><dt class="label">end</dt><dd><p>Specifies that each area
generated by the formatting object must
<a href="#clear" class="property">clear</a> every end-float whose parent reference-area is the nearest
ancestor reference-area of the generated area, provided the end-float
was generated by an <a href="#fo_float" class="el">fo:float</a> that is before this formatting object,
using pre-order traversal order of the formatting tree. Additionally
specifies that each area generated by the formatting object must
be placed so that the reference-area chain containing the generated
area's nearest ancestor reference-area does not contain a later
reference-area that is the parent of an end-float generated by an
<a href="#fo_float" class="el">fo:float</a> that is before this formatting object, using pre-order traversal
of the formatting tree.</p></dd><dt class="label">left</dt><dd><p>Interpreted as "<a href="#clear" class="property">clear</a>='start'".</p></dd><dt class="label">right</dt><dd><p>Interpreted as "<a href="#clear" class="property">clear</a>='end'".</p></dd><dt class="label">inside</dt><dd><p>Specifies that each area
generated by the formatting object must
<a href="#clear" class="property">clear</a> every inside-float whose parent reference-area is the nearest
ancestor reference-area of the generated area, provided the inside-float
was generated by an <a href="#fo_float" class="el">fo:float</a> that is before this formatting object,
using pre-order traversal order of the formatting tree. Additionally
specifies that each area generated by the formatting object must
be placed so that the reference-area chain containing the generated
area's nearest ancestor reference-area does not contain a later
reference-area that is the parent of an inside-float generated by an
<a href="#fo_float" class="el">fo:float</a> that is before this formatting object, using pre-order traversal
of the formatting tree.</p></dd><dt class="label">outside</dt><dd><p>Specifies that each area
generated by the formatting object must
<a href="#clear" class="property">clear</a> every outside-float whose parent reference-area is the nearest
ancestor reference-area of the generated area, provided the outside-float
was generated by an <a href="#fo_float" class="el">fo:float</a> that is before this formatting object,
using pre-order traversal order of the formatting tree. Additionally
specifies that each area generated by the formatting object must
be placed so that the reference-area chain containing the generated
area's nearest ancestor reference-area does not contain a later
reference-area that is the parent of an outside-float generated by an
<a href="#fo_float" class="el">fo:float</a> that is before this formatting object, using pre-order traversal
of the formatting tree.</p></dd><dt class="label">both</dt><dd><p>Specifies that each area generated
by the formatting object must
<a href="#clear" class="property">clear</a> every side-float whose parent reference-area is the nearest
ancestor reference-area of the generated area, provided the side-float
was generated by an <a href="#fo_float" class="el">fo:float</a> that is before this formatting object,
using pre-order traversal order of the formatting tree. Additionally
specifies that each area generated by the formatting object must
be placed so that the reference-area chain containing the generated
area's nearest ancestor reference-area does not contain a later
reference-area that is the parent of a side-float generated by an
<a href="#fo_float" class="el">fo:float</a> that is before this formatting object, using pre-order traversal
of the formatting tree.</p></dd><dt class="label">none</dt><dd><p>This property does not impose any constraints.</p></dd></dl><p>When a block-level formatting object is constrained by the "<a href="#clear" class="property">clear</a>" property,
its <a href="#space-before" class="property">space-before</a> property component values may be altered as necessary
for each area that it generates, in order to meet the
constraint. The alterations are constrained to produce the minimum
additional space required to meet the constraint of the "<a href="#clear" class="property">clear</a>" property.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Depending on how near a side-float's after-edge is to
the after-edge of its parent reference-area, a block-level
formatting object may not be able to generate an area that is
a descendant of the side-float's parent reference-area.
In this case the first block-area generated by the formatting object
must be placed in one of the following reference-areas in
the reference-area chain that contains the side-float's
parent reference-area.</p></div></div><div class="div3">
<h4><a name="float" id="float"/>7.20.2 float</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">before | start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | none | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the inline-progression-dimension of content-rectangle of parent area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-float">
"float" property
</a></p><p>This property specifies whether a box should <a href="#float" class="property">float</a> to
the <a href="#left" class="property">left</a>, <a href="#right" class="property">right</a>, or not at all. It may be set for elements that
generate boxes that are not absolutely positioned. Values have the following
meanings:</p><dl><dt class="label">left</dt><dd><p>The element generates a block box that is floated to the
left. Content flows on the <a href="#right" class="property">right</a> side of the box, starting at the
top (subject to the "<a href="#clear" class="property">clear</a>" property). The "display" is ignored,
unless it has the value "none".</p></dd><dt class="label">right</dt><dd><p>Same as "<a href="#left" class="property">left</a>", but content flows on the <a href="#left" class="property">left</a> side of the
box, starting at the top.</p></dd><dt class="label">none</dt><dd><p>The box is not floated.</p></dd></dl><p>Here are the precise rules that govern the behavior of floats:</p><p>1. The <a href="#left" class="property">left</a> outer edge of a left-floating box may not be to the
<a href="#left" class="property">left</a> of the <a href="#left" class="property">left</a> edge of its containing block. An analogous rule
holds for right-floating elements.</p><p>2. If the current box is left-floating, and there are any <a href="#left" class="property">left</a>
floating boxes generated by elements earlier in the source document,
then for each such earlier box, either the <a href="#left" class="property">left</a> outer edge of the
current box must be to the <a href="#right" class="property">right</a> of the <a href="#right" class="property">right</a> outer edge of the
earlier box, or its top must be lower than the <a href="#bottom" class="property">bottom</a> of the earlier
box. Analogous rules hold for right-floating boxes. </p><p>3. The <a href="#right" class="property">right</a> outer edge of a left-floating box may not be to the
<a href="#right" class="property">right</a> of the <a href="#left" class="property">left</a> outer edge of any right-floating box that is to
the <a href="#right" class="property">right</a> of it. Analogous rules hold for right-floating elements. </p><p>4. A floating box's outer top may not be higher than the top of
its containing block.</p><p>5. The outer top of a floating box may not be higher than the
outer top of any block or floated box generated by an element earlier
in the source document.</p><p>6. The outer top of an element's floating box may not be higher
than the top of any line-box containing a box generated by an element
earlier in the source document.</p><p>7. A left-floating box that has another left-floating box to its
<a href="#left" class="property">left</a> may not have its <a href="#right" class="property">right</a> outer edge to the <a href="#right" class="property">right</a> of its containing
block's <a href="#right" class="property">right</a> edge. (Loosely: a <a href="#left" class="property">left</a> <a href="#float" class="property">float</a> may not stick out at
the <a href="#right" class="property">right</a> edge, unless it is already as far to the <a href="#left" class="property">left</a> as possible.)
An analogous rule holds for right-floating elements. </p><p>8. A floating box must be placed as high as possible. </p><p>9. A left-floating box must be put as far to the <a href="#left" class="property">left</a> as possible,
a right-floating box as far to the <a href="#right" class="property">right</a> as possible. A higher <a href="#position" class="property">position</a>
is preferred over one that is further to the <a href="#left" class="property">left</a>/right. </p><p><em>XSL modifications to the CSS definition:</em></p><p>The following values have been added for XSL: "before", "start", "end",
"inside", and "outside".
</p><p>In XSL this property applies only to <a href="#fo_float" class="el">fo:float</a></p><p>Values have the following meanings:</p><dl><dt class="label">before</dt><dd><p>Specifies that the block-areas generated by the <a href="#fo_float" class="el">fo:float</a> shall be
with area-class "xsl-before-float", and shall be descendants of
a before-float-reference-area generated by a conditional sub-region
of a region-body.</p></dd><dt class="label">start</dt><dd><p>Specifies that the block-areas generated by the <a href="#fo_float" class="el">fo:float</a>
shall be with area-class "xsl-side-float" and shall be floated toward
the start-edge of the reference area.</p></dd><dt class="label">end</dt><dd><p>Specifies that the block-areas returned by the <a href="#fo_float" class="el">fo:float</a> shall be
with area-class "xsl-side-float" and shall be floated toward
the end-edge of the reference area.</p></dd><dt class="label">left</dt><dd><p>Interpreted as "<a href="#float" class="property">float</a>='start'".</p></dd><dt class="label">right</dt><dd><p>Interpreted as "<a href="#float" class="property">float</a>='end'".</p></dd><dt class="label">inside</dt><dd><p>Specifies that the block-areas returned by the <a href="#fo_float" class="el">fo:float</a> shall be
with area-class "xsl-side-float" and shall be floated toward an edge
determined by the page binding edge.
If the page binding edge is on the start-edge,
it shall be floated toward the start-edge of the reference area.
If the binding is the end-edge,
it shall be floated toward the end-edge of the reference area.
If neither,
it shall be floated toward the start-edge of the reference area.</p></dd><dt class="label">outside</dt><dd><p>Specifies that the block-areas returned by the <a href="#fo_float" class="el">fo:float</a> shall be
with area-class "xsl-side-float" and shall be floated toward an edge
determined by the page binding edge.
If the page binding edge is on the start-edge,
it shall be floated toward the end-edge of the reference area.
If the binding is the end-edge,
it shall be floated toward the start-edge of the reference area.
If neither,
it shall be floated toward the end-edge of the reference area.</p></dd><dt class="label">none</dt><dd><p>Specifies that the block-areas generated by the <a href="#fo_float" class="el">fo:float</a>
shall be normal.</p></dd></dl><p>This property determines the <span class="trait">area-class</span> trait of the
block-areas returned by the <a href="#fo_float" class="el">fo:float</a>, which controls the placement
and parent of these block-areas.</p></div><div class="div3">
<h4><a name="intrusion-displace" id="intrusion-displace"/>7.20.3 intrusion-displace</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | none | line | indent | block | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>For a reference-area, this value is treated as if "block" had
been specified. For any other area, this value is treated as if
"line" had been specified.</p></dd><dt class="label">none</dt><dd><p>Neither line areas nor block areas are displaced (nor have any
adjustment to their inline progression dimension) due to the
intrusion of the float. The <a href="#float" class="property">float</a> overlays the area without
affecting any of the content of the area, unless the "<a href="#clear" class="property">clear</a>"
property has a specified value other than "none".</p></dd><dt class="label">line</dt><dd><p>The start and end edges of line areas are displaced just
enough so that any intrusions no longer intersects the
content rectangle of the line area.
For the purposes of this test, the allocation rectangle of the
intrusion is used in the intersection. Also, such intersections
are done with respect to the line area prior to its adjustment of
any "<a href="#text-indent" class="property">text-indent</a>". This will cause a reduction in the inline
progression dimension of the line area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This is the behavior of floats described in CSS2.</p></div></dd><dt class="label">indent</dt><dd><p>The start edge (and end edge) of each line within the block
area on which the property occurs is displaced (a) by at least
the same amount it would be displaced by the "line" value of
this property and (b) in addition, by an amount that preserves
the relative offset of that start edge (or end edge) with respect
to the start edge (or end edge) of any other line displaced by
any intrusion that cause the current line to be displaced. If
there is more than one intrusion that could cause a
displacement of the line, the largest such displacement is used.</p></dd><dt class="label">block</dt><dd><p>The start edge (and end edge) of the block is displaced by the
least amount necessary to insure that (a) the start edge (end
edge) of the block does not intersect any of the start intrusions
(end intrusions) that overlap that block and (b) the amount by
which it is displaced is at least as much as the displacement of
the parent area, provided the parent is a block-area which is
not a reference-area. An intrusion is said to overlap a block if
the there is a line parallel to the inline progression <a href="#direction" class="property">direction</a>
that intersects the allocation rectangles of both the block and
the intrusion.</p></dd></dl><p>This property determines the displacement strategy in the presence of
intrusions.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Displacing the start edge (and/or end edge) of a block, necessarily
displaces the start edge (and/or end edge) of all lines and blocks contained
within that block.</p></div></div></div><div class="div2">
<h3><a name="d2e40926" id="d2e40926"/>7.21 Keeps and Breaks Properties</h3><p>Page breaks only apply to descendants of the <a href="#fo_flow" class="el">fo:flow</a>
formatting object, and not within absolutely
positioned areas, or out-of-line areas.
In descendants of <a href="#fo_flow" class="el">fo:flow</a> formatting objects, column breaks apply,
and a column break in the last (or only) column implies a page break;
column breaks in static-content apply except for those in
the last (or only) column, which are ignored.</p><p>The semantics of keeps and breaks are further described in
<a href="#keepbreak"><b>4.8 Keeps and Breaks</b></a>.</p><div class="div3">
<h4><a name="break-after" id="break-after"/>7.21.1 break-after</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | column | page | even-page | odd-page | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values for these properties have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>No break shall be forced. </p><div class="note"><p class="prefix"><b>Note:</b></p><p>Page breaks may occur as determined by the formatter's
processing as affected by the "widow",
"orphan", "<a href="#keep-with-next" class="property">keep-with-next</a>", "<a href="#keep-with-previous" class="property">keep-with-previous</a>", and "<a href="#keep-together" class="property">keep-together</a>"
properties.</p></div></dd><dt class="label">column</dt><dd><p>Imposes a <a href="#break-after" class="property">break-after</a> condition with a context
consisting of column-areas.</p></dd><dt class="label">page</dt><dd><p>Imposes a <a href="#break-after" class="property">break-after</a> condition with a context
consisting of page-areas.</p></dd><dt class="label">even-page</dt><dd><p>Imposes a <a href="#break-after" class="property">break-after</a> condition with a context consisting
of even page-areas (a blank page may be generated if necessary).</p></dd><dt class="label">odd-page</dt><dd><p>Imposes a <a href="#break-after" class="property">break-after</a> condition with a context consisting of odd
page-areas (a blank page may be generated if necessary).</p></dd></dl><p>Specifies that the first normal area generated
by formatting the next formatting object, if any, shall be the first one
placed in a particular context (e.g. page-area, column-area)</p><p>This property has no effect when it appears on an <a href="#fo_table-row" class="el">fo:table-row</a>
formatting object in which there is any row spanning occurring
that includes both the current <a href="#fo_table-row" class="el">fo:table-row</a> and the subsequent one.</p></div><div class="div3">
<h4><a name="break-before" id="break-before"/>7.21.2 break-before</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | column | page | even-page | odd-page | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>No break shall be forced. </p><div class="note"><p class="prefix"><b>Note:</b></p><p>Page breaks may occur as determined by the formatter's processing
as affected by the "widow", "orphan", "<a href="#keep-with-next" class="property">keep-with-next</a>",
"<a href="#keep-with-previous" class="property">keep-with-previous</a>",
and "<a href="#keep-together" class="property">keep-together</a>" properties.</p></div></dd><dt class="label">column</dt><dd><p>Imposes a <a href="#break-before" class="property">break-before</a> condition with a context
consisting of column-areas.</p></dd><dt class="label">page</dt><dd><p>Imposes a <a href="#break-before" class="property">break-before</a> condition with a context
consisting of page-areas.</p></dd><dt class="label">even-page</dt><dd><p>Imposes a <a href="#break-before" class="property">break-before</a> condition with a context consisting of even
page-areas (a blank page may be generated if necessary).</p></dd><dt class="label">odd-page</dt><dd><p>Imposes a <a href="#break-before" class="property">break-before</a> condition with a context consisting of odd
page-areas (a blank page may be generated if necessary).</p></dd></dl><p>Specifies that the first area generated by
formatting this formatting object shall be the first one
placed in a particular context (e.g., page-area, column-area).</p><p>This property has no effect when it appears on an <a href="#fo_table-row" class="el">fo:table-row</a>
formatting object in which there is any row spanning occurring
that includes both the current <a href="#fo_table-row" class="el">fo:table-row</a> and the previous one.</p></div><div class="div3">
<h4><a name="keep-together" id="keep-together"/>7.21.3 keep-together</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;keep&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property imposes <a href="#keep-together" class="property">keep-together</a> conditions on formatting objects.</p><p>The &lt;keep&gt; datatype is composed of three components: within-line,
within-column, and within-page. Different components apply to different
classes of formatting objects and provide keep conditions relative to
different contexts. In the case of the within-line
component, the keep context consists of line-areas;
for the within-column component, the keep
context consists of column-areas;
for the within-page component, the keep context consists of page-areas.
In the descriptions below, the term
"appropriate context" should be
interpreted in terms of the previous sentence.</p><p>Values of the components have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>There are no <a href="#keep-together" class="property">keep-together</a> conditions
imposed by this property.</p></dd><dt class="label">always</dt><dd><p>Imposes a <a href="#keep-together" class="property">keep-together</a> condition with strength "always" in the
appropriate context.</p></dd><dt class="label">&lt;integer&gt;</dt><dd><p>Imposes a <a href="#keep-together" class="property">keep-together</a> condition with strength of the given
&lt;integer&gt; in the appropriate context.</p></dd></dl><p>The semantics of keeps and breaks are further described in
<a href="#keepbreak"><b>4.8 Keeps and Breaks</b></a>.</p></div><div class="div3">
<h4><a name="keep-with-next" id="keep-with-next"/>7.21.4 keep-with-next</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;keep&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property imposes <a href="#keep-with-next" class="property">keep-with-next</a> conditions on formatting objects.</p><p>The &lt;keep&gt; datatype is composed of three components: within-line,
within-column, and within-page. Different components apply to
different classes of formatting objects and provide keep conditions
relative to different contexts. In the case of the
within-line component, the keep context consists of line-areas;
for the within-column component, the keep context consists of
column-areas;
for the within-page component, the keep context consists of page-areas.
In the descriptions
below, the term "appropriate context"
should be interpreted in terms of the previous sentence.</p><p>Values of the components have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>There are no <a href="#keep-with-next" class="property">keep-with-next</a> conditions
imposed by this property.</p></dd><dt class="label">always</dt><dd><p>Imposes a <a href="#keep-with-next" class="property">keep-with-next</a> condition with strength "always" in the
appropriate context.</p></dd><dt class="label">&lt;integer&gt;</dt><dd><p>Imposes a <a href="#keep-with-next" class="property">keep-with-next</a> condition with strength of the given
&lt;integer&gt; in the appropriate context.</p></dd></dl><p>The semantics of keeps and breaks are further described in
<a href="#keepbreak"><b>4.8 Keeps and Breaks</b></a>.</p></div><div class="div3">
<h4><a name="keep-with-previous" id="keep-with-previous"/>7.21.5 keep-with-previous</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;keep&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property imposes <a href="#keep-with-previous" class="property">keep-with-previous</a> conditions on formatting objects.</p><p>The &lt;keep&gt; datatype is composed of three components: within-line,
within-column, and within-page. Different components apply to
different classes of formatting objects and provide keep conditions
relative to different contexts. In the case of the
within-line component, the keep context consists of line-areas;
for the within-column component, the keep context consists of
column-areas;
for the within-page component, the keep context consists of page-areas.
In the descriptions
below, the term "appropriate context"
should be interpreted in terms of the previous sentence.</p><p>Values of the components have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>There are no <a href="#keep-with-previous" class="property">keep-with-previous</a> conditions
imposed by this property.</p></dd><dt class="label">always</dt><dd><p>Imposes a <a href="#keep-with-previous" class="property">keep-with-previous</a> condition with strength "always" in
the appropriate context.</p></dd><dt class="label">&lt;integer&gt;</dt><dd><p>Imposes a <a href="#keep-with-previous" class="property">keep-with-previous</a> condition with strength of the given
&lt;integer&gt; in the appropriate context.</p></dd></dl><p>The semantics of keeps and breaks are further described in
<a href="#keepbreak"><b>4.8 Keeps and Breaks</b></a>.</p></div><div class="div3">
<h4><a name="orphans" id="orphans"/>7.21.6 orphans</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">2</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-orphans">
"orphans" property
</a></p><p>See definition of property <a href="#widows" class="property">widows</a> (<a href="#widows"><b>7.21.7 widows</b></a>).</p></div><div class="div3">
<h4><a name="widows" id="widows"/>7.21.7 widows</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">2</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-widows">
"widows" property
</a></p><p>The "<a href="#orphans" class="property">orphans</a>" property specifies the minimum number of
lines of a paragraph that must be <a href="#left" class="property">left</a> at the <a href="#bottom" class="property">bottom</a> of a page.
The "<a href="#widows" class="property">widows</a>" property specifies the minimum number of lines of a
paragraph that must be <a href="#left" class="property">left</a> at the top of a page.</p><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL the "<a href="#orphans" class="property">orphans</a>" property specifies the minimum number of
line-areas in the first area generated by the formatting object.
The "<a href="#widows" class="property">widows</a>" property specifies the minimum number of line-areas
in the last area generated by the formatting object.
</p></div></div><div class="div2">
<h3><a name="d2e41515" id="d2e41515"/>7.22 Layout-related Properties</h3><p>The following are layout-related properties that are not
common to all formatting objects.
</p><div class="div3">
<h4><a name="clip" id="clip"/>7.22.1 clip</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x68">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x68</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;shape&gt; | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visufx.html#propdef-clip">
"clip" property
</a></p><p>The '<a href="#clip" class="property">clip</a>' property applies to elements that have a '<a href="#overflow" class="property">overflow</a>'
property with a value other than 'visible'. Values have the following
meanings:</p><dl><dt class="label">auto</dt><dd><p>The clipping region has the same <a href="#size" class="property">size</a> and location as the
element's box(es).</p></dd><dt class="label">&lt;shape&gt;</dt><dd><p>In CSS2, the only valid &lt;shape&gt; value is: rect (&lt;top&gt;, &lt;<a href="#right" class="property">right</a>&gt;, &lt;<a href="#bottom" class="property">bottom</a>&gt;, &lt;<a href="#left" class="property">left</a>&gt;) where &lt;top&gt;, &lt;<a href="#bottom" class="property">bottom</a>&gt; &lt;<a href="#right" class="property">right</a>&gt;,
and &lt;<a href="#left" class="property">left</a>&gt; specify offsets from the respective sides of the
box.</p><p>&lt;top&gt;, &lt;<a href="#right" class="property">right</a>&gt;, &lt;<a href="#bottom" class="property">bottom</a>&gt;, and &lt;<a href="#left" class="property">left</a>&gt; may either
have a &lt;length&gt; value or "auto". Negative lengths are permitted.
The value "auto" means that a given edge of the clipping region
will be the same as the edge of the element's generated box (i.e., "auto"
means the same as "0".)</p><p>When coordinates are rounded to pixel coordinates, care should
be taken that no pixels remain visible when &lt;<a href="#left" class="property">left</a>&gt; + &lt;<a href="#right" class="property">right</a>&gt;
is equal to the element's <a href="#width" class="property">width</a> (or &lt;top&gt; + &lt;<a href="#bottom" class="property">bottom</a>&gt; equals
the element's <a href="#height" class="property">height</a>), and conversely that no pixels remain hidden
when these values are 0.</p></dd></dl><p>The element's ancestors may also have clipping regions
(in case their "<a href="#overflow" class="property">overflow</a>" property is not "visible"); what is rendered
is the intersection of the various clipping regions.</p><p>If the clipping region exceeds the bounds of the UA's document
window, content may be clipped to that window by the native operating
environment.</p></div><div class="div3">
<h4><a name="overflow" id="overflow"/>7.22.2 overflow</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x67">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x67</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">visible | hidden | scroll | error-if-overflow | repeat | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visufx.html#propdef-overflow">
"overflow" property
</a></p><p>This property specifies whether the content of a block-level
element is clipped when it overflows the element's box (which is
acting as a containing block for the content). Values have the following
meanings:</p><dl><dt class="label">visible</dt><dd><p>This value indicates that content is not clipped, i.e.,
it may be rendered outside the block box.</p></dd><dt class="label">hidden</dt><dd><p>This value indicates that the content is clipped and that
no scrolling mechanism should be provided to view the content outside
the clipping region; users will not have access to clipped content.
The <a href="#size" class="property">size</a> and shape of the clipping region is specified by the "<a href="#clip" class="property">clip</a>"
property.</p></dd><dt class="label">scroll</dt><dd><p>This value indicates that the content is clipped and that
if the user agent uses a scrolling mechanism that is visible on the
screen (such as a scroll bar or a panner), that mechanism should
be displayed for a box whether or not any of its content is clipped.
This avoids any problem with scrollbars appearing and disappearing
in a dynamic environment. When this value is specified and the target
medium is "print", overflowing content should be
printed.</p></dd><dt class="label">auto</dt><dd><p>The behavior of the "auto" value is user agent
dependent,
but should cause a scrolling mechanism to be provided for overflowing
boxes.</p></dd></dl><p>Even if "<a href="#overflow" class="property">overflow</a>" is set to "visible", content may be
clipped to a UA's document window by the native operating environment.</p><p><em>XSL modifications to the CSS definition:</em></p><p>Two more value are defined
as follows:</p><dl><dt class="label">error-if-overflow</dt><dd><p>This value implies the same semantics as the value "hidden" with the
additional semantic that an error shall be indicated; implementations may
recover by clipping the region.</p></dd><dt class="label">repeat</dt><dd><p>On a formatting object which generates and returns normal
viewport/reference pairs, this value specifies that additional
viewport/reference pairs are to be generated so that the reference-area
component of each pair is no larger than its parent viewport-area. On
other formatting objects (including formatting objects whose
<a href="#absolute-position" class="property">absolute-position</a> trait is "absolute" or "fixed"), it acts as if an
<a href="#overflow" class="property">overflow</a> value of "auto" were specified.</p></dd></dl><p>For print media, implementations must support "auto" and "visible",
as defined in this Recommendation. Other values may be treated as
if "auto" had been specified.</p></div><div class="div3">
<h4><a name="reference-orientation" id="reference-orientation"/>7.22.3 reference-orientation</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top"> 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">0</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area has the same <a href="#reference-orientation" class="property">reference-orientation</a> as
the containing reference-area.</p></dd><dt class="label">90</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area is rotated 90 degrees counter-clockwise from the
<a href="#reference-orientation" class="property">reference-orientation</a> of the containing reference-area.</p></dd><dt class="label">180</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area is rotated 180 degrees counter-clockwise from the
<a href="#reference-orientation" class="property">reference-orientation</a> of the containing reference-area.</p></dd><dt class="label">270</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area is rotated 270 degrees counter-clockwise from the
<a href="#reference-orientation" class="property">reference-orientation</a> of the containing reference-area.</p></dd><dt class="label">-90</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area is rotated 270 degrees counter-clockwise from the
<a href="#reference-orientation" class="property">reference-orientation</a> of the containing reference-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This is equivalent to specifying "270".</p></div></dd><dt class="label">-180</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area is rotated 180 degrees counter-clockwise from the
<a href="#reference-orientation" class="property">reference-orientation</a> of the containing reference-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This is equivalent to specifying "180".</p></div></dd><dt class="label">-270</dt><dd><p>The <a href="#reference-orientation" class="property">reference-orientation</a> of this
reference-area is rotated 90 degrees counter-clockwise from the
<a href="#reference-orientation" class="property">reference-orientation</a> of the containing reference-area.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This is equivalent to specifying "90".</p></div></dd></dl><p>The <a href="#reference-orientation" class="property">reference-orientation</a> specifies
the <a href="#direction" class="property">direction</a> for "<a href="#top" class="property">top</a>" for the content-rectangle of the "reference-area".
This is used as the reference for deriving directions, such as the
block-progression-direction, inline-progression-direction,
etc.
as specified by the "<a href="#writing-mode" class="property">writing-mode</a>" and "<a href="#direction" class="property">direction</a>" properties,
and the orientation, placement, and tiling of the background.
</p><p>The "<a href="#reference-orientation" class="property">reference-orientation</a>" property is applied only on formatting objects
that establish a reference-area.
Each value of "<a href="#reference-orientation" class="property">reference-orientation</a>" sets the absolute <a href="#direction" class="property">direction</a>
for "<a href="#top" class="property">top</a>", "<a href="#left" class="property">left</a>", "<a href="#bottom" class="property">bottom</a>", and "<a href="#right" class="property">right</a>"; which is used by "<a href="#writing-mode" class="property">writing-mode</a>",
"<a href="#direction" class="property">direction</a>", and all positioning operations that are referenced
to the reference-area or are nested within it. </p><p>The <span class="trait">reference-orientation</span> trait on an area is indirectly derived
from the "<a href="#reference-orientation" class="property">reference-orientation</a>" property on the formatting object
that generates the area or the formatting object ancestors of that
formatting object.</p></div><div class="div3">
<h4><a name="span" id="span"/>7.22.4 span</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | all | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>This object does not <a href="#span" class="property">span</a> multiple
columns.</p></dd><dt class="label">all</dt><dd><p>The areas resulting from this flow
object shall <a href="#span" class="property">span</a> all the columns of a multi-column region.</p></dd></dl><p>Specifies if a block-level object
should be placed in the current column or should <a href="#span" class="property">span</a> all columns
of a multi-column region.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This only has effect on areas returned by a flow; e.g.
block-areas generated by <a href="#fo_block" class="el">fo:block</a> children of an <a href="#fo_flow" class="el">fo:flow</a>. Children and
further descendants of these areas take on the spanning characteristic
of their parent.
</p></div></div><div class="div3">
<h4><a name="bleed-box" id="bleed-box"/>7.22.5
bleed-box</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>x1 y2 x2 y2</td></tr><tr><th>Initial:</th><td>0 0 0 0</td></tr><tr><th>Applies to:</th><td>page reference area</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>paged</td></tr></tbody></table><p class="shortdesc">The bleed-box property defines the size and
position of a notional rectangle around the page in which ink might
appear: an implementation should not normally render any content
outside the bleed box, although it is not an error condition if
content is placed there. The primary purpose of the bleed box is so
that when a trimming machine cuts the printed page to size, graphics
or other content can go all the way to the edge of the page, by virtue
of being printed slightly beyond the place where the blade cuts.
Hence, the trim box, whose size and position is specified by the
<a href="#trim-box" class="property">trim-box</a> property, is usually inside the
<a href="#bleed-box" class="property">bleed-box</a></p><p>The values are as follows:</p><dl><dt class="label">x1, y1</dt><dd><p>A relative offset from the page reference area origin,
used to position the origin of the bleed and trim boxes,
respectively. The coordinate system is the same as for the page
reference area. The numbers are distances, and may be
negative.</p></dd><dt class="label">x2, y2</dt><dd><p>Relative offsets from the corner of the page reference
area that is diagonally opposite to its origin; if x1, y1, x2 and
y2 are all zero (the default values) the rectangle will thus be
the same size as, and in the same position as, the page reference
area. The numbers are distances, and may be negative.</p></dd></dl><div style="margin-left: 3em;"><div><a name="fig-bleedstrim"/></div>
<img src="figures/bleeds-trim.png" alt="The diagram shows four nested rectangles, and marks them. First (outermost) is the paper edge, so that the diagram is showing a sheet of paper with three rectangles in it. The next rectangle is the bleeds box, and the printing reaches the edge of this box, but does not cover the gaps an all four sides between the bleeds box and the paper edge. The third rectangle in the diagram is the page reference area; the page reference area is inside the bleeds box. The final (innermost) rectangle is the trim box; everything outside the trim rectangle will be cut away (usually with a stamp or guillotine for book produuction, partly after binding). The trim rectangle is shown as innermost here, bit it could be the same as the page reference area or even outside it. The various rectangles are positioned by x1, y1, x2, y2 offsets from the top let and bottom right corners of the page reference area in the diagram." title="figure showing relative positions of bleed and trim"/>
<p><b>Figure 63. </b>Showing possible placement of bleeds and trim rectangles
relative to the page reference area and the physical medium (paper).</p>
</div></div><div class="div3">
<h4><a name="trim-box" id="trim-box"/>7.22.6
trim-box</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>x1 y2 x2 y2</td></tr><tr><th>Initial:</th><td>0 0 0 0</td></tr><tr><th>Applies to:</th><td>page reference area</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>paged</td></tr></tbody></table><p class="shortdesc">The trim box, is usually inside the
<a href="#bleed-box" class="property">bleed-box</a>. The primary purpose of the trim box is
so that when a trimming machine cuts the printed page to size,
graphics or other content can go all the way to the edge of the page,
by virtue of being printed slightly beyond the place where the blade
cuts. Hence, the trim box is usually inside the
<a href="#bleed-box" class="property">bleed-box</a> </p><p>The values are as follows:</p><dl><dt class="label">x1, y1</dt><dd><p>A relative offset from the page reference area origin,
used to position the origin of the bleed and trim boxes,
respectively. The coordinate system is the same as for the page
reference area. The numbers are distances, and may be
negative.</p></dd><dt class="label">x2, y2</dt><dd><p>Relative offsets from the corner of the page reference
area that is diagonally opposite to its origin; if x1, y1, x2 and
y2 are all zero (the default values) the rectangle will thus be
the same size as, and in the same position as, the page reference
area. The numbers are distances, and may be negative.</p></dd></dl><div style="margin-left: 3em;"><div><a name="fig-bleedstrim"/></div>
<img src="figures/bleeds-trim.png" alt="The diagram shows four nested rectangles, and marks them. First (outermost) is the paper edge, so that the diagram is showing a sheet of paper with three rectangles in it. The next rectangle is the bleeds box, and the printing reaches the edge of this box, but does not cover the gaps an all four sides between the bleeds box and the paper edge. The third rectangle in the diagram is the page reference area; the page reference area is inside the bleeds box. The final (innermost) rectangle is the trim box; everything outside the trim rectangle will be cut away (usually with a stamp or guillotine for book produuction, partly after binding). The trim rectangle is shown as innermost here, bit it could be the same as the page reference area or even outside it. The various rectangles are positioned by x1, y1, x2, y2 offsets from the top let and bottom right corners of the page reference area in the diagram." title="figure showing relative positions of bleed and trim"/>
<p><b>Figure 64. </b>Showing possible placement of bleeds and trim rectangles
relative to the page reference area and the physical medium (paper).</p>
</div></div></div><div class="div2">
<h3><a name="d2e42160" id="d2e42160"/>7.23 Leader and Rule Properties</h3><div class="div3">
<h4><a name="leader-alignment" id="leader-alignment"/>7.23.1 leader-alignment</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | reference-area | page | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>Leader-pattern has no special alignment.</p></dd><dt class="label">reference-area</dt><dd><p>Leader-pattern is aligned as if it began on the current
reference-area's content-rectangle start-edge.</p></dd><dt class="label">page</dt><dd><p>Leader-pattern is aligned as if it began on the current
page's start-edge.</p></dd></dl><p>Specifies whether <a href="#fo_leader" class="el">fo:leader</a>s having identical content and property values
shall have their patterns aligned with each other, with respect to their
common reference-area or page.</p><p>For <a href="#fo_leader" class="el">fo:leader</a>s where the "<a href="#leader-pattern" class="property">leader-pattern</a>" property is specified as
"dot" or as "use-content", this property will be honored.
</p><p>If the <a href="#fo_leader" class="el">fo:leader</a> is aligned, the start-edge of each cycle of the
repeated pattern will be placed on the start-edge of the next cycle
in the appropriate pattern-alignment grid.</p></div><div class="div3">
<h4><a name="leader-pattern" id="leader-pattern"/>7.23.2 leader-pattern</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">space | rule | dots | use-content | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">space</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">space</dt><dd><p>Leader is to be filled with blank space.</p></dd><dt class="label">rule</dt><dd><p>Leader is to be filled with a rule.</p><p>If this choice is selected, the "<a href="#rule-thickness" class="property">rule-thickness</a>" and "<a href="#rule-style" class="property">rule-style</a>"
properties are used to set the leader's style.</p></dd><dt class="label">dots</dt><dd><p>Leader is to be filled with a repeating sequence of dots.
The choice of dot <a href="#character" class="property">character</a> is dependent on the user agent.</p></dd><dt class="label">use-content</dt><dd><p>Leader is to be filled with a repeating pattern as specified
by the children of the <a href="#fo_leader" class="el">fo:leader</a>.</p></dd></dl><p>Provides the specification of how to fill in the leader.</p><p>If the leader is aligned, the start-edge of each cycle of each
repeating pattern component will be placed on the start-edge of
the next cycle in the pattern-alignment grid.</p><p>Implementations must support the "space", "rule", and "dots"
values, as defined in this Recommendation. The "use-content" value
may be treated as if "space" had been specified.</p></div><div class="div3">
<h4><a name="leader-pattern-width" id="leader-pattern-width"/>7.23.3 leader-pattern-width</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">use-font-metrics </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of content-rectangle of parent area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">use-font-metrics</dt><dd><p>Use the <a href="#width" class="property">width</a> of the <a href="#leader-pattern" class="property">leader-pattern</a> as determined from
its <a href="#font" class="property">font</a> metrics.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Sets length for leader-pattern-repeating. </p><p>The leader will have an inline-space inserted after each pattern
cycle to account for any difference between the <a href="#width" class="property">width</a> of the pattern
as determined by the <a href="#font" class="property">font</a> metrics and the <a href="#width" class="property">width</a> specified in this
property. </p><p>If the length specified is less than the value that would be
determined via the use-font-metrics choice,
the value of this property is computed
as if use-font-metrics choice had been specified.</p></dd></dl><p>Specifies the length of each repeat cycle in a repeating leader. </p><p>For leaders where the "<a href="#leader-pattern" class="property">leader-pattern</a>" property is specified as
"dots" or as "use-content", this property will be honored.
</p></div><div class="div3">
<h4><a name="leader-length" id="leader-length"/>7.23.4 leader-length</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length-range&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100% </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of content-rectangle of parent area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length-range&gt;</dt><dd><p>leader-length.minimum=sets minimum length for a leader</p><p>leader-length.optimum=sets optimum length for a leader</p><p>leader-length.maximum=sets maximum length for a leader</p></dd></dl><p>Specifies the minimum, optimum, and maximum length of an <a href="#fo_leader" class="el">fo:leader</a>.
</p><p>This property constrains the length of the leader to be between the minimum
and maximum lengths.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>User agents may choose to use the value of "leader-length.optimum"
to determine where to break the line, then use the minimum and
maximum values during line justification.</p><p>Leader length values such as:</p><div class="exampleInner"><pre>
leader-length.minimum="0pt"
leader-length.optimum="12pt"
leader-length.maximum="100%"
</pre></div><p>would specify constraints that would cause the leader to
fill all available space within the current line area as part of
the process of justifying that line area.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>As with all other space and
formatting objects within a line area
whose <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> provides minimum/optimum/maximum
constraints, a leader formatting object's length-range provides
further flexibility to the justification process. Though any result
that satisfies the specified constraints would conform to this
specification, current typographic practice would
tend to make use of leader length flexibility
in preference to other flexibility (e.g. word spaces) within the same
line area when justifying the line.
If multiple leader formatting objects occur within the same line area,
current typographic practice would tend to make use of the length
flexibility of all of them in some implementation defined manner
(e.g. equally or proportionally to the
specified leader-length.maximum values).</p></div></div><div class="div3">
<h4><a name="rule-style" id="rule-style"/>7.23.5 rule-style</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">none | dotted | dashed | solid | double | groove
| ridge | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">solid</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the style (pattern) of the rule.</p><p>This property applies only if the "<a href="#leader-pattern" class="property">leader-pattern</a>" property is
specified as "rule".</p><p>Values have the following meanings:</p><dl><dt class="label">none</dt><dd><p>No rule, forces <a href="#rule-thickness" class="property">rule-thickness</a> to 0.</p></dd><dt class="label">dotted</dt><dd><p>The rule is a series of dots.</p></dd><dt class="label">dashed</dt><dd><p>The rule is a series of short line segments.</p></dd><dt class="label">solid</dt><dd><p>The rule is a single line segment.</p></dd><dt class="label">double</dt><dd><p>The rule is two solid lines. The sum of the two lines and
the space between them equals the value of "<a href="#rule-thickness" class="property">rule-thickness</a>". </p></dd><dt class="label">groove</dt><dd><p>The rule looks as though it were carved into the canvas.
(Top/<a href="#left" class="property">left</a> half of the rule's thickness is the color specified;
the other half is white.)</p></dd><dt class="label">ridge</dt><dd><p>The opposite of "groove", the rule looks as though it were
coming out of the canvas. (Bottom/<a href="#right" class="property">right</a> half of the rule's thickness
is the color specified;
the other half is white.)</p></dd></dl><p>Implementations must support the "none" and "solid" values,
as defined in this Recommendation. Other values may be treated as if
"solid" had been specified.</p></div><div class="div3">
<h4><a name="rule-thickness" id="rule-thickness"/>7.23.6 rule-thickness</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">1.0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the overall thickness of the rule.</p><p>This property applies only if the "<a href="#leader-pattern" class="property">leader-pattern</a>" property is
specified as "rule".</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#rule-thickness" class="property">rule-thickness</a>" is always perpendicular
to its length-axis. </p><p>The rule is thickened equally above and below the line's
alignment position. This can be adjusted through the "<a href="#baseline-shift" class="property">baseline-shift</a>"
property.</p></dd></dl></div></div><div class="div2">
<h3><a name="d2e42652" id="d2e42652"/>7.24 Properties for Dynamic Effects Formatting Objects</h3><div class="div3">
<h4><a name="active-state" id="active-state"/>7.24.1 active-state</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">link | visited | active | hover | focus</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">link</dt><dd><p>This <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> applies if
there is an <a href="#fo_basic-link" class="el">fo:basic-link</a> descendant of the parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a>
and that link has not yet been visited.</p></dd><dt class="label">visited</dt><dd><p>This <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> applies if
there is an <a href="#fo_basic-link" class="el">fo:basic-link</a> descendant of the parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a>
and that link has been visited.</p></dd><dt class="label">active</dt><dd><p>This <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> applies
while a normal area returned by the parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a> is
being activated by the user. For example, between the times the user
presses the mouse button and releases it.
</p></dd><dt class="label">hover</dt><dd><p>This <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> applies
while the user designates a normal area returned by
the parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a> (with some pointing device),
but does not activate it. For example
the cursor (mouse pointer) hovers over such an area.
</p></dd><dt class="label">focus</dt><dd><p>This <a href="#fo_multi-property-set" class="el">fo:multi-property-set</a> applies
while a normal area returned by the parent <a href="#fo_multi-properties" class="el">fo:multi-properties</a>
has the focus (accepts keyboard events or other forms of
text input).
</p></dd></dl><p>The "<a href="#active-state" class="property">active-state</a>" property is used to control which of the
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>s
are used to <a href="#format" class="property">format</a> the child flow objects within an
<a href="#fo_multi-properties" class="el">fo:multi-properties</a>
formatting object. The states (or at least the events that
cause the state to be entered) are defined by the DOM.</p></div><div class="div3">
<h4><a name="auto-restore" id="auto-restore"/>7.24.2 auto-restore</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">true</dt><dd><p>If this <a href="#fo_multi-switch" class="el">fo:multi-switch</a>
is contained in another <a href="#fo_multi-switch" class="el">fo:multi-switch</a>, and that <a href="#fo_multi-switch" class="el">fo:multi-switch</a>
changes the active <a href="#fo_multi-case" class="el">fo:multi-case</a> (hiding this <a href="#fo_multi-switch" class="el">fo:multi-switch</a>),
then this <a href="#fo_multi-switch" class="el">fo:multi-switch</a> should restore its initial <a href="#fo_multi-case" class="el">fo:multi-case</a>.</p></dd><dt class="label">false</dt><dd><p>This <a href="#fo_multi-switch" class="el">fo:multi-switch</a>
should retain its current <a href="#fo_multi-case" class="el">fo:multi-case</a>.</p></dd></dl><p>Specifies if the initial <a href="#fo_multi-case" class="el">fo:multi-case</a> should be restored
when the <a href="#fo_multi-switch" class="el">fo:multi-switch</a> gets hidden by an ancestor <a href="#fo_multi-switch" class="el">fo:multi-switch</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A common case of using this property with a "true" value
is when several nested <a href="#fo_multi-switch" class="el">fo:multi-switch</a> objects
build an expandable/collapsible table-of-contents view. If the
table-of-contents is expanded far down the hierarchy, and an (far
above) ancestor is closed, one would want all subtitles to have
restored to their original state when that ancestor is opened again.</p></div></div><div class="div3">
<h4><a name="case-name" id="case-name"/>7.24.3 case-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><dl><dt class="label">&lt;name&gt;</dt><dd><p>Specifies a name for an <a href="#fo_multi-case" class="el">fo:multi-case</a>. The name must be unique
among the current <a href="#fo_multi-case" class="el">fo:multi-case</a> siblings, i.e., in the scope of
the <a href="#fo_multi-switch" class="el">fo:multi-switch</a> object that (directly) contains them. Other
instances of <a href="#fo_multi-switch" class="el">fo:multi-switch</a> objects may use the same names for
its <a href="#fo_multi-case" class="el">fo:multi-case</a> objects.</p></dd></dl><p>The purpose of this property is to allow <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> objects
to select <a href="#fo_multi-case" class="el">fo:multi-case</a> objects to switch to.</p></div><div class="div3">
<h4><a name="case-title" id="case-title"/>7.24.4 case-title</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><dl><dt class="label">&lt;string&gt;</dt><dd><p>Specifies a descriptive title for the <a href="#fo_multi-case" class="el">fo:multi-case</a>. The title
can be displayed in a menu to represent this <a href="#fo_multi-case" class="el">fo:multi-case</a> when
an <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a> object names several <a href="#fo_multi-case" class="el">fo:multi-case</a> objects as
allowed destinations.</p></dd></dl></div><div class="div3">
<h4><a name="destination-placement-offset" id="destination-placement-offset"/>7.24.5 destination-placement-offset</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#destination-placement-offset" class="property">destination-placement-offset</a>" property specifies
the distance from the beginning (top) of the page to the innermost
line-area that contains the first destination area.</p></dd></dl><p> If the first
destination area is not contained in a line-area, the "<a href="#destination-placement-offset" class="property">destination-placement-offset</a>" property
instead directly specifies the distance to the top of the destination
area.</p><p>If the specification of <a href="#destination-placement-offset" class="property">destination-placement-offset</a> would
result in a distance longer than the distance from the start of
the document, the distance from the start of the document should
be used.</p><p>If the specified distance would push the first destination area
below the page-area, the distance should be decreased so the whole
first destination area becomes visible, if possible. If the first
destination area is higher than the page, the top of the area should
be aligned with the top of the page.</p></div><div class="div3">
<h4><a name="external-destination" id="external-destination"/>7.24.6 external-destination</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">empty string | &lt;uri-specification&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">empty string</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><dl><dt class="label">&lt;uri-specification&gt;</dt><dd><p>Specifies the destination resource (or, when a fragment
identifier is given, sub-resource).</p></dd></dl><p>How the destination (sub-)resource is used and/or displayed
is application and implementation-dependent. In typical
browsing applications, the destination resource is displayed
in the browser positioned so that some rendered portion
resulting from the processing of some part of the specific
destination sub-resource indicated by the fragment identifier
is in view.</p></div><div class="div3">
<h4><a name="indicate-destination" id="indicate-destination"/>7.24.7 indicate-destination</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">true</dt><dd><p>The areas that belong to the link target
when traversed should, in a system-dependent manner, be indicated.</p></dd><dt class="label">false</dt><dd><p>No special indication should be made.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>This could be indicated in any feasible way, e.g., by reversed
video, etc.</p></div></div><div class="div3">
<h4><a name="internal-destination" id="internal-destination"/>7.24.8 internal-destination</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">empty string | &lt;idref&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">empty string</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><dl><dt class="label">&lt;idref&gt;</dt><dd><p>Specifies the destination flow object within the
formatting object tree.</p></dd></dl><p>
This property allows the destination flow object node to be explicitly
specified.</p></div><div class="div3">
<h4><a name="show-destination" id="show-destination"/>7.24.9 show-destination</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">replace | new</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">replace</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">replace</dt><dd><p>The current document view should be replaced. However,
if the destination area(s) are already available in a page/region,
those areas should simply be moved/scrolled "into sight".</p></dd><dt class="label">new</dt><dd><p>A new (additional) document view should always be opened.</p></dd></dl><p>Specifies where the destination resource should be displayed.</p></div><div class="div3">
<h4><a name="starting-state" id="starting-state"/>7.24.10 starting-state</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">show | hide</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">show</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Specifies how the formatting object to which it applies
is initially displayed.</p><p>Values have the following meanings:</p><dl><dt class="label">show</dt><dd><p>The content of the formatting object is a candidate for being
displayed initially.</p></dd><dt class="label">hide</dt><dd><p>The content of the formatting object is not a candidate for being
displayed initially.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>For details of the typical usage of this property, see the
description of <a href="#fo_multi-switch"><b>6.9.3 fo:multi-switch</b></a>
and <a href="#fo_bookmark"><b>6.11.2 fo:bookmark</b></a>.</p></div></div><div class="div3">
<h4><a name="switch-to" id="switch-to"/>7.24.11 switch-to</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">xsl-preceding | xsl-following | xsl-any | &lt;name&gt;[ &lt;name&gt;]*</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">xsl-any</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">xsl-preceding</dt><dd><p>Activating the switch should result in the current
<a href="#fo_multi-case" class="el">fo:multi-case</a> being replaced by its preceding sibling.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The current <a href="#fo_multi-case" class="el">fo:multi-case</a> is the closest ancestor <a href="#fo_multi-case" class="el">fo:multi-case</a>.</p></div><p>In other words, the current <a href="#fo_multi-switch" class="el">fo:multi-switch</a> should switch to
the previous sibling of the <a href="#fo_multi-case" class="el">fo:multi-case</a> that is currently selected.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The current <a href="#fo_multi-switch" class="el">fo:multi-switch</a> is the closest ancestor <a href="#fo_multi-switch" class="el">fo:multi-switch</a>.</p></div><p>If the current <a href="#fo_multi-case" class="el">fo:multi-case</a> is the first sibling, xsl-preceding
should switch to the last <a href="#fo_multi-case" class="el">fo:multi-case</a> sibling.</p></dd><dt class="label">xsl-following</dt><dd><p>Activating the switch should result in that the current
<a href="#fo_multi-case" class="el">fo:multi-case</a> is replaced by its next sibling.</p><p>If the current <a href="#fo_multi-case" class="el">fo:multi-case</a> is the last sibling, xsl-following
should switch to the first <a href="#fo_multi-case" class="el">fo:multi-case</a> sibling.</p></dd><dt class="label">xsl-any</dt><dd><p>Activating the switch should allow the user to select any
other <a href="#fo_multi-case" class="el">fo:multi-case</a> sibling.</p><p>If there is only a single other <a href="#fo_multi-case" class="el">fo:multi-case</a>, the toggle should
immediately switch to it (and not show that single choice to the
user).</p></dd><dt class="label">&lt;name&gt;</dt><dd><p>A name matching a <a href="#case-name" class="property">case-name</a> of an <a href="#fo_multi-case" class="el">fo:multi-case</a>.</p></dd></dl><p>Specifies what <a href="#fo_multi-case" class="el">fo:multi-case</a> object(s) this <a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>
shall switch to.</p><p>If <a href="#switch-to" class="property">switch-to</a> is a name list, the user can switch to any of the
named multi-case objects. If a multi-toggle with a single name is
activated, it should immediately switch to the named multi-case.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>How to actually select the multi-case from a list
is system dependent.</p></div></div><div class="div3">
<h4><a name="target-presentation-context" id="target-presentation-context"/>7.24.12 target-presentation-context</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">use-target-processing-context | &lt;uri-specification&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">use-target-processing-context</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">use-target-processing-context</dt><dd><p>The context specified by the "<a href="#target-processing-context" class="property">target-processing-context</a>" property
shall be used.</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>Specifies the limited context in which the resource should be
presented if the external destination is a resource of a processed
structured media type for which a limited presentational context makes
sense (e.g., XML, XHTML, SVG).</p></dd></dl><p>This property is ignored if the "<a href="#external-destination" class="property">external-destination</a>" property has
an empty string value or if the external destination is not of
a processed structured media type for which a
limited presentational context makes sense.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, an XML and XSL implementation may parse the XML
document, but begin XSLT processing by applying templates to the node
set indicated by the "<a href="#target-presentation-context" class="property">target-presentation-context</a>" property.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>If this is a node other than the document root,
numbering and other contextually-dependent presentation may differ
between implementations. Some implementations may want to make
this tradeoff for memory or performance reasons.</p></div></div><div class="div3">
<h4><a name="target-processing-context" id="target-processing-context"/>7.24.13 target-processing-context</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">document-root | &lt;uri-specification&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">document-root</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">document-root</dt><dd><p>The root of the document of the <a href="#external-destination" class="property">external-destination</a> is used.</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>Specifies the root of a virtual document that the processor
preparing the new presentation should process if the external destination
is a resource of a processed structured media type (e.g., XML, SVG).
</p></dd></dl><p>This property is ignored if the "<a href="#external-destination" class="property">external-destination</a>" property has
an empty string value or if the external destination is not of
a processed structured media type.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Not all URI-specifications will be sensible roots, e.g., an XPointer that
gives a string range into an XML document.</p></div><p>If the root is not valid for the media type
the processor may ignore this property.</p></div><div class="div3">
<h4><a name="target-stylesheet" id="target-stylesheet"/>7.24.14 target-stylesheet</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">use-normal-stylesheet | &lt;uri-specification&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">use-normal-stylesheet</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">use-normal-stylesheet</dt><dd><p>The implementation will
discover stylesheets using its usual methods.</p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>Specifies the stylesheet that shall be used for processing the
resource. This stylesheet shall be used instead of any other stylesheet
that otherwise would be used.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>For example from
HTTP header information, XML stylesheet processing instructions,
or XHTML style and link elements.</p></div><p>This property is ignored if the "<a href="#external-destination" class="property">external-destination</a>" property has
an empty string value or if the external destination is not of
a media type that uses stylesheets.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In this version of XSL, only a single stylesheet URI-specification is
permitted.
A future version of XSL may extend the stylesheet specification.
</p></div></div></div><div class="div2">
<h3><a name="d2e43670" id="d2e43670"/>7.25 Properties for Indexing</h3><div class="div3">
<h4><a name="index-class" id="index-class"/>7.25.1 index-class</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">empty string</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Associates an index class with a formatting object that also has
an index key specified.</p><dl><dt class="label">&lt;string&gt;</dt><dd><p>Specifies the name of the index class.</p></dd></dl><p>All elements with an index class that is an empty string
are in the same index class.
That class is distinct from all other classes.</p><p>The <a href="#index-class" class="property">index-class</a> property is ignored on any formatting object
for which an <a href="#index-key" class="property">index-key</a> property has not been specified.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Index class values enable control over how page numbers are
merged into ranges.
Page numbers from different classes are not merged so specifying
an index class can be used to control, for example,
whether a range of pages crossing from the preface into the first
chapter will be rendered as "vi-14" or "vi-xx, 1-14".</p></div></div><div class="div3">
<h4><a name="index-key" id="index-key"/>7.25.2 index-key</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Associates an index key with the formatting object on which it
is specified.</p><dl><dt class="label">&lt;string&gt;</dt><dd><p>Specifies the index key.
</p></dd></dl><p>All index keys with the same value identify the same index item
for the purpose of generating lists of page number citations.</p></div><div class="div3">
<h4><a name="page-number-treatment" id="page-number-treatment"/>7.25.3 page-number-treatment</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">link | no-link</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no-link</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">interactive</td></tr></tbody></table><p>Specifies whether or not page numbers in the index should
be hyperlinks.</p><p>Values have the following meanings:</p><dl><dt class="label">link</dt><dd><p>Page numbers in the index should be navigable links
back to the source of the
reference as for <a href="#fo_basic-link" class="el">fo:basic-link</a>. </p></dd><dt class="label">no-link</dt><dd><p>Page numbers should not be links.</p></dd></dl></div><div class="div3">
<h4><a name="merge-ranges-across-index-key-references" id="merge-ranges-across-index-key-references"/>7.25.4 merge-ranges-across-index-key-references</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">merge | leave-separate</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">merge</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Specifies whether or not consecutive page numbers from different
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects are to be merged into single ranges.</p><p>Values have the following meanings:</p><dl><dt class="label">merge</dt><dd><p>Merge consecutive page numbers into ranges regardless of which
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects referred to them.</p></dd><dt class="label">leave-separate</dt><dd><p>Do not merge ranges across <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects.</p></dd></dl></div><div class="div3">
<h4><a name="merge-sequential-page-numbers" id="merge-sequential-page-numbers"/>7.25.5 merge-sequential-page-numbers</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">merge | leave-separate</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">merge</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Specifies whether or not sequential page numbers within an
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> or
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>
(if <a href="#merge-ranges-across-index-key-references" class="property">merge-ranges-across-index-key-references</a> is "merge")
are merged into a range.</p><p>Values have the following meanings:</p><dl><dt class="label">merge</dt><dd><p>Merge three or more consecutive page numbers into a range.</p></dd><dt class="label">leave-separate</dt><dd><p>Do not merge page numbers into ranges.</p></dd></dl></div><div class="div3">
<h4><a name="merge-pages-across-index-key-references" id="merge-pages-across-index-key-references"/>7.25.6 merge-pages-across-index-key-references</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">merge | leave-separate</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">merge</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Specifies whether or not multiple references to the same
page by different <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects
will be retained as individual cited page items or if only
a single cited page item will be retained.</p><p>Values have the following meanings:</p><dl><dt class="label">merge</dt><dd><p>Only the first occurrence, in document order of the
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects,
of a reference to a given page number generated
by multiple <a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects is retained.</p></dd><dt class="label">leave-separate</dt><dd><p>Multiple references to the same page generated by different
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a> formatting objects are retained.</p></dd></dl></div><div class="div3">
<h4><a name="ref-index-key" id="ref-index-key"/>7.25.7 ref-index-key</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, value required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>References an index key.</p><dl><dt class="label">&lt;string&gt;</dt><dd><p>Specifies the "<a href="#index-key" class="property">index-key</a>" of objects in the formatting object
tree.</p></dd></dl><p>Reference to the objects having an "<a href="#index-key" class="property">index-key</a>" trait equal to
the specified "<a href="#ref-index-key" class="property">ref-index-key</a>".
It is an error if there are no
formatting objects with the specified index key.</p></div></div><div class="div2">
<h3><a name="d2e44093" id="d2e44093"/>7.26 Properties for Markers</h3><div class="div3">
<h4><a name="marker-class-name" id="marker-class-name"/>7.26.1 marker-class-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">an empty name</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">paged</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>Names used as identifiers must be unique among
<a href="#fo_marker" class="el">fo:marker</a>s that are (conceptually) attached to the same area.</p><p>If the name is empty or if a name-conflict is encountered,
an error shall be reported. A processor may then continue processing.</p></dd></dl><p>This property identifies the <a href="#fo_marker" class="el">fo:marker</a> as being in
a group with others that have the same name, each of which
becomes a candidate to be retrieved by an <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>
or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>
that has a "<a href="#retrieve-class-name" class="property">retrieve-class-name</a>" property of the same value.</p></div><div class="div3">
<h4><a name="retrieve-boundary-within-table" id="retrieve-boundary-within-table"/>7.26.2 retrieve-boundary-within-table</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">table | table-fragment | page</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">table</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">paged</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The terms defined in <a href="#fo_retrieve-table-marker"><b>6.13.7 fo:retrieve-table-marker</b></a>
are used here.</p></div><dl><dt class="label">table</dt><dd><p>Specifies that the retrieve scope area set is limited to
the primary retrieve scope area and the retrieve scope areas
that precede the primary retrieve scope area.</p></dd><dt class="label">table-fragment</dt><dd><p>Specifies that the retrieve scope area set is limited to
the primary retrieve scope area.</p></dd><dt class="label">page</dt><dd><p>Specifies that the retrieve scope area set is limited to
the primary retrieve scope area and the retrieve scope areas that
both precede this primary retrieve scope and are on the same page
as the primary retrieve scope area.</p></dd></dl></div><div class="div3">
<h4><a name="retrieve-class-name" id="retrieve-class-name"/>7.26.3 retrieve-class-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">an empty name</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">paged</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>A name that matches the "<a href="#marker-class-name" class="property">marker-class-name</a>"
property value of an <a href="#fo_marker" class="el">fo:marker</a>.</p></dd></dl><p>This property constrains that the <a href="#fo_marker" class="el">fo:marker</a> whose children are
retrieved by the <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a> or <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>
must have a "<a href="#marker-class-name" class="property">marker-class-name</a>"
property value that is the same as the value of this property.</p></div><div class="div3">
<h4><a name="retrieve-boundary" id="retrieve-boundary"/>7.26.4 retrieve-boundary</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">page | page-sequence | document</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">page-sequence</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">paged</td></tr></tbody></table><p>The term "containing page" is used here to mean the
page that contains the first area generated or returned
by the children of the retrieved <a href="#fo_marker" class="el">fo:marker</a>.</p><p>Values have the following meanings:</p><dl><dt class="label">page</dt><dd><p>Specifies that the children of any <a href="#fo_marker" class="el">fo:marker</a>s whose
parent generated or returned a normal area within the containing
page or generated non-normal area within the containing page
may be retrieved by this <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>.</p></dd><dt class="label">page-sequence</dt><dd><p>Specifies that only the children of <a href="#fo_marker" class="el">fo:marker</a>s
that are descendants of any <a href="#fo_flow" class="el">fo:flow</a> within the containing
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> may be retrieved by this <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>.</p></dd><dt class="label">document</dt><dd><p>Specifies that the children of any <a href="#fo_marker" class="el">fo:marker</a> that
is a descendant of any <a href="#fo_flow" class="el">fo:flow</a> within the document may be
retrieved by this <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>.</p></dd></dl></div><div class="div3">
<h4><a name="retrieve-position" id="retrieve-position"/>7.26.5 retrieve-position</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">first-starting-within-page | first-including-carryover |
last-starting-within-page | last-ending-within-page</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">first-starting-within-page</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">paged</td></tr></tbody></table><p>The term "containing page" is used here to mean the page
that contains the first area generated or returned by the
children of the retrieved <a href="#fo_marker" class="el">fo:marker</a>.</p><p>Values have the following meanings:</p><dl><dt class="label">first-starting-within-page</dt><dd><p>Specifies a preference for retrieving the children
of an <a href="#fo_marker" class="el">fo:marker</a> attached to an area that is</p><ul><li><p>within the containing page</p></li><li><p>whose "is-first" trait is set to "true"</p></li></ul><p>and that precedes in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></dd><dt class="label">first-including-carryover</dt><dd><p>Specifies a preference for retrieving the children of
an <a href="#fo_marker" class="el">fo:marker</a> attached to an area that is within the containing
page and that precedes in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></dd><dt class="label">last-starting-within-page</dt><dd><p>Specifies a preference for retrieving the children
of an <a href="#fo_marker" class="el">fo:marker</a> attached to an area that is</p><ul><li><p>within the containing page</p></li><li><p>whose "is-first" trait is set to "true"</p></li></ul><p>and that follows in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></dd><dt class="label">last-ending-within-page</dt><dd><p>Specifies a preference for retrieving the children
of an <a href="#fo_marker" class="el">fo:marker</a> attached to an area that is within the containing
page whose "is-last" trait is set to "true" and that follows in
the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></dd></dl><p>This property specifies the preference for which
<a href="#fo_marker" class="el">fo:marker</a>'s children shall be retrieved by an <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>,
based on the areas returned by the parent of the <a href="#fo_marker" class="el">fo:marker</a>
relative to the areas returned by the parents of other identically
named <a href="#fo_marker" class="el">fo:marker</a>'s.</p></div><div class="div3">
<h4><a name="retrieve-position-within-table" id="retrieve-position-within-table"/>7.26.6 retrieve-position-within-table</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">first-starting | first-including-carryover |
last-starting | last-ending</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">first-starting</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">paged</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The terms defined in <a href="#fo_retrieve-table-marker"><b>6.13.7 fo:retrieve-table-marker</b></a>
are used here.</p></div><dl><dt class="label">first-starting</dt><dd><p>Specifies a preference for retrieving the children of
an <a href="#fo_marker" class="el">fo:marker</a> attached to an area</p><ul><li><p>that is a descendant of the primary retrieve scope area,</p></li><li><p>whose "is-first" trait is set to "true"</p></li><li><p>and precedes in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></li></ul></dd><dt class="label">first-including-carryover</dt><dd><p>Specifies a preference for retrieving the children of an <a href="#fo_marker" class="el">fo:marker</a>
attached to an area</p><ul><li><p>that is a descendant of the primary retrieve scope area,</p></li><li><p>and that precedes in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></li></ul></dd><dt class="label">last-starting</dt><dd><p>Specifies a preference for retrieving the children of an <a href="#fo_marker" class="el">fo:marker</a>
attached to an area</p><ul><li><p>that is a descendant of a retrieve scope area,</p></li><li><p>whose "is-first" trait is set to "true"</p></li><li><p>and that follows in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></li></ul></dd><dt class="label">last-ending</dt><dd><p>Specifies a preference for retrieving the children of an <a href="#fo_marker" class="el">fo:marker</a>
attached to an area</p><ul><li><p>that is a descendant of a retrieve scope area,</p></li><li><p>and whose "is-last" trait is set to "true" and that follows in the area tree,
using pre-order traversal order, any other similarly constrained area
that has an attached <a href="#fo_marker" class="el">fo:marker</a> with the same
value of the "<a href="#marker-class-name" class="property">marker-class-name</a>" property.</p></li></ul></dd></dl><p>This property specifies the preference for which <a href="#fo_marker" class="el">fo:marker</a>'s children shall
be retrieved by an <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>, based on the areas returned by
the parent of the <a href="#fo_marker" class="el">fo:marker</a> relative to the areas returned by the parents
of other identically named <a href="#fo_marker" class="el">fo:marker</a>'s.</p></div></div><div class="div2">
<h3><a name="d2e44672" id="d2e44672"/>7.27 Properties for Number to String Conversion</h3><div class="div3">
<h4><a name="format" id="format"/>7.27.1 format</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>This property is defined in <a href="#XSLT">[XSLT]</a>:
Number to String Conversion Attributes.</p></div><div class="div3">
<h4><a name="grouping-separator" id="grouping-separator"/>7.27.2 grouping-separator</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no separator</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>This property is defined in <a href="#XSLT">[XSLT]</a>:
Number to String Conversion Attributes.</p></div><div class="div3">
<h4><a name="grouping-size" id="grouping-size"/>7.27.3 grouping-size</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no grouping</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>This property is defined in <a href="#XSLT">[XSLT]</a>:
Number to String Conversion Attributes.</p></div><div class="div3">
<h4><a name="letter-value" id="letter-value"/>7.27.4 letter-value</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | alphabetic | traditional</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>This property is defined in <a href="#XSLT">[XSLT]</a>:
Number to String Conversion Attributes.
A value of "auto" corresponds to the XSLT definition for
when the attribute is not specified.
</p></div></div><div class="div2">
<h3><a name="d2e44846" id="d2e44846"/>7.28 Pagination and Layout Properties</h3><p>The following pagination and layout properties are all
XSL only.</p><div class="div3">
<h4><a name="blank-or-not-blank" id="blank-or-not-blank"/>7.28.1 blank-or-not-blank</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">blank | not-blank | any | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">any</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property forms part of a selection rule to determine
if the referenced page-master is eligible for selection at
this point in the page-sequence.</p><p>The values have the following meanings:</p><dl><dt class="label">blank</dt><dd><p>This master is eligible for selection if a page
must be generated (e.g., to maintain proper page parity
at the start or end of the page-sequence) and there are
no areas from any of the <a href="#fo_flow" class="el">fo:flow</a> flows within the containing
<a href="#fo_page-sequence" class="el">fo:page-sequence</a> to be put on that page.</p></dd><dt class="label">not-blank</dt><dd><p>This master is eligible for selection if this page
contains areas from any of the <a href="#fo_flow" class="el">fo:flow</a> flows within the containing
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p></dd><dt class="label">any</dt><dd><p>This master is always eligible for selection.</p></dd></dl></div><div class="div3">
<h4><a name="column-count" id="column-count"/>7.28.2 column-count</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>Specifies the number of columns in
the region.</p><p>A value of 1 indicates that this is not a multi-column region.</p></div><div class="div3">
<h4><a name="column-gap" id="column-gap"/>7.28.3 column-gap</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">12.0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of the region being divided into columns.</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>This is an unsigned
length. If a negative value has been specified a value of 0pt will
be used. </p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The value is a
percentage of the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the content-rectangle of the region.</p></dd></dl><p>Specifies the <a href="#width" class="property">width</a> of the separation between
adjacent columns in a multi-column region. See the description in
<a href="#fo_region-body"><b>6.4.16 fo:region-body</b></a> for further details.
</p></div><div class="div3">
<h4><a name="distance" id="distance"/>7.28.4 distance</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;length&gt; | &lt;percentage&gt;</td></tr><tr><th>Initial:</th><td>0pt</td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Percentages:</th><td>refer to the corresponding inline-progress-dimension of the page-viewport-area.</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">Specifies the distance between the edge of the region-body and
the edge of the extension region to which it applies.</p><p>If it
applies to fo:extension-region-end, it indicates the distance
between the start-edge of the extension region and the end-edge
of the region-body. If it applies to to:extension-region-start
it indicates the distance between the end-edge of
the extension region and the start-edge of the region-body.</p><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>This is an unsigned length. Negative values are treated as if they were zero.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The value is a percentage of the corresponding inline-dimension of the page-viewport-area.</p></dd></dl></div><div class="div3">
<h4><a name="extent" id="extent"/>7.28.5 extent</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0.0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the corresponding <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
or <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the
page-viewport-area.</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>This is an unsigned length. If a negative value has been
specified a value of 0pt will be used.
</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The value is a percentage of the corresponding
<a href="#block-progression-dimension" class="property">block-progression-dimension</a> or <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the
page-viewport-area.</p></dd></dl><p>Specifies the
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of the region-start
or region-end or the
<a href="#block-progression-dimension" class="property">block-progression-dimension</a>
of the region-before or region-after.
</p></div><div class="div3">
<h4><a name="flow-map-name" id="flow-map-name"/>7.28.6 flow-map-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>Names identify flow-maps. They may not be empty and
must be unique.</p></dd></dl><p>This property provides an identifying name for an <a href="#fo_flow-map" class="el">fo:flow-map</a>,
which is subsequently referenced as the value of the
<a href="#flow-map-reference" class="property">flow-map-reference</a> property on an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p></div><div class="div3">
<h4><a name="flow-map-reference" id="flow-map-reference"/>7.28.7 flow-map-reference</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>The name identifies a flow map; it may not be empty
and must
refer to a <a href="#flow-map-name" class="property">flow-map-name</a> that exists within the document.</p></dd></dl><p>Specifies the flow map to be used for assigning flows to regions
within
the page-sequence.</p><p>If no <a href="#flow-map-reference" class="property">flow-map-reference</a> is specified on a page-sequence, then the
flow-map in effect is the implicit flow-map specified in
<a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>.</p></div><div class="div3">
<h4><a name="flow-name" id="flow-name"/>7.28.8 flow-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">an empty name</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>Names used as identifiers must be unique within
an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><p>If the name is empty or if a name-conflict is
encountered, an
error shall be reported. A
processor may then
continue processing.</p></dd></dl><p>Defines the name of the flow.</p><p>The <a href="#flow-name" class="property">flow-name</a> and <a href="#region-name" class="property">region-name</a> are used to assign the flow's content
(or static-content's content) to a specific region or series of
regions in the layout. In XSL this is done by specifying
the name of the target region as the flow-name. (For example, text placed
in the region-body would specify
<a href="#flow-name" class="property">flow-name</a>="xsl-region-body".) </p><div class="note"><p class="prefix"><b>Note:</b></p><p>The flow-names reserved in XSL are:
xsl-region-body, xsl-region-before, xsl-region-after, xsl-region-start,
xsl-region-end, xsl-before-float-separator, xsl-footnote-separator.</p></div></div><div class="div3">
<h4><a name="flow-name-reference" id="flow-name-reference"/>7.28.9 flow-name-reference</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>The name identifies a flow; it must not be empty and must
refer to a <a href="#flow-name" class="property">flow-name</a> that exists within the document.</p></dd></dl><p>Specifies a flow to be used within a sequence of flows in the
flow-source-list of a particular assignment of flows to regions.</p></div><div class="div3">
<h4><a name="force-page-count" id="force-page-count"/>7.28.10 force-page-count</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | even | odd | end-on-even | end-on-odd | no-force
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Force-page-count is used to impose a constraint on
the
number of pages in a page-sequence. In the event that this
constraint
is not satisfied, an additional page will be added to the end of
the sequence. This page becomes the "last" page of that sequence.</p><p>The values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>Force the last page in this page-sequence to be an odd-page
if the <a href="#initial-page-number" class="property">initial-page-number</a> of the next page-sequence is even.
Force it to be an even-page if the <a href="#initial-page-number" class="property">initial-page-number</a> of the
next page-sequence is odd. If there is no next page-sequence or if the
value of its <a href="#initial-page-number" class="property">initial-page-number</a> is "auto" do not force any page.
</p></dd><dt class="label">even</dt><dd><p>Force an even number of pages in this
page-sequence.</p></dd><dt class="label">odd</dt><dd><p>Force an odd number of pages in this
page-sequence.</p></dd><dt class="label">end-on-even</dt><dd><p>Force the last page in this page-sequence to be an even-page.
</p></dd><dt class="label">end-on-odd</dt><dd><p>Force the last page in this page-sequence to be an odd-page.
</p></dd><dt class="label">no-force</dt><dd><p>Do not force either an even or an odd number of pages in
this page-sequence</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>Whether a page is an odd-page or even-page is determined from
the <span class="trait">folio-number</span> trait.</p></div></div><div class="div3">
<h4><a name="initial-page-number" id="initial-page-number"/>7.28.11 initial-page-number</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | auto-odd | auto-even | &lt;number&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The initial folio number shall be set to 1 if no previous <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
exists in the document.</p><p>If a preceding page-sequence exists, the initial folio number
will
be one greater than the last number for that sequence. </p></dd><dt class="label">auto-odd</dt><dd><p>A value is determined in the same manner as for "auto".
If that value is an even number 1 is added.</p></dd><dt class="label">auto-even</dt><dd><p>A value is determined in the same manner as for "auto".
If that value is an odd number 1 is added.</p></dd><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>Sets the initial folio number to be used in this page-sequence.</p></div><div class="div3">
<h4><a name="master-name" id="master-name"/>7.28.12 master-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">an empty name</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>Names identify masters, must not be empty and must
be unique within an <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>.</p></dd></dl><p>If this property is specified on an <a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>, it
provides an identifying name of the master. This name is subsequently
referenced as the value of properties on the following formatting objects:
<a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a>, <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>,
and <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> to request the use of this master
when creating a page instance. It may also be used on an <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
to specify the use of this master when creating page instances.
</p><p>If this property is specified on an <a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a>, it
provides an identifying name of the master. This name is
subsequently referenced as the value of properties on the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
to request the use of this page-sequence-master when creating page instances.</p><p>A <a href="#master-name" class="property">master-name</a> must be unique across all page-masters
and page-sequence-masters within an <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>.</p><p>If the name is empty or if a name-conflict is
encountered, an
error shall be reported. A
processor may then
continue processing.</p></div><div class="div3">
<h4><a name="master-reference" id="master-reference"/>7.28.13 master-reference</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">an empty name</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>The names need not be
unique, but must not be empty and must refer to a <a href="#master-name" class="property">master-name</a> that
exists within the current or a preceding <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>.</p></dd></dl><p>Selecting a master:</p><ul><li><p>If this property is specified on the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>
it specifies the name of the page-sequence-master or page-master
to be used to create pages in the sequence.</p></li><li><p>If this property is specified on the <a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a>,
it specifies the name of the page-master to be used to create a
single page instance.</p></li><li><p>If this property is specified on the <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>,
it specifies the name of the page-master to be used in repetition
until the content is exhausted or the <a href="#maximum-repeats" class="property">maximum-repeats</a> limit is reached,
whichever occurs first.</p></li><li><p>If this property is specified on the <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>,
it specifies the name of the page-master to be used whenever this
alternative is chosen.</p></li></ul><p>If the name is empty, an
error shall be reported. A
processor may then
continue processing.</p><p>If a name-conflict is
encountered, the last specified page-sequence-master or page-master
with that name must be used.</p></div><div class="div3">
<h4><a name="maximum-repeats" id="maximum-repeats"/>7.28.14 maximum-repeats</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | no-limit | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no-limit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the constraint on the maximum number of pages
in the sub-sequence of pages that may be generated by an
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>
that uses the <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> or
<a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a>
on which this property is specified.</p><p>The values have the following meanings:</p><dl><dt class="label">no-limit</dt><dd><p>No constraint is specified.</p></dd><dt class="label">&lt;number&gt;</dt><dd><p>The maximum number of pages in the sub-sequence.</p><p>The value is an integer greater than or equal to 0. </p><p>If a fractional value or a value less than 0 is specified, it
will be rounded to the nearest integer greater than or equal to
0.</p><p>A value of 0 indicates this <a href="#master-reference" class="property">master-reference</a> will not be used.</p></dd></dl></div><div class="div3">
<h4><a name="media-usage" id="media-usage"/>7.28.15 media-usage</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | paginate | bounded-in-one-dimension | unbounded</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">NA</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>The "<a href="#media-usage" class="property">media-usage</a>" property is used to control how the selected
display medium is used to present the page(s) specified by the
stylesheet.
</p><p>Values for the property have the following meaning:</p><dl><dt class="label">auto</dt><dd><p>The User Agent determines which value of "<a href="#media-usage" class="property">media-usage</a>" (other
than the "auto" value) is used. The User Agent may consider the type
of media on which the presentation is to be placed in making this
determination.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p> For example, the User Agent could use the following decision
process. If the media is not continuous and is of fixed bounded <a href="#size" class="property">size</a>,
then the "paginate" (described below) is used. Otherwise, the
"bounded-in-one-dimension" is used. </p></div></dd><dt class="label">paginate</dt><dd><p>A sequence of pages is generated from the <a href="#fo_page-sequence" class="el">fo:page-sequence</a>s that are
children of the <a href="#fo_root" class="el">fo:root</a> as described in <a href="#fo_page-sequence"><b>6.4.5 fo:page-sequence</b></a>.
</p></dd><dt class="label">bounded-in-one-dimension</dt><dd><p>Only one page is generated per <a href="#fo_page-sequence" class="el">fo:page-sequence</a> descendant
from the <a href="#fo_root" class="el">fo:root</a>. Exactly one of "<a href="#page-height" class="property">page-height</a>" or "<a href="#page-width" class="property">page-width</a>" must be
specified on the first page master that is used. The <a href="#size" class="property">size</a> of the page in the
other dimension is determined by the content flowed into the page.
</p><p>
It is an error if more or less than one of "<a href="#page-height" class="property">page-height</a>" or
"<a href="#page-width" class="property">page-width</a>" is specified on the first page master that is used. The
User Agent may recover as follows: The recovery depends on the
"<a href="#reference-orientation" class="property">reference-orientation</a>" of the page and "<a href="#writing-mode" class="property">writing-mode</a>" of the
region to which the <a href="#fo_flow" class="el">fo:flow</a> is assigned. There are
four cases: (1) the "<a href="#reference-orientation" class="property">reference-orientation</a>" is "0" or "180" and the
"<a href="#writing-mode" class="property">writing-mode</a>" is horizontal; (2) the "<a href="#reference-orientation" class="property">reference-orientation</a>" is "0"
or "180" and the "<a href="#writing-mode" class="property">writing-mode</a>" is vertical; (3) the
"<a href="#reference-orientation" class="property">reference-orientation</a>" is "90" or "270" and the "<a href="#writing-mode" class="property">writing-mode</a>" is
horizontal; (4) the "<a href="#reference-orientation" class="property">reference-orientation</a>" is "90" or "270" and the
"<a href="#writing-mode" class="property">writing-mode</a>" is vertical. For cases (1) and (4), the "<a href="#page-width" class="property">page-width</a>" is
bounded and the "<a href="#page-height" class="property">page-height</a>" is not bounded. For case (2) and (3), the
"<a href="#page-height" class="property">page-height</a>" is bounded and the "<a href="#page-width" class="property">page-width</a>" is not bounded.
</p></dd><dt class="label">unbounded</dt><dd><p>Only one page is generated per <a href="#fo_page-sequence" class="el">fo:page-sequence</a> descendant
from the <a href="#fo_root" class="el">fo:root</a>. Neither "<a href="#page-height" class="property">page-height</a>" nor "<a href="#page-width" class="property">page-width</a>" may be
specified on any page master that is used. If a value is specified for
either property, it is an error and a User Agent may recover by
ignoring the specified value. Each page begins at the before-edge and
start-edge of the page and the page extends as far as necessary toward
the after-edge and end-edge to contain all the content of the
page-sequence which generates the page.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p> This implies that no text content is automatically wrapped;
that is, each block will have a single line for each text node that
does not contain a U+000A character. If more than one line is
generated, then the sequence of characters that generated the glyphs
in each such line must have been bounded in the original text node,
either by the beginning or end of that text node or by an U+000A
<a href="#character" class="property">character</a> within that text node. Control over the treatment of the
U+000A <a href="#character" class="property">character</a> is described in <a href="#linefeed-treatment"><b>7.17.7 linefeed-treatment</b></a>.
</p></div></dd></dl></div><div class="div3">
<h4><a name="odd-or-even" id="odd-or-even"/>7.28.16 odd-or-even</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">odd | even | any | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">any</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property forms part of a selection rule to determine
if the referenced page-master is eligible for selection at
this point in the page-sequence.</p><p>The values have the following meanings:</p><dl><dt class="label">odd</dt><dd><p>This master is eligible for selection if the folio number is
odd.</p></dd><dt class="label">even</dt><dd><p>This master is eligible for selection if the folio number is
even.</p></dd><dt class="label">any</dt><dd><p>This master is eligible for selection regardless of whether
the folio number is odd or even.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>"Folio number" refers to the <span class="trait">folio-number</span> trait
for the page to be generated.</p></div></div><div class="div3">
<h4><a name="page-height" id="page-height"/>7.28.17 page-height</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | indefinite | &lt;length&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The "<a href="#page-height" class="property">page-height</a>" shall be determined,
in the case of continuous media,
from the <a href="#size" class="property">size</a> of the User Agent window,
otherwise from the <a href="#size" class="property">size</a> of the media.
If media information is not available this dimension shall be
implementation-defined.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A fallback to 11.0in would fit
on both Letter <a href="#size" class="property">size</a> (8.5in by 11.0in) and A4 <a href="#size" class="property">size</a> pages.</p></div></dd><dt class="label">indefinite</dt><dd><p>The <a href="#height" class="property">height</a> of the page is determined
from the <a href="#size" class="property">size</a> of the laid-out content.</p><p>"Page-width" and "<a href="#page-height" class="property">page-height</a>" may not both be set to "indefinite".
Should that occur,
the dimension that is parallel to the block-progression-direction,
as determined by the "<a href="#reference-orientation" class="property">reference-orientation</a>" and "<a href="#writing-mode" class="property">writing-mode</a>"
of the page-reference-area
will remain "indefinite" and the other will revert to "auto".</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed <a href="#height" class="property">height</a> for the page.</p></dd></dl><p>Specifies the <a href="#height" class="property">height</a> of a page.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The values for the "<a href="#page-width" class="property">page-width</a>" and "<a href="#page-height" class="property">page-height</a>" properties
are intended to permit the <a href="#size" class="property">size</a> specification to match
the handling of a frameset in a browser window when the media is
continuous and to match pages when the media is paged.
</p><p>
A User Agent may provide a way to declare the media for which
formatting is to be done. This may be different from the media on
which the formatted result is viewed. For example, a browser User
Agent may be used to preview pages that are formatted for sheet
media. In that case, the <a href="#size" class="property">size</a> calculation is based on the media for
which formatting is done rather than the media being currently used.
</p></div></div><div class="div3">
<h4><a name="page-position" id="page-position"/>7.28.18 page-position</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | only | first | last | rest | any | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">any</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property forms part of a selection rule to determine
if the referenced page-master is eligible for selection at
this point in the page-sequence
or, when the "<a href="#sequence-repeats" class="property">sequence-repeats</a>" property value is
not "no-limit", at this point in the sub-sequence cycle.</p><p>The values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>This master is eligible for
selection if the value is equal to the current page number or, when
the "<a href="#sequence-repeats" class="property">sequence-repeats</a>" property value is not
"no-limit", at this point in the sub-sequence
cycle.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example: when "<a href="#sequence-repeats" class="property">sequence-repeats</a>" is
'no-limit', '4' is true for the fourth page in the page-sequence only;
when "<a href="#sequence-repeats" class="property">sequence-repeats</a>" is '4', '4' is true for
the fourth, eighth, twelfth, etc., pages in the page-sequence; and
when "<a href="#sequence-repeats" class="property">sequence-repeats</a>" is '6', '4' is true for
the fourth, tenth, sixteenth, etc. pages.</p></div><p>The value is an integer greater than or equal to 0.</p><p>If a fractional value or a value less than 0 is specified, it will
be rounded to the nearest integer greater than or equal to zero.</p><p>A value of 0 indicates this master-reference will not be used.</p><p>A value greater than the "sequence-repeats" value, when
"sequence-repeats" is not 'no-limit', is false.</p></dd><dt class="label">only</dt><dd><p>This master is eligible for selection if this is the only page
(i.e. the page is both first and last) page in the page-sequence.</p></dd><dt class="label">first</dt><dd><p>This master is eligible for selection if this is the first
page in the page-sequence.</p></dd><dt class="label">last</dt><dd><p>This master is eligible for selection if this is the last
page in the page-sequence.</p></dd><dt class="label">rest</dt><dd><p>This master is eligible for selection if this is not the
first page nor the last page in the page-sequence.</p></dd><dt class="label">any</dt><dd><p>This master is eligible for selection regardless of page
positioning within the page-sequence.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>Several of these values can be true simultaneously;
for example, 'any' is always true and 'only' is true when both 'first'
and 'last' are true, and 'first' and '1' are both true for the
first page in a page-sequence. For that reason, it is necessary to order the
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>s so that the least inclusive test
is performed before the more inclusive test which is also true.</p></div></div><div class="div3">
<h4><a name="page-width" id="page-width"/>7.28.19 page-width</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | indefinite | &lt;length&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The "<a href="#page-width" class="property">page-width</a>" shall be determined,
in the case of continuous media,
from the <a href="#size" class="property">size</a> of the User Agent window,
otherwise from the <a href="#size" class="property">size</a> of the media.
If media information is not available this dimension shall be
implementation-defined.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A fallback to 8.26in would fit
on both 8+1/2x11 and A4 pages.</p></div></dd><dt class="label">indefinite</dt><dd><p>The <a href="#width" class="property">width</a> of the page is determined
from the <a href="#size" class="property">size</a> of the laid-out content.</p><p>"Page-width" and "<a href="#page-height" class="property">page-height</a>" properties may not both be set
to "indefinite". Should that occur,
the dimension that is parallel to the block-progression-direction,
as determined by the "<a href="#reference-orientation" class="property">reference-orientation</a>" and "<a href="#writing-mode" class="property">writing-mode</a>"
of the page-reference-area
will remain "indefinite" and the other will revert to "auto".</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Specifies a fixed <a href="#width" class="property">width</a> for the
page.</p></dd></dl><p>Specifies the <a href="#width" class="property">width</a> of a page.</p></div><div class="div3">
<h4><a name="precedence" id="precedence"/>7.28.20 precedence</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">false</dt><dd><p>A value of false specifies that this region does not extend
up to the start-edge and end-edge of the content-rectangle of
the page-reference-area, but has its <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
reduced by the incursions of the adjacent regions.
</p></dd><dt class="label">true</dt><dd><p>A value of true specifies that the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of this region extends up to the start-edge and end-edge of the
content-rectangle of the page-reference-area.
</p></dd></dl><p>Specifies which region (i.e., region-before,
region-after, region-start, or region-end) takes <a href="#precedence" class="property">precedence</a> in terms
of which may extend into the corners of the simple-page-master.</p></div><div class="div3">
<h4><a name="region-name" id="region-name"/>7.28.21 region-name</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">xsl-region-body | xsl-region-start | xsl-region-end
| xsl-region-before | xsl-region-after |
&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">xsl-region-body</dt><dd><p>Reserved <a href="#region-name" class="property">region-name</a> for use as the default name of <a href="#fo_region-body" class="el">fo:region-body</a>.
This name may not be used on any other class of region.</p></dd><dt class="label">xsl-region-start</dt><dd><p>Reserved <a href="#region-name" class="property">region-name</a> for use as the default name of <a href="#fo_region-start" class="el">fo:region-start</a>.
This name may not be used on any other class of region.</p></dd><dt class="label">xsl-region-end</dt><dd><p>Reserved <a href="#region-name" class="property">region-name</a> for use as the default name of <a href="#fo_region-end" class="el">fo:region-end</a>.
This name may not be used on any other class of region.</p></dd><dt class="label">xsl-region-before</dt><dd><p>Reserved <a href="#region-name" class="property">region-name</a> for use as the default name of <a href="#fo_region-before" class="el">fo:region-before</a>.
This name may not be used on any other class of region.</p></dd><dt class="label">xsl-region-after</dt><dd><p>Reserved <a href="#region-name" class="property">region-name</a> for use as the default name of <a href="#fo_region-after" class="el">fo:region-after</a>.
This name may not be used on any other class of region.</p></dd><dt class="label">&lt;name&gt;</dt><dd><p>Names used as identifiers must be unique within a page-master.</p></dd></dl><p>This property is used to identify
a region within a simple-page-master. </p><p>The "<a href="#region-name" class="property">region-name</a>" may be used to differentiate a region that
lies on a page-master for an odd page from a region that
lies on a page-master for an even page. In this usage, once a name is used
for a specific class
of region (start, end, before, after, or body), that name may only
be used for regions of the same class in any other page-master.
The reserved names may only be used in the manner described above.</p></div><div class="div3">
<h4><a name="region-name-reference" id="region-name-reference"/>7.28.22 region-name-reference</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, a value is required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>The name identifies a region; it must not be empty and must
refer to a <a href="#region-name" class="property">region-name</a> that exists within the
current or a preceding <a href="#fo_layout-master-set" class="el">fo:layout-master-set</a>.</p></dd></dl><p>Specifies a flow to be used within a sequence of regions in the
flow-target-list of a particular assignment of flows to regions.</p></div><div class="div3">
<h4><a name="sequence-repeats" id="sequence-repeats"/>7.28.23 sequence-repeats</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt; | no-limit | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">no-limit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">Not applicable</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Specifies the number of pages in a cyclic sub-sequence of pages
that may be generated before the cycle repeats.</p><p>The values have the following meanings:</p><dl><dt class="label">&lt;number&gt;</dt><dd><p>The maximum number of pages
in the sub-sequence cycle.</p><p>The value is an integer greater than or equal to 0.</p><p>If a fractional value or a value less than 0 is specified, it will
be rounded to the nearest integer greater than or equal to 0.</p><p>A value of 0 indicates this sub-sequence-specifier will not be used.</p></dd><dt class="label">no-limit</dt><dd><p>No constraint is specified.</p></dd></dl></div><div class="div3">
<h4><a name="adjustable-properties" id="adjustable-properties"/>7.28.24 adjustable-properties</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>&lt;property-name-list&gt;</td></tr><tr><th>Initial:</th><td>everything</td></tr><tr><th>Applies to:</th><td><a href="#fo_region" class="el">fo:region</a>, <a href="#fo_region-body" class="el">fo:region-body</a>, <a href="#fo_region-before" class="el">fo:region-before</a>, <a href="#fo_region-after" class="el">fo:region-after</a>, <a href="#fo_region-start" class="el">fo:region-start</a>, <a href="#fo_region-end" class="el">fo:region-end</a>, <a href="#fo_block-container" class="el">fo:block-container</a>, <a href="#fo_table-cell" class="el">fo:table-cell</a></td></tr><tr><th>Inherited:</th><td>no</td></tr><tr><th>Percentages:</th><td>N/A</td></tr><tr><th>Fallback:</th><td>everything</td></tr></tbody></table><p class="shortdesc">The <a href="#adjustable-properties" class="property">adjustable-properties</a>
property is used to define strategies for copyfitting or vertical
justification. It takes effect only if the property
<a href="#display-align" class="property">display-align</a> is set to "copyfit" or
"justify".</p><p>The value is a whitespace separated list of names (property names
and / or shorthand names), possibly grouped in subsets by a single
level of parenthesis; formally, it can be defined by these
rules:</p><div class="exampleOuter"><div class="exampleInner"><pre>prioritized-list-of-names = [&lt;priority-group&gt;]*
priority-group = &lt;property-name&gt; | &lt;shorthand-name&gt; |
([&lt;property-name&gt; | &lt;shorthand-name&gt;]+)
</pre></div></div><p>where a property-name can be the name of any property defined by
the FO recommendation;</p><p>a shorthand-name stands for a pre-defined sequence of property
names:</p><ul><li><p>inline-spacing = word-spacing letter-spacing leader-length</p></li><li><p>block-spacing = space-before space-after</p></li><li><p>. . .</p></li><li><p>any = any property having a range value</p></li></ul><div class="div4">
<h5><a name="d2e46775" id="d2e46775"/>7.28.24.1 Value list simplification</h5><p>An XSL-FO implementation <span class="rfc">MUST</span> simplify the value list as follows:</p><ol class="enumar"><li><p>remove empty paren pairs, ()</p></li><li><p>"(" <em>name</em> ")" is equivalent to <em>name</em></p></li><li><p>if <em>property-name</em> refers to a property that
cannot accept either range values (.minimum, .optimum, .maximum)
or multiple values (such as font-family), it can be removed; the
application <span class="rfc">SHOULD</span> warn the user about the uselessness
of using that property name, since the value cannot be varied as a
part of copyfitting.</p></li><li><p>if <em>property-name</em> refers to a property which
the application is not able to adjust automatically, it can be
removed; the application <span class="rfc">SHOULD</span> warn the user about the
application limitation.</p></li><li><p>if a priority group contains the shorthand "any",
than the other property names or shorthand names can be removed</p></li><li><p>every priority group following "any" <span class="rfc">MUST</span> be discarded;
a processor <span class="rfc">SHOULD</span> warn the user about any discarded priority groups.</p></li></ol><p>At the end of the simplification process the property value could
be the empty list. This means that there is no elasticity that the
application is able to handle, and the output will not be formatted
as requested. The default value of "any" has been chosen to reduce
the likelihood of this.</p></div><div class="div4">
<h5><a name="d2e46827" id="d2e46827"/>7.28.24.2 Priority</h5><p>Items in the simplified value list are given a decresing
priority: the first item's priority is greater than that of the
second one, and so on; values between parenthesis have the same
priority. The application has to respect this priority assignment
while adjusting properties:</p><ol class="enumar"><li><p>Definition: The [<a name="term-active-properties-set" id="term-active-properties-set" title="active-property-set">Definition</a>: active properties set] is
the set of properties whose value the application is allowed to
choose at a certain time during the adjustment process; initially,
the active properties set contains the values of the first
priority group;</p></li><li><p>The application has to check whether it is possible to
adjust the content using the current active properties set
(choosing an appropriate value between their .minimum and
.maximum, or among the available values)</p></li><li><p>if there is a way to adjust the content, the output
should reflect that particular choice of values without changing
the other properties (e.g. using their .optimum values);
otherwise, the next priority group should be added to the active
properties set.</p></li></ol><p>Points to note:</p><ol class="enumar"><li><p>The described behaviour follows an incremental approach
rather than a combinatorial one; in other words, the number of
attempts the application could need to perform is linear in the
size of the property list, instead of growing
exponentially.</p></li><li><p>The main aim of the prioritized property list is for the
user to be sure that some properties will be adjusted (moving away
from their optimal value) only “as a last resort”; this confidence
allows the users to give many properties a length range value
without fearing for the resulting quality of the
output.</p></li><li><p>At any given moment during the adjustment process, the
application has complete freedom concerning the use of the
available elasticity (coming from the active properties at that
moment); in other words, it is not forced by this specification to
exhaust the elasticity of a property before using the one of a
different property.</p></li></ol></div><div class="div4">
<h5><a name="alternative-copyfit-content" id="alternative-copyfit-content"/>7.28.24.3 fo:alternative-copyfit-content</h5><p><em>Common Usage:</em></p><p>The <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> formatting obiect is intended
to express alternative content for copyfit.</p><p>It might be a child of a <a href="#fo_flow" class="el">fo:flow</a> object (when copyfitting content
into a region) or <a href="#fo_block-container" class="el">fo:block-container</a> or <a href="#fo_table-cell" class="el">fo:table-cell</a> (when
copyfitting content in block-containers or table cells).</p><p><em>Areas:</em></p><p>The <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> formatting object does not
generate any areas. The <a href="#fo_alternative-copyfit-content" class="el">fo:alternative-copyfit-content</a> formatting
object returns the areas generated and returned by its children.</p><p><em>Contents:</em></p><div class="exampleInner"><pre>(%block;)*</pre></div><p><em>Example:</em></p><div class="exampleOuter"><div class="exampleInner"><pre>&lt;fo:flow flow-name="A"&gt;
&lt;fo:alternative-copyfit-content&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt;Crucis rosa ut
hoc sien qua non res veni.&lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Etiam tristique,
nulla a pulvinar hendrerit nihil tortor urna auctor etim
domine secularia cali sed ut quotie ire in domince hoc fantus quis eius rei rei.
&lt;/fo:block&gt;
&lt;/fo:alternative-copyfit-content&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt;
Lorem maecenas blandit ac, neque sed ut pulvinar, lectus sagittis
sapien per risus vel. Ligula sapien sed morbi cras tellus commodo.
Si qua ex docet dei etris crucis&lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; curabitur
magna nis, faucibus sed ornare sed, congue eu dui.
Pellentesque habitant morbi tristique senectus et netus et
malessecularia uada fames ac turpis egestas. &lt;/fo:block&gt;
&lt;fo:block word-spacing.minimum="1pt" word-spacing.maximum="4pt"
line-height.minimum="8pt" line-height.maximum="14pt"&gt; Nunc sit amet dolor
sed sem congue mattis sed ut arcu. Mauris id magna sit amet elit aliquam.&lt;/fo:block&gt;
&lt;fo:block&gt;Pellentesque habitant morbi tristique senectus et netus et malesuada
fames.&lt;/fo:block&gt;
&lt;/fo:flow&gt;</pre></div></div><p><em>The following properties apply to this formatting object:</em></p><div style="border: dotted blue 1px; background: #CCC; padding: 1em; margin-left: 3em;"><p><b>Open issue</b></p><p>(to be decided; probably any)</p></div></div></div><div class="div3">
<h4><a name="marginalia-destination-area" id="marginalia-destination-area"/>7.28.25 marginalia-destination-area</h4><p>XSL Definition:</p><table border="0"><tbody><tr><th>Value:</th><td>start | end | inside | outside | inherit</td></tr><tr><th>Initial:</th><td>start</td></tr><tr><th>Applies to:</th><td>fo:marginalia</td></tr><tr><th>Inherited:</th><td>yes</td></tr><tr><th>Percentages:</th><td>Not applicable.</td></tr><tr><th>Media:</th><td>visual</td></tr></tbody></table><p class="shortdesc">Specifies the marginalia-reference-area in which
to place the block-areas generated by the child fo:marginalia-body to
which it applies.</p><p>Values have the following meanings:</p><dl><dt class="label">start</dt><dd><p>The content of the marginalia
will be placed in the extension-region-start
region.</p></dd><dt class="label">end</dt><dd><p>The content of the marginalia will
be placed in the extension-region-end region.</p></dd><dt class="label">inside</dt><dd><p>The content of the marginalia
will be placed in the extension-region-end region on even pages and
in the extension-region-start region on odd pages.</p></dd><dt class="label">outside</dt><dd><p>The content of the marginalia
will be placed in the extension-region-start region on even pages
and in the extension-region-end region on odd
pages.</p></dd></dl></div></div><div class="div2">
<h3><a name="d2e46976" id="d2e46976"/>7.29 Table Properties</h3><div class="div3">
<h4><a name="border-after-precedence" id="border-after-precedence"/>7.29.1 border-after-precedence</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">force | &lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">force</dt><dd><p>The <a href="#precedence" class="property">precedence</a> is higher than any &lt;integer&gt;.
</p></dd><dt class="label">&lt;integer&gt;</dt><dd><p>A numeric <a href="#precedence" class="property">precedence</a> specification.
A higher value has a higher <a href="#precedence" class="property">precedence</a> than a lower one.
</p></dd></dl><p>Specifies the <a href="#precedence" class="property">precedence</a> of the <a href="#border" class="property">border</a> specification on this
formatting object for the border-after.</p></div><div class="div3">
<h4><a name="border-before-precedence" id="border-before-precedence"/>7.29.2 border-before-precedence</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">force | &lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#precedence" class="property">precedence</a> of the <a href="#border" class="property">border</a> specification on this
formatting object for the border-before.</p><p>See definition of property <a href="#border-after-precedence" class="property">border-after-precedence</a> (<a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a>).</p></div><div class="div3">
<h4><a name="border-collapse" id="border-collapse"/>7.29.3 border-collapse</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">collapse | collapse-with-precedence | separate | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">collapse</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#propdef-border-collapse">
"border-collapse" property
</a></p><dl><dt class="label">collapse</dt><dd><p>The value "collapse" selects the collapsing borders model.</p></dd><dt class="label">separate</dt><dd><p>The value "separate" selects the separated borders <a href="#border" class="property">border</a>
model.</p></dd></dl><p>This property selects a table's <a href="#border" class="property">border</a> model. The value "separate"
selects the separated borders <a href="#border" class="property">border</a> model. The value "collapse"
selects the collapsing borders model.</p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL adds the following value with the following meaning:</p><dl><dt class="label">collapse-with-precedence</dt><dd><p>The value "collapse-with-precedence" selects the collapsing borders model
and the use of the <a href="#border" class="property">border</a> <a href="#precedence" class="property">precedence</a> properties for conflict resolution.</p></dd></dl></div><div class="div3">
<h4><a name="border-end-precedence" id="border-end-precedence"/>7.29.4 border-end-precedence</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">force | &lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#precedence" class="property">precedence</a> of the <a href="#border" class="property">border</a> specification on this
formatting object for the border-end.</p><p>See definition of property <a href="#border-after-precedence" class="property">border-after-precedence</a> (<a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a>).</p></div><div class="div3">
<h4><a name="border-separation" id="border-separation"/>7.29.5 border-separation</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length-bp-ip-direction&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">.block-progression-direction="0pt" .inline-progression-direction="0pt"</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;length-bp-ip-direction&gt;</dt><dd><p>The lengths specify the distance that separates adjacent cell
borders in the row-stacking-direction
(given by the block-progression-direction of the table),
and in the column-stacking-direction
(given by the inline-progression-direction of the table).</p></dd></dl><p>In the separate borders model, each cell has an individual border.
The "<a href="#border-separation" class="property">border-separation</a>" property specifies the distance between the
borders of adjacent cells. This space is filled with the <a href="#background" class="property">background</a>
of the table element. Rows, columns, row groups, and column groups cannot
have borders (i.e., user agents must ignore the <a href="#border" class="property">border</a> properties
for those elements).</p></div><div class="div3">
<h4><a name="border-start-precedence" id="border-start-precedence"/>7.29.6 border-start-precedence</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">force | &lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the <a href="#precedence" class="property">precedence</a> of the <a href="#border" class="property">border</a> specification on this
formatting object for the border-start.</p><p>See definition of property <a href="#border-after-precedence" class="property">border-after-precedence</a> (<a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a>).</p></div><div class="div3">
<h4><a name="caption-side" id="caption-side"/>7.29.7 caption-side</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">before | after | start | end | top | <a href="#bottom" class="property">bottom</a> | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">before</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#q6">
"caption-side" property
</a></p><dl><dt class="label">top</dt><dd><p>Positions the caption box above the table box.</p></dd><dt class="label">bottom</dt><dd><p>Positions the caption box below the table box.</p></dd><dt class="label">left</dt><dd><p>Positions the caption box to the <a href="#left" class="property">left</a> of the table box.</p></dd><dt class="label">right</dt><dd><p>Positions the caption box to the <a href="#right" class="property">right</a> of the table box.</p></dd></dl><p>This property specifies the <a href="#position" class="property">position</a> of the caption box with
respect to the table box.</p><p>Captions above or below a "table" element are formatted very
much as if they were a block element before or after the table,
except that (1) they inherit inheritable properties from the table,
and (2) they are not considered to be a block box for the purposes
of any "compact" or "run-in" element that may precede the table.</p><p>A caption that is above or below a table box also behaves like
a block box for <a href="#width" class="property">width</a> calculations; the <a href="#width" class="property">width</a> is computed with respect
to the <a href="#width" class="property">width</a> of the table box's containing block.</p><p>For a caption that is on the <a href="#left" class="property">left</a> or <a href="#right" class="property">right</a> side of a table box,
on the other hand, a value other than "auto" for "<a href="#width" class="property">width</a>" sets the
<a href="#width" class="property">width</a> explicitly, but "auto" tells the user agent to chose a "reasonable
<a href="#width" class="property">width</a>". This may vary between "the narrowest possible box" to "a
single line", so we recommend that users do not specify "auto" for
<a href="#left" class="property">left</a> and <a href="#right" class="property">right</a> caption widths.</p><p>To align caption content horizontally within the caption box,
use the "<a href="#text-align" class="property">text-align</a>" property. For vertical alignment of a <a href="#left" class="property">left</a>
or <a href="#right" class="property">right</a> caption box with respect to the table box, use the "<a href="#vertical-align" class="property">vertical-align</a>"
property. The only meaningful values in this case are "top", "middle",
and "<a href="#bottom" class="property">bottom</a>". All other values are treated the same as "top".</p><p><em>XSL modifications to the CSS definition:</em></p><p>Insert the following <a href="#writing-mode" class="property">writing-mode</a> relative values:</p><dl><dt class="label">before</dt><dd><p>Positions the caption before the table in the block-progression-direction.</p></dd><dt class="label">after</dt><dd><p>Positions the caption after the table in the block-progression-direction.</p></dd><dt class="label">start</dt><dd><p>Positions the caption before the table in the inline-progression-direction.</p></dd><dt class="label">end</dt><dd><p>Positions the caption after the table in the inline-progression-direction.</p></dd></dl><p>The CSS qualifications (1) and (2) do not apply.
The last three sentences in the last paragraph
(referencing "<a href="#vertical-align" class="property">vertical-align</a>") do not apply.
</p></div><div class="div3">
<h4><a name="column-number" id="column-number"/>7.29.8 column-number</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>For an <a href="#fo_table-column" class="el">fo:table-column</a> formatting object, it
specifies
the <a href="#column-number" class="property">column-number</a> of the table cells that may use
properties
from this <a href="#fo_table-column" class="el">fo:table-column</a> formatting object by using
the from-table-column() function.
The initial
value is
1 plus the <a href="#column-number" class="property">column-number</a> of the previous table-column, if there
is a previous table-column, and otherwise 1.</p><p>For an <a href="#fo_table-cell" class="el">fo:table-cell</a> it specifies the number of the first column
to be spanned by the table-cell. The initial value is the current
column-number. For the first table-cell in a table-row, the
current
column number is 1. For other table-cells, the current <a href="#column-number" class="property">column-number</a>
is the <a href="#column-number" class="property">column-number</a> of the previous table-cell in the row plus
the number of columns spanned by that previous cell.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>There is no requirement for column-numbers to be monotonically
increasing from formatting object to formatting object.</p></div></div><div class="div3">
<h4><a name="column-width" id="column-width"/>7.29.9 column-width</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of table</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#column-width" class="property">column-width</a>" property specifies the <a href="#width" class="property">width</a> of the
column whose value is given by the "<a href="#column-number" class="property">column-number</a>" property. </p></dd></dl><p>This
property, if present, is ignored if the "<a href="#number-columns-spanned" class="property">number-columns-spanned</a>" property
is greater than 1. The "<a href="#column-width" class="property">column-width</a>" property must be
specified for every column,
unless the automatic table layout is used.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of the "proportional-column-width()" function is only
permitted when the fixed table layout is used.</p><p>If the use of proportional column widths are
desired on a table of an unknown explicit <a href="#width" class="property">width</a>,
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> cannot be specified to be "auto".
Instead, the <a href="#width" class="property">width</a> must be specified as a percentage.
For example, setting <a href="#table-layout" class="property">table-layout</a>="fixed" and
<a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>="100%" would allow proportional
column widths while simultaneously creating a table as wide as
possible in the current context.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The result of using a percentage for
the <a href="#width" class="property">width</a> may be unpredictable, especially when using the
automatic table layout.
</p></div></div><div class="div3">
<h4><a name="empty-cells" id="empty-cells"/>7.29.10 empty-cells</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x79">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x79</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">show | hide | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">show</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#propdef-empty-cells">
"empty-cells" property
</a></p><dl><dt class="label">show</dt><dd><p>When this property has the value "show", borders are drawn
around empty cells (like normal cells).</p></dd><dt class="label">hide</dt><dd><p>A value of "hide" means that no borders are drawn around
empty cells. Furthermore, if all the cells in a row have a value
of "hide" and have no visible content, the entire row behaves as
if it had "display: none".</p></dd></dl><p>In the separated borders model, this property controls the rendering
of borders around cells and the rendering of the <a href="#background" class="property">background</a> of cells
that have no visible content. Empty cells
and cells with the "<a href="#visibility" class="property">visibility</a>" property set to "hidden" are considered
to have no visible content. Visible content includes
"&amp;nbsp;" (non-breaking-space)
and other whitespace except ASCII CR ("\0D"), LF ("\0A"), tab ("\09"),
and space ("\20").</p></div><div class="div3">
<h4><a name="ends-row" id="ends-row"/>7.29.11 ends-row</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">true</dt><dd><p>This cell ends a row.</p></dd><dt class="label">false</dt><dd><p>This cell does not end a row.</p></dd></dl><p>Specifies whether this cell ends a row. This is only allowed
for table-cells that are not in table-rows.</p></div><div class="div3">
<h4><a name="number-columns-repeated" id="number-columns-repeated"/>7.29.12 number-columns-repeated</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>The "<a href="#number-columns-repeated" class="property">number-columns-repeated</a>" property specifies the repetition
of a table-column specification n times; with the same effect as
if the <a href="#fo_table-column" class="el">fo:table-column</a> formatting object had been repeated <var>n</var> times
in the result tree. The "<a href="#column-number" class="property">column-number</a>" property, for all but the
first, is the <a href="#column-number" class="property">column-number</a> of the previous one plus its value of
the "<a href="#number-columns-spanned" class="property">number-columns-spanned</a>" property.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This handles HTML's "colgroup" element.</p></div></div><div class="div3">
<h4><a name="number-columns-spanned" id="number-columns-spanned"/>7.29.13 number-columns-spanned</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>For an <a href="#fo_table-column" class="el">fo:table-column</a> the "<a href="#number-columns-spanned" class="property">number-columns-spanned</a>" property
specifies the number of columns spanned by table-cells that may use
properties from this <a href="#fo_table-column" class="el">fo:table-column</a>
formatting object using the from-table-column() function.</p><p>For an <a href="#fo_table-cell" class="el">fo:table-cell</a> the "<a href="#number-columns-spanned" class="property">number-columns-spanned</a>" property specifies
the number of columns which this cell spans in the column-progression-direction
starting with the current column.</p></div><div class="div3">
<h4><a name="number-rows-spanned" id="number-rows-spanned"/>7.29.14 number-rows-spanned</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;number&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">1</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">&lt;number&gt;</dt><dd><p>A positive integer. If a non-positive or non-integer value
is provided, the value will be rounded to the nearest integer value
greater than or equal to 1.</p></dd></dl><p>The "<a href="#number-rows-spanned" class="property">number-rows-spanned</a>" property specifies the number of rows
which this cell spans in the row-progression-direction starting
with the current row.</p></div><div class="div3">
<h4><a name="starts-row" id="starts-row"/>7.29.15 starts-row</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">true</dt><dd><p>This cell starts a row.</p></dd><dt class="label">false</dt><dd><p>This cell does not start a row.</p></dd></dl><p>Specifies whether this cell starts a row. This is only
allowed for table-cells that are not in table-rows.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The "<a href="#starts-row" class="property">starts-row</a>" and "<a href="#ends-row" class="property">ends-row</a>" properties
with a "true" value are
typically used when the input data does not have elements containing
the cells in each row, but instead, for example, each row starts
at elements of a particular type.</p></div></div><div class="div3">
<h4><a name="table-layout" id="table-layout"/>7.29.16 table-layout</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | fixed | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#propdef-table-layout">
"table-layout" property
</a></p><dl><dt class="label">fixed</dt><dd><p>Use the fixed table layout algorithm</p></dd><dt class="label">auto</dt><dd><p>Use any automatic table layout algorithm</p></dd></dl><p>The "<a href="#table-layout" class="property">table-layout</a>" property controls the algorithm used to lay
out the table cells, rows, and columns.</p></div><div class="div3">
<h4><a name="table-omit-footer-at-break" id="table-omit-footer-at-break"/>7.29.17 table-omit-footer-at-break</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">true</dt><dd><p>This property specifies that the footer should be omitted.</p></dd><dt class="label">false</dt><dd><p>This property specifies that the footer should not be omitted.</p></dd></dl><p>The "<a href="#table-omit-footer-at-break" class="property">table-omit-footer-at-break</a>" property
specifies if a
table whose last area is not at the end of an area produced by the
table should end with the content of the <a href="#fo_table-footer" class="el">fo:table-footer</a> formatting object
or not.</p></div><div class="div3">
<h4><a name="table-omit-header-at-break" id="table-omit-header-at-break"/>7.29.18 table-omit-header-at-break</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">false</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><dl><dt class="label">true</dt><dd><p>This property specifies that the header should be omitted.</p></dd><dt class="label">false</dt><dd><p>This property specifies that the header should not be omitted.</p></dd></dl><p>The "<a href="#table-omit-header-at-break" class="property">table-omit-header-at-break</a>" property
specifies if a
table whose first area is not at the beginning of an area produced
by the table should start with the content of the <a href="#fo_table-header" class="el">fo:table-header</a>
formatting object or not.</p></div></div><div class="div2">
<h3><a name="writing-mode-related" id="writing-mode-related"/>7.30 Writing-mode-related Properties</h3><p>The properties in this section control the setting of the
inline-progression-direction, the block-progression-direction and the
orientation of the glyphs that are placed on a baseline in the
inline-progression-direction. The "<a href="#writing-mode" class="property">writing-mode</a>" property sets both
the "inline-progression-direction" and the
"block-progression-direction"s.
</p><p>The glyph orientation properties, "<a href="#glyph-orientation-horizontal" class="property">glyph-orientation-horizontal</a>" and
"<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" set the orientation of the glyph
relative to the default glyph orientation. The default orientation for
glyphs is with the top of the glyph oriented toward the top of the
reference area of which the glyph area is a descendant; that is, the
glyph orientation is the same as the <a href="#reference-orientation" class="property">reference-orientation</a> of the
reference area. Glyphs that are oriented at '90' or '-90' degrees
from the <a href="#reference-orientation" class="property">reference-orientation</a> are said to be <b>rotated
glyphs</b>. Glyphs that are oriented 180 degrees from the
<a href="#reference-orientation" class="property">reference-orientation</a> are said to be <b>inverted glyphs</b>.
</p><p>The "<a href="#direction" class="property">direction</a>" property (which is controlled by the "<a href="#unicode-bidi" class="property">unicode-bidi</a>"
property) only affects text in which the orientation of the glyphs is
perpendicular to the dominant-baseline. For horizontal writing-modes,
the "<a href="#direction" class="property">direction</a>" property only affects <a href="#character" class="property">character</a> sequences that
generate glyphs that are not rotated. For vertical writing-modes, the
"<a href="#direction" class="property">direction</a>" property only affects <a href="#character" class="property">character</a> sequences that generate
glyphs that are rotated.
</p><p>The following sample fragment of XML is used to illustrate the
interaction between the "<a href="#writing-mode" class="property">writing-mode</a>," "<a href="#direction" class="property">direction</a>" and
"<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" properties.
</p><div style="margin-left: 3em;">
<img src="figures/GlyphOrientationVerticalandDir-apex-markup.gif" alt="Picture of the source of a sample XML file. A 't' element contains (in that order): an ideogram, a 't-s1' element containing a word in Roman script, a 't-s2' element containing a word in Hebrew script, and an other ideogram." title="Markup of text in the next figure"/>
<p><b>Figure 65. </b>Markup of text in the next figure</p>
</div><p>In the XML markup of the figure above, the characters are represented by
their presentation form (and not their Unicode code points). The
order in which the characters are depicted is their storage order.
The Hebrew characters in the third line are (from <a href="#left" class="property">left</a> to <a href="#right" class="property">right</a>) the
first four letters of the Hebrew alphabet: aleph, beth, gimel and
daleth. The generic identifiers in the XML markup are arbitrary, but
are intended to suggest a sequence of text with two embedded text
spans.
</p><p>The following figure shows the effect of specifying an assortment of
values for the "<a href="#direction" class="property">direction</a>" and "<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" properties
that are specified on the three elements in the above XML fragment. In
all cases, the "<a href="#writing-mode" class="property">writing-mode</a>" is "tb-rl". And in all cases the Unicode
BIDI algorithm <a href="#UNICODE-TR9">[UNICODE UAX #9]</a> is applied to the characters that are the children or
descendants of the &lt;t&gt; element, sometimes with explicit directional
markup in terms of the "<a href="#direction" class="property">direction</a>" property and other times using the
intrinsic <a href="#direction" class="property">direction</a> properties of the underlying characters. The Unicode
BIDI algorithm is applied as the last step of refinement
(see <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>)
and before mapping the characters to glyphs and applying any
rotation due to a glyph-orientation value.
</p><p>The figure shows seven possible presentations of the sample XML
fragment, one with all glyphs having a vertical orientation and six
with various combinations of a perpendicular glyph-orientation and
direction. In the figure, the correct reading order of the glyphs
(left-to-right for the Latin and right-to-left for the Hebrew
sub-sequences) is shown by the (red) arrow that is placed on the
alphabetic baseline under the glyphs.
</p><p>The six combinations of the "<a href="#direction" class="property">direction</a>" and
"<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" properties that generated cases (2)
through (7) have the property that they preserve the correct reading
order when the glyphs are viewed upright. For some of the cases, it is
necessary to turn the page one way to view the glyphs of one language
and the opposite way to view the glyphs of the other language in an
upright position. The reading order is preserved by combining a visual
re-ordering of the glyphs using the Unicode BIDI algorithm with a
glyph-orientation that ensures the proper reading order for the
ordering of the glyphs that results from the Unicode BIDI
algorithm. Sometimes it is necessary to explicitly specify the
"<a href="#direction" class="property">direction</a>" property to force the desired visual ordering of the
glyphs.
</p><p>The property specifications that yield the six presentations
are given in the table that follows the figure.
</p><div style="margin-left: 3em;">
<img src="figures/GlyphOrientationVerticalandDir-apex-AllVariants.gif" alt="This figure shows all seven types of rotations of a sample vertical text containing (in that order) an ideogram, a word in Roman script, a word in Hebrew script and another ideogram. (1) all glyphs are rotated individually and displayed top-to-bottom, (2) The Roman and Hebrew words are rotated as wholes and are laid out top-to-bottom and bottom-to-top respectively, (3) top-to-bottom and top-to-bottom, (4) bottom-to-top and top-to-bottom, (5) bottom-to-top an bottom-to-top, Hebrew word at the top, (6) top-to-bottom and bottom-to-top, Hebrew word at the top, (7) bottom-to-top and top-to-bottom, Hebrew word at the top." title="Achievable rotations of Bidi text"/>
<p><b>Figure 66. </b>Achievable rotations of Bidi text</p>
</div><table border="1" cellpadding="2" cellspacing="0"><caption>Table: Properties that produce the above figure</caption><thead align="left" valign="top"><tr align="left" valign="top"><td align="center" valign="middle">Elements/ Cases</td><td align="center" valign="middle">&lt;t&gt;</td><td align="center" valign="middle">&lt;t-s1&gt;</td><td align="center" valign="middle">&lt;t-s2&gt;</td></tr></thead><tbody align="left" valign="top"><tr align="left" valign="top"><td align="center" valign="middle"><p>(2)</p></td><td valign="top" align="left">writing-mode: tb-rl
<p>glyph-orientation-vertical: 0</p></td><td valign="top" align="left">glyph-orientation-vertical: 90</td><td valign="top" align="left">glyph-orientation-vertical: 90</td></tr><tr align="left" valign="top"><td align="center" valign="middle"><p>(3)</p></td><td valign="top" align="left">writing-mode: tb-rl
<p>glyph-orientation-vertical: 0</p></td><td valign="top" align="left">glyph-orientation-vertical: 90</td><td valign="top" align="left">glyph-orientation-vertical: -90
<p>unicode-bidi: bidi-override</p>
<p>direction: ltr</p>
</td></tr><tr align="left" valign="top"><td align="center" valign="middle"><p>(4)</p></td><td valign="top" align="left">writing-mode: tb-rl
<p>glyph-orientation-vertical: 0</p></td><td valign="top" align="left">glyph-orientation-vertical: -90
<p>unicode-bidi: bidi-override</p>
<p>direction: rtl</p></td><td valign="top" align="left">glyph-orientation-vertical: -90
<p>unicode-bidi: bidi-override</p>
<p>direction: ltr</p>
</td></tr><tr align="left" valign="top"><td align="center" valign="middle"><p>(5)</p></td><td valign="top" align="left">writing-mode: tb-rl
<p>glyph-orientation-vertical: 0</p>
<p>direction: rtl</p></td><td valign="top" align="left">glyph-orientation-vertical: -90
<p>unicode-bidi: bidi-override</p></td><td valign="top" align="left">glyph-orientation-vertical: 90</td></tr><tr align="left" valign="top"><td align="center" valign="middle"><p>(6)</p></td><td valign="top" align="left">writing-mode: tb-rl
<p>glyph-orientation-vertical: 0</p>
<p>direction: rtl</p></td><td valign="top" align="left">glyph-orientation-vertical: -90
<p>unicode-bidi: bidi-override</p></td><td valign="top" align="left">glyph-orientation-vertical: -90
<p>unicode-bidi: bidi-override</p>
<p>direction: ltr</p></td></tr><tr align="left" valign="top"><td align="center" valign="middle"><p>(7)</p></td><td valign="top" align="left">writing-mode: tb-rl
<p>glyph-orientation-vertical: 0</p>
<p>direction: rtl</p></td><td valign="top" align="left">glyph-orientation-vertical: 90
<p>unicode-bidi: embed</p>
<p>direction: ltr</p></td><td valign="top" align="left">glyph-orientation-vertical: 90</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>Case (1) has no rotated text. This can occur either because
"<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" is set to "0" or because it is set to
"auto" and all the characters in the string are the full <a href="#width" class="property">width</a>
variants of the characters. If the orientation of the all glyphs is
vertical, then there is no re-ordering of characters.
If the "<a href="#writing-mode" class="property">writing-mode</a>" is set to "tb-lr" or "tb-rl" then the "<a href="#direction" class="property">direction</a>" is
set to "ltr" and correspondingly, a "<a href="#writing-mode" class="property">writing-mode</a>" set of "bt-lr" or
"bt-rl" sets the "<a href="#direction" class="property">direction</a>" to "rtl". Therefore, it is only necessary
to explicitly set the "<a href="#direction" class="property">direction</a>" property when it would be different
than that set by setting the "<a href="#writing-mode" class="property">writing-mode</a>"; for example, cases (5)
through (7).</p></li><li><p>Case (2) can either have the explicit property settings shown in the
table or the "<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" property on the &lt;t&gt;
element can have the value "auto" and the English and Hebrew
characters can be half-width characters. (Of course, there are not any
half-width Hebrew characters in real Unicode.) In this case, the
re-ordering of characters comes from the bi-directional <a href="#character" class="property">character</a>
types that are assigned to each Unicode character: the Roman
characters have type "L" for <a href="#left" class="property">left</a> to <a href="#right" class="property">right</a> and the Hebrew characters
have type "R" for <a href="#right" class="property">right</a> to left.</p></li><li><p>Cases (5) through (7) all explicitly set the "<a href="#direction" class="property">direction</a>" property to
"rtl". This sets the paragraph embedding level for the Unicode BIDI
algorithm to be <a href="#right" class="property">right</a> to left. Even though the "<a href="#direction" class="property">direction</a>" property is
set to "rtl", the ideographic glyphs are not re-ordered because their
orientation is not perpendicular to the dominant-baseline.</p></li><li><p>In cases (5) and (6) for the &lt;t-s1&gt; element, the "<a href="#unicode-bidi" class="property">unicode-bidi</a>"
property is set to override even though there is no explicit
specification for the "<a href="#direction" class="property">direction</a>" property. The inherited value of the
"<a href="#direction" class="property">direction</a>" property (which is "rtl" in this case) is used.</p></li><li><p>In case (7) for the &lt;t-s1&gt; element, the "<a href="#unicode-bidi" class="property">unicode-bidi</a>" property
is set to "embed". It is not necessary to use "bidi-override" because
the bi-directional <a href="#character" class="property">character</a> type for the content of &lt;t-s1&gt; is
already "L". (Using the value "bidi-override" would have the same
effect as the "embed", however.) The embed resets the embedding level
of the content of the &lt;t-s1&gt; to be <a href="#left" class="property">left</a> to right. Even the
"embed" (and the specific setting of the "<a href="#unicode-bidi" class="property">unicode-bidi</a>" property) is
not needed because the bi-directional <a href="#character" class="property">character</a> type, "L" of the
English characters is sufficient to raise the embedding level and
cause them to be ordered <a href="#left" class="property">left</a> to right. Setting the "<a href="#direction" class="property">direction</a>"
property to "ltr" is needed if the "<a href="#unicode-bidi" class="property">unicode-bidi</a>" property is other
than "normal" because the inherited value of "<a href="#direction" class="property">direction</a>" is "rtl".</p></li></ol></div><p>If paired punctuation characters, such as parentheses, had been
included in one of the text spans, then these characters may need to
be "mirrored" as described in the Unicode BIDI algorithm. Mirroring a
<a href="#character" class="property">character</a> means reversing the <a href="#direction" class="property">direction</a> the <a href="#character" class="property">character</a> faces; for
example, mirroring a <a href="#left" class="property">left</a> parenthesis makes it into a <a href="#right" class="property">right</a>
parenthesis. This insures that the mirrored characters always face the
text they surround.
</p><p>If the "glyph-orientation" of the characters to which the glyphs
correspond is "90" and the embedding level in which the characters lie
is odd, then the paired glyphs need to be mirrored. Alternatively, if
the "glyph-orientation" of the characters to which the glyphs
correspond is "-90" and the embedding level in which the characters
lie is even, then the paired glyphs need to be mirrored. In the
example above, parentheses that surround the Latin text would not be
mirrored in cases (2), (3) and (7), but would need to be mirrored in
cases (4) through (6). Conversely, parentheses that surround the
Hebrew text would not be mirrored in cases (4) through (6), but would
need to be mirrored in cases (2), (3), and (7).
</p><p>Within a string of vertical text, when the value of the
"<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" property is "90", then each affected
glyph is rotated 90 degrees clockwise. This rotation changes the way
the rotated glyph is aligned. The horizontal alignment-point of the
rotated glyph is aligned with the appropriate baseline from the
vertical baseline-table. The appropriate baseline is the baseline
identified by the "<a href="#alignment-baseline" class="property">alignment-baseline</a>" property of the <a href="#character" class="property">character</a>(s)
that generate the glyph area. For example, if the
"<a href="#alignment-baseline" class="property">alignment-baseline</a>" property is not explicitly specified, Latin
glyphs are aligned to the (vertical) "alphabetic" baseline and some
Indic glyphs are aligned to the (vertical) "hanging" baseline.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If a glyph, such as a ligature or syllabic glyph, is generated from
more than one <a href="#character" class="property">character</a>, then all those characters must have
the same value for the "<a href="#alignment-baseline" class="property">alignment-baseline</a>" property.
</p></div><p>The positions of the (vertical) baselines are chosen to insure that
the rotated glyphs will not protrude too far (if at all) outside the
line area for the vertical line when the "<a href="#line-stacking-strategy" class="property">line-stacking-strategy</a>"
property has the value "<a href="#line-height" class="property">line-height</a>" or "font-height". In this case,
we will say the rotated text is <b>well aligned</b> in the
vertical line area.
</p><p>To preserve the property that rotated text in a vertical line is well
aligned when the "<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" property value is
"-90", the vertical baseline-table must be <b>reflected</b>
before the rotated text is aligned. Let C be the value of the offset
to the "central" baseline in the baseline-table. A baseline-table is
reflected by negating every offset in the baseline table (where
negating "-N" yields "N") and adding 2 times C to each of the negated
offsets. The "central" baseline is defined in
<a href="#area-alignment"><b>7.15 Area Alignment Properties</b></a>.
</p><p>This action is called "reflecting" because the offset
from the original dominant baseline to any baseline in the reflected
baseline-table places that baseline on the opposite side of the
"central" baseline and the distance from the "central" baseline to that
baseline is the same as was from the "central" baseline to that
baseline in its original (un-reflected) position. In short, the
positions of the baselines are reflected across the
"central" baseline.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>If <var>X</var> is the offset of baseline X and <var>C</var> is
the offset of the "central" baseline, then <var>-X+2*C = C+(C-X)
</var>. <var>C+(C-X) </var> is the offset of the "central" baseline plus the
distance between the "central" baseline and baseline X, the baseline
being reflected.</p></div><p>Reflecting is necessary, because both the
"alphabetic" and the "hanging" baselines are near the outer edges of
the vertical line area. If the glyph were simply rotated 180 degrees,
then it would stick way out of the intended line area. This is
prevented by reflecting the baselines for glyphs that are perpendicular
to the dominant baseline and that are rotated 180 degrees from the
<a href="#direction" class="property">direction</a> for which that baseline was intended. This last statement
applies as much to horizontal baselines as it does to vertical
baselines.
</p><div style="margin-left: 3em;">
<img src="figures/Rotations-Combo-HorizNVert-wX.gif" alt="Three examples of inline text with mixed glyph rotation and writing-modes, described in detail in the text." title="Mixed glyph rotations and writing modes"/>
<p><b>Figure 67. </b>
The figure illustrates the positioning of rotated and inverted glyphs
in both vertical and horizontal writing-modes. The three examples show
first some glyphs typical of the writing mode and then some atypical
glyphs in each of the possible orientations, 0, 90, 180 and -90
degrees, in that order. The alignment-point for each glyph is shown as
a small "x" whose center is at the alignment-point.
</p><p>
Example 1 shows the "tb-rl" vertical writing-mode. It has the
ideographic glyph for "<a href="#country" class="property">country</a>" as its normal glyph and the two
letters sequence, "Ap" as the glyphs that are rotated. Note that in
the default orientation (0 degrees) and in the inverted orientation,
the full <a href="#width" class="property">width</a> Latin glyphs are used; in the two other orientations,
the proportional Latin glyphs are used. There is a small amount of
white space between the proportional and the full <a href="#width" class="property">width</a> Latin
glyphs. The dominant baseline is the "central" baseline which is shown
in blue. The reflected baseline table is shown for the last (-90
degree) rotation. Note that the <a href="#position" class="property">position</a> of the "central" baseline
does not change when the baseline table is reflected. For the inverted
glyphs and the glyphs with a -90 degree rotation, the start-edge of
the rotated glyph is on the opposite side from where it is in the
un-rotated glyph; hence, the alignment-point on that start edge is not
on the edge where the <a href="#font" class="property">font</a> tables normally place it.
</p><p>
Examples 2 and 3 show the "lr-tb" horizontal writing-mode. They have
the Latin glyph sequence, "Ap" as their normal glyphs. Example 2
rotates the syllabic Gurmukhi glyph for "ji" and example 3 rotates
the ideographic glyph for "<a href="#country" class="property">country</a>". In example 2, the whole syllabic
glyph is rotated as in indivisible unit. For the 90 and -90 degree
rotations, the vertical alignment-point, aligning to the "central"
baseline, is used in both Examples. Similarly, for the inverted glyph,
the baseline table is reflected. For the glyphs with a 90 degree
rotation and the inverted glyphs, the start-edge of the rotated glyph
is on the opposite side from where it is in the un-rotated glyph;
hence, the alignment-point on that start edge is not on the edge where
the <a href="#font" class="property">font</a> tables normally place it.
</p>
</div><div class="div3">
<h4><a name="direction" id="direction"/>7.30.1 direction</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">ltr | rtl | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">ltr</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-direction">
"direction" property
</a></p><p>This property specifies the base writing <a href="#direction" class="property">direction</a> of blocks
and the <a href="#direction" class="property">direction</a> of embeddings and overrides
(see <a href="#UNICODE-TR9">[UNICODE UAX #9]</a>)
for the Unicode BIDI algorithm. In addition, it specifies
the <a href="#direction" class="property">direction</a> of table column layout, the <a href="#direction" class="property">direction</a> of horizontal <a href="#overflow" class="property">overflow</a>,
and the <a href="#position" class="property">position</a> of an incomplete last line in a block in case of
'text-align: justify'. </p><p>Values for this property have the following meanings:</p><dl><dt class="label">ltr</dt><dd><p>Left to <a href="#right" class="property">right</a> direction.</p></dd><dt class="label">rtl</dt><dd><p>Right to <a href="#left" class="property">left</a> direction.</p></dd></dl><p>For the '<a href="#direction" class="property">direction</a>' property to have any effect on inline-level
elements, the '<a href="#unicode-bidi" class="property">unicode-bidi</a>' property's value must be 'embed' or
'override'. </p><div class="note"><p class="prefix"><b>Note:</b></p><p>The '<a href="#direction" class="property">direction</a>' property, when specified for table column elements,
is not inherited by cells in the column since columns don't exist
in the document tree. Thus, CSS cannot easily capture the "dir"
attribute inheritance rules described in [HTML40], section 11.3.2.1. </p></div><p><em>XSL modifications to the CSS definition:</em></p><ul><li><p>The specific use of "<a href="#direction" class="property">direction</a>" and "<a href="#unicode-bidi" class="property">unicode-bidi</a>" on inline
objects is to set the inline-progression-direction to be used by the Unicode
BIDI algorithm. This <a href="#direction" class="property">direction</a> may override the
inline-progression-direction determined by the current <a href="#writing-mode" class="property">writing-mode</a>
and the implicit <a href="#direction" class="property">direction</a> determined by the Unicode BIDI
algorithm.</p></li><li><p> To insure consistency with the "<a href="#writing-mode" class="property">writing-mode</a>" property, the "<a href="#direction" class="property">direction</a>"
property is initialized to the value that sets the same
inline-progression-direction as is set by the "<a href="#writing-mode" class="property">writing-mode</a>" property
whenever that "<a href="#writing-mode" class="property">writing-mode</a>" property sets that direction. If the
"<a href="#direction" class="property">direction</a>" property is explicitly specified on the same formatting object the
value of the "<a href="#direction" class="property">direction</a>" property will override the
inline-progression-direction set by the "<a href="#writing-mode" class="property">writing-mode</a>".
</p></li><li><p>This property only has an effect on text in which the
orientation of the glyphs is perpendicular to the
inline-progression-direction. Therefore, vertical ideographic text with the initial value for "<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" is
not affected by this property; vertical text for which the "<a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a>" property has the value
of "90" or "-90" degrees is affected.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>
When the inline-progression-direction is "tb", as is typical for vertical text, then this corresponds to a "lr" inline-progression-direction for text with a glyph-orientation of '90' degrees and an "rl" inline-progression-direction for text with a glyph-orientation of "-90" degrees.
</p></div></li><li><p>
The "<a href="#writing-mode" class="property">writing-mode</a>" property
establishes both the block-progression-direction and the
inline-progression-direction. The "<a href="#direction" class="property">direction</a>" property only changes
the inline-progression-direction and is used primarily for formatting
objects that generate inline-areas that are not also reference
areas. Use of the "<a href="#direction" class="property">direction</a>" property for other formatting objects is
deprecated in this specification.
</p></li><li><p>When mapping CSS to XSL, the XSL "<a href="#writing-mode" class="property">writing-mode</a>" property
should be used rather than the "<a href="#direction" class="property">direction</a>" property for all block-level
directionality control. XSL's "<a href="#writing-mode" class="property">writing-mode</a>" should also be used
for any inline-container or block-container
objects. The "<a href="#direction" class="property">direction</a>" property should be used only for control/overrides of
the Unicode BIDI algorithm on bidi-override formatting
objects.</p></li></ul><p>Implementations must support the values of the "<a href="#direction" class="property">direction</a>"
values defined in this Recommendation that are required to support
the "<a href="#writing-mode" class="property">writing-mode</a>" values supported by the implementation.</p></div><div class="div3">
<h4><a name="glyph-orientation-horizontal" id="glyph-orientation-horizontal"/>7.30.2 glyph-orientation-horizontal</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;angle&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0deg</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;angle&gt;</dt><dd><p>The angle is restricted to 0, 90, 180, and 270 degrees.
The User Agent shall round the value of the angle to the closest
of the permitted values.</p><p>A value of "0deg" indicates that all glyphs are set with the top
of the glyphs toward the top of the reference-area. The top of the reference-area
is defined by the reference-area's <span class="trait">reference-orientation</span>.</p><p>A value of "90deg" indicates a rotation of 90-degrees clockwise
from the "0deg" orientation.</p></dd></dl><p>This property specifies the orientation
of glyphs relative to the path <a href="#direction" class="property">direction</a> specified by the '<a href="#writing-mode" class="property">writing-mode</a>'.
This property is applied only to text written
in a horizontal writing-mode.
</p><p>
The value of this property affects both the alignment and <a href="#width" class="property">width</a> of the glyph-areas generated for the affected glyphs. If a glyph is oriented so that it is not perpendicular to the <a href="#dominant-baseline" class="property">dominant-baseline</a>, then the vertical
alignment-point of the rotated glyph is aligned with the
<a href="#alignment-baseline" class="property">alignment-baseline</a> appropriate to that glyph. The baseline to which the rotated glyph is aligned is
the (horizontal) baseline identified by the "<a href="#alignment-baseline" class="property">alignment-baseline</a>" for the
<a href="#script" class="property">script</a> to which the glyph belongs. The <a href="#width" class="property">width</a> of the glyph-area is determined from the vertical <a href="#width" class="property">width</a> <a href="#font" class="property">font</a> characteristic for the glyph.
</p></div><div class="div3">
<h4><a name="glyph-orientation-vertical" id="glyph-orientation-vertical"/>7.30.3 glyph-orientation-vertical</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | &lt;angle&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><ul><li><p>Fullwidth ideographic
and fullwidth Latin text (excluding ideographic punctuation) will
be set with a glyph-orientation of 0-degrees. </p><p>Ideographic punctuation and other ideographic characters having
alternate horizontal and vertical forms will use the vertical form
of the glyph.</p></li><li><p>Text which is not fullwidth will be set with a glyph-orientation
of 90-degrees.</p><p>This reorientation rule applies only to the first-level non-ideographic
text. All further embedding of writing-modes or BIDI processing
will be based on the first-level rotation.</p><div class="note"><p class="prefix"><b>Note:</b></p><ul><li><p>This is equivalent to having set the non-ideographic
text string horizontally honoring the bidi-rule, then rotating the
resultant sequence of inline-areas (one area for each change of
glyph <a href="#direction" class="property">direction</a>) 90-degrees clockwise.</p><p>It should be noted that text set in this "rotated" manner may
contain ligatures or other glyph combining and reordering common
to the <a href="#language" class="property">language</a> and script. (This "rotated" presentation form does
not disable auto-ligature formation or similar context-driven variations.)</p></li><li><p>The determination of which characters should be auto-rotated
may vary across User Agents. The determination is based on a complex
interaction between <a href="#country" class="property">country</a>, <a href="#language" class="property">language</a>, <a href="#script" class="property">script</a>, <a href="#character" class="property">character</a> properties,
<a href="#font" class="property">font</a>, and <a href="#character" class="property">character</a> context. It is suggested that one consult the
Unicode TR 11 and the various JIS or other national
standards.</p></li></ul></div></li></ul></dd><dt class="label">&lt;angle&gt;</dt><dd><p>The angle is restricted to 0, 90, 180, and 270 degrees.
The User Agent shall round the value of the angle to the closest
of the permitted values.</p><p>A value of "0deg" indicates that all glyphs are set with the top
of the glyphs toward the top of the reference-area. The top of the reference-area
is defined by the reference-area's <span class="trait">reference-orientation</span>.</p><p>A value of "90deg" indicates a rotation of 90-degrees clockwise
from the "0deg" orientation.</p></dd></dl><p>This property specifies the orientation
of glyphs relative to the path <a href="#direction" class="property">direction</a> specified by the writing-mode.
This property is applied only text written
with an inline-progression-direction
top-to-bottom or
bottom-to-top.</p><p>Its most common usage is to differentiate between the preferred
orientation of alphabetic text in vertically written Japanese documents
(glyph-orientation="auto") vs. the orientation of alphabetic text in
western signage and advertising (glyph-orientation="0deg").</p><p>
The value of this property affects both the alignment and <a href="#width" class="property">width</a> of the glyph-areas generated for the affected glyphs. If a glyph is oriented so that it is perpendicular to the <a href="#dominant-baseline" class="property">dominant-baseline</a>, then the horizontal
alignment-point of the rotated glyph is aligned with the
<a href="#alignment-baseline" class="property">alignment-baseline</a> appropriate to that glyph. The baseline to which the rotated glyph is aligned is
the (vertical) baseline identified by the "<a href="#alignment-baseline" class="property">alignment-baseline</a>" for the
<a href="#script" class="property">script</a> to which the glyph belongs. The <a href="#width" class="property">width</a> of the glyph-area is determined from the horizontal <a href="#width" class="property">width</a> <a href="#font" class="property">font</a> characteristic for the glyph.
</p></div><div class="div3">
<h4><a name="text-altitude" id="text-altitude"/>7.30.4 text-altitude</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">use-font-metrics</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#font" class="property">font</a>'s em-height</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">use-font-metrics</dt><dd><p>Uses a value for the "<a href="#height" class="property">height</a>"
of the <a href="#font" class="property">font</a> above the dominant baseline,
calculated as the distance between the text-before baseline and
the dominant baseline,
obtained from
the nominal <a href="#font" class="property">font</a> for <a href="#fo_block" class="el">fo:block</a>, <a href="#fo_character" class="el">fo:character</a>, and
<a href="#fo_leader" class="el">fo:leader</a> when the <span class="trait">leader-pattern</span> does not have
the value "use-content".
For <a href="#fo_leader" class="el">fo:leader</a>, when the
<span class="trait">leader-pattern</span> has the value "use-content",
it is obtained from the nominal <a href="#font" class="property">font</a> of the first child.
</p><p>Conforming implementations may choose as an
actual value any value in the range of text-altitudes used
by fonts of the same <a href="#script" class="property">script</a> and <a href="#font-size" class="property">font-size</a>, instead of the values
from the <a href="#font" class="property">font</a> data.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Replaces the "<a href="#height" class="property">height</a>" value found in the font.</p></dd></dl><p>Specifies the "<a href="#height" class="property">height</a>" to be used for the ascent
above the dominant baseline.</p></div><div class="div3">
<h4><a name="text-depth" id="text-depth"/>7.30.5 text-depth</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">use-font-metrics</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#font" class="property">font</a>'s em-height</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">use-font-metrics</dt><dd><p>Uses a value for the "depth"
of the <a href="#font" class="property">font</a> below the baseline,
calculated as the distance between
the dominant baseline and the text-after baseline,
obtained from
the nominal <a href="#font" class="property">font</a> for <a href="#fo_block" class="el">fo:block</a>, <a href="#fo_character" class="el">fo:character</a>, and
<a href="#fo_leader" class="el">fo:leader</a> when the <span class="trait">leader-pattern</span> does not have
the value "use-content".
For <a href="#fo_leader" class="el">fo:leader</a>, when the
<span class="trait">leader-pattern</span> has the value "use-content",
it is obtained from the nominal <a href="#font" class="property">font</a> of the first child.
</p><p>Conforming implementations may choose as an
actual value any value in the range of text-depths used
by fonts of the same <a href="#script" class="property">script</a> and <a href="#font-size" class="property">font-size</a>, instead of the values
from the <a href="#font" class="property">font</a> data.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Replaces the "depth" value found in the font.</p></dd></dl><p>Specifies the "depth" to be used for the descent
below the dominant baseline.</p></div><div class="div3">
<h4><a name="unicode-bidi" id="unicode-bidi"/>7.30.6 unicode-bidi</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | embed | bidi-override | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-unicode-bidi">
"unicode-bidi" property
</a></p><p>Values have the following meanings:</p><dl><dt class="label">normal</dt><dd><p>The element does not open an additional
level of embedding with respect to the bidirectional algorithm.</p><p>For inline-level elements, implicit reordering works across element
boundaries. </p></dd><dt class="label">embed</dt><dd><p>If the element is inline-level, this
value opens an additional level of embedding with respect to the
bidirectional algorithm. The <a href="#direction" class="property">direction</a> of this embedding level is given
by the '<a href="#direction" class="property">direction</a>' property. Inside the element, reordering is done
implicitly. This corresponds to adding a LRE (U+202A; for 'direction:
ltr') or RLE (U+202B; for 'direction: rtl') at the start of the
element and a PDF (U+202C) at the end of the element. </p></dd><dt class="label">bidi-override</dt><dd><p>If the element is inline-level or
a block-level element that contains only inline-level elements,
this creates an override. This means that inside the element, reordering
is strictly in sequence according to the '<a href="#direction" class="property">direction</a>' property; the
implicit part of the bidirectional algorithm is ignored. This corresponds
to adding a LRO (U+202D; for 'direction: ltr') or RLO (U+202E; for
'direction: rtl') at the start of the element and a PDF (U+202C)
at the end of the element. </p></dd></dl><p>The final order of characters in each
block-level element is the same as if the bidi control codes had
been added as described above, markup had been stripped, and the
resulting <a href="#character" class="property">character</a> sequence had been passed to an implementation
of the Unicode bidirectional algorithm for plain text that produced
the same line-breaks as the styled text. In this process, non-textual
entities such as images are treated as neutral characters, unless
their '<a href="#unicode-bidi" class="property">unicode-bidi</a>' property has a value other than 'normal', in
which case they are treated as strong characters in the '<a href="#direction" class="property">direction</a>'
specified for the element.</p><p>Please note that in order to be able to flow inline boxes in
a uniform <a href="#direction" class="property">direction</a> (either entirely left-to-right or entirely right-to-left),
more inline boxes (including anonymous inline boxes) may have to
be created, and some inline boxes may have to be split up and reordered
before flowing.</p><p>Because the Unicode algorithm has a limit of 15 levels of embedding,
care should be taken not to use '<a href="#unicode-bidi" class="property">unicode-bidi</a>' with a value other
than 'normal' unless appropriate. In particular, a value of 'inherit'
should be used with extreme caution. However, for elements that
are, in general, intended to be displayed as blocks, a setting of
'unicode-bidi: embed' is preferred to keep the element together
in case display is changed to inline.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The phrasing of the first paragraph of the general description
(following the value breakouts) should read "The final order of
presentation of the characters...".</p><p>In Unicode 3.0, the Unicode Consortium has increased the limit of
the levels of embedding to 61 (definition BD2 in <a href="#UNICODE-TR9">[UNICODE UAX #9]</a>).</p><p>Fallback:</p><p>If it is not possible to present the characters in the correct order,
then the User Agent should display either
a 'missing <a href="#character" class="property">character</a>' glyph
or display some indication that the content cannot be correctly rendered.</p></div><div class="div3">
<h4><a name="writing-mode" id="writing-mode"/>7.30.7 writing-mode</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">lr-tb |
rl-tb |
tb-rl |
tb-lr |
bt-lr |
bt-rl |
lr-bt |
rl-bt |
lr-alternating-rl-bt |
lr-alternating-rl-tb |
lr-inverting-rl-bt |
lr-inverting-rl-tb |
tb-lr-in-lr-pairs |
lr |
rl |
tb |
inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">lr-tb</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes (see prose)</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">lr-tb</dt><dd><p>Inline components and text within
a line are written left-to-right. Lines and blocks are placed top-to-bottom.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Typically, this is the <a href="#writing-mode" class="property">writing-mode</a> for normal
"alphabetic" text.</p></div><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to left-to-right</p><p>If any right-to-left reading characters are present in the text,
the inline-progression-direction for glyph-areas may be
further modified by the Unicode BIDI algorithm.</p></li><li><p>block-progression-direction to top-to-bottom</p></li><li><p>shift-direction to bottom-to-top</p></li></ul></dd><dt class="label">rl-tb</dt><dd><p>Inline components and text within
a line are written right-to-left. Lines and blocks are placed top-to-bottom.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Typically, this writing mode is used in Arabic and Hebrew text.</p></div><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to right-to-left</p><p>If any left-to-right reading characters or numbers are present
in the text, the inline-progression-direction for
glyph-areas may
be further modified by the Unicode BIDI algorithm.</p></li><li><p>block-progression-direction to top-to-bottom</p></li><li><p>shift-direction to bottom-to-top</p></li></ul></dd><dt class="label">tb-rl</dt><dd><p>Inline components and text within
a line are written top-to-bottom. Lines and blocks are placed right-to-left.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Typically, this writing mode is used in Chinese and Japanese
text.</p></div><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to top-to-bottom</p></li><li><p>block-progression-direction to right-to-left</p></li><li><p>shift-direction to left-to-right</p></li></ul></dd><dt class="label">tb-lr</dt><dd><p>Inline components and text within a line are stacked top-to-bottom.
Lines and blocks are stacked left-to-right.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to top-to-bottom</p></li><li><p>block-progression-direction to left-to-right</p></li><li><p>shift-direction to right-to-left</p></li></ul></dd><dt class="label">bt-lr</dt><dd><p>Inline components and text within a line are stacked bottom-to-top.
Lines and blocks are stacked left-to-right.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to bottom-to-top</p></li><li><p>block-progression-direction to left-to-right</p></li><li><p>shift-direction to right-to-left</p></li></ul></dd><dt class="label">bt-rl</dt><dd><p>Inline components and text within a line are stacked bottom-to-top.
Lines and blocks are stacked right-to-left.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to bottom-to-top</p></li><li><p>block-progression-direction to right-to-left</p></li><li><p>shift-direction to left-to-right</p></li></ul></dd><dt class="label">lr-bt</dt><dd><p>Inline components and text within a line are stacked left-to-right.
Lines and blocks are stacked bottom-to-top.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to left-to-right</p></li><li><p>block-progression-direction to bottom-to-top</p></li><li><p>shift-direction to bottom-to-top</p></li></ul></dd><dt class="label">rl-bt</dt><dd><p>Inline components and text within a line are stacked right-to-left.
Lines and blocks are stacked bottom-to-top.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to right-to-left</p></li><li><p>block-progression-direction to bottom-to-top</p></li><li><p>shift-direction to bottom-to-top</p></li></ul></dd><dt class="label">lr-alternating-rl-bt</dt><dd><p>Inline components and text within the first
line are stacked left-to-right, within the second line
they are stacked right-to-left; continuing in alternation.
Lines and blocks are stacked bottom-to-top.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to
left-to-right for odd-numbered lines,
right-to-left for even-numbered lines</p></li><li><p>block-progression-direction to bottom-to-top</p></li><li><p>shift-direction to bottom-to-top</p></li></ul></dd><dt class="label">lr-alternating-rl-tb</dt><dd><p>Inline components and text within the first
line are stacked left-to-right, within the second line
they are stacked right-to-left; continuing in alternation.
Lines and blocks are stacked top-to-bottom.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to
left-to-right for odd-numbered lines,
right-to-left for even-numbered lines</p></li><li><p>block-progression-direction to top-to-bottom</p></li><li><p>shift-direction to bottom-to-top</p></li></ul></dd><dt class="label">lr-inverting-rl-bt</dt><dd><p>Inline components and text within the first
line are stacked left-to-right, within the second line
they inverted and are stacked right-to-left; continuing in alternation.
Lines and blocks are stacked bottom-to-top.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to
left-to-right for odd-numbered lines,
right-to-left for even-numbered lines</p></li><li><p>block-progression-direction to bottom-to-top</p></li><li><p>shift-direction to
bottom-to-top for odd-numbered lines,
top-to-bottom for even-numbered lines</p></li></ul></dd><dt class="label">lr-inverting-rl-tb</dt><dd><p>Inline components and text within the first
line are stacked left-to-right, within the second line
they inverted and are stacked right-to-left; continuing in alternation.
Lines and blocks are stacked top-to-bottom.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to
left-to-right for odd-numbered lines,
right-to-left for even-numbered lines</p></li><li><p>block-progression-direction to top-to-bottom</p></li><li><p>shift-direction to
bottom-to-top for odd-numbered lines,
top-to-bottom for even-numbered lines</p></li></ul></dd><dt class="label">tb-lr-in-lr-pairs</dt><dd><p>Text is written in two <a href="#character" class="property">character</a>, left-to-right,
pairs. The pairs
are then stacked top-to-bottom to form a line.
Lines and blocks are stacked left-to-right.</p><p>Establishes the following directions:</p><ul><li><p>inline-progression-direction to top-to-bottom</p></li><li><p>block-progression-direction to left-to-right</p></li><li><p>shift-direction to right-to-left</p></li></ul><p>The two glyph areas in the pair are aligned in the
inline-progression-direction in the same manner as for lines
with a left-to-right inline progression <a href="#direction" class="property">direction</a> using the values of
the "<a href="#alignment-baseline" class="property">alignment-baseline</a>", "<a href="#alignment-adjust" class="property">alignment-adjust</a>", "<a href="#baseline-shift" class="property">baseline-shift</a>", and
"<a href="#dominant-baseline" class="property">dominant-baseline</a>" properties.
</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Informally: the two glyph areas are placed
with respect to each other vertically as
if they were part of a line written left-to-right.</p></div><p>For stacking into lines each pair is considered a glyph area
with an allocation rectangle that is the minimum rectangle required
to enclose the allocation rectangles of the glyphs in the pair.</p><p>In the block-progression-direction the pairs are aligned on
a line that is half-way between the end-edge of the first glyph area
and the start-edge of the second glyph area in the pair.</p></dd><dt class="label">lr</dt><dd><p>Shorthand for lr-tb.</p></dd><dt class="label">rl</dt><dd><p>Shorthand for rl-tb.</p></dd><dt class="label">tb</dt><dd><p>Shorthand for tb-rl.</p></dd></dl><p>The <span class="trait">writing-mode</span> trait on an area is indirectly derived
from the "<a href="#writing-mode" class="property">writing-mode</a>" property on the formatting object
that generates the area or the formatting object ancestors of that
formatting object.
The "<a href="#writing-mode" class="property">writing-mode</a>" property applies
only to formatting objects that
set up
a reference-area.
Each value of <a href="#writing-mode" class="property">writing-mode</a> sets all three of the <a href="#direction" class="property">direction</a>
traits indicated in each of the value descriptions above on the
reference-area. (See the area model for a description of the <a href="#direction" class="property">direction</a>
traits and their usage.)</p><div class="note"><p class="prefix"><b>Note:</b></p><p>To change the "<a href="#writing-mode" class="property">writing-mode</a>" within an <a href="#fo_flow" class="el">fo:flow</a> or <a href="#fo_static-content" class="el">fo:static-content</a>,
either the <a href="#fo_block-container" class="el">fo:block-container</a> or the <a href="#fo_inline-container" class="el">fo:inline-container</a>,
as appropriate, should be used.</p><p>If one only wishes to change the inline-progression-direction
to override the Unicode BIDI-rule, one need not use an <a href="#fo_inline-container" class="el">fo:inline-container</a>.
Instead, one may use the "<a href="#direction" class="property">direction</a>" property on
the <a href="#fo_bidi-override" class="el">fo:bidi-override</a>.
</p></div><p>Implementations must support at least one of the "<a href="#writing-mode" class="property">writing-mode</a>"
values defined in this Recommendation.</p></div></div><div class="div2">
<h3><a name="d2e49951" id="d2e49951"/>7.31 Miscellaneous Properties</h3><div class="div3">
<h4><a name="change-bar-class" id="change-bar-class"/>7.31.1 change-bar-class</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;name&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, value required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;name&gt;</dt><dd><p>A name to allow pairing of <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> elements.</p></dd></dl><p>This property associates a name with an <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> or
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> element so that they can be matched
to each other even if other <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a> elements are interspersed. This
allows for "straddling pairs" of these elements.</p></div><div class="div3">
<h4><a name="change-bar-color" id="change-bar-color"/>7.31.2 change-bar-color</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;color&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">the value of the <a href="#color" class="property">color</a> property</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;color&gt;</dt><dd><p>Specifies the color of the change bar.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>The color of any change bar is determined by the value of this property
at the <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> that starts the change bar; changes to this
property after that do not affect the color of the change
bar begin generated.</p></div></div><div class="div3">
<h4><a name="change-bar-offset" id="change-bar-offset"/>7.31.3 change-bar-offset</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">6pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>Gives the distance from the edge of the column area containing the text
that is marked as changed to the center of the generated change bar.</p></dd></dl><p>A positive distance is directed away from the column region and into the
<a href="#margin" class="property">margin</a> regardless of the <span class="trait">change-bar-placement</span>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The offset of any change bar is determined by the value of this property
at the <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> that starts the change bar; changes to this
property after that do not affect the offset of the change
bar begin generated.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>Relative lengths (i.e., percentage
values and lengths with units of "em" or "ex") are not permitted for the value of
this property.</p></div></div><div class="div3">
<h4><a name="change-bar-placement" id="change-bar-placement"/>7.31.4 change-bar-placement</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | alternate</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">start</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property determines
where, relative to the column areas, the change bars will occur.
Values have the following meanings:</p><dl><dt class="label">start</dt><dd><p>The change bar will be offset from the start edge of all column areas.</p></dd><dt class="label">end</dt><dd><p>The change bar will be offset from the end edge of all column areas.</p></dd><dt class="label">left</dt><dd><p>The change bar will be offset from the <a href="#left" class="property">left</a> edge of all column areas.</p></dd><dt class="label">right</dt><dd><p>The change bar will be offset from the <a href="#right" class="property">right</a> edge of all column areas.</p></dd><dt class="label">inside</dt><dd><p>If the page binding edge is on the start-edge, the change bar will be offset
from the start edge of all column areas. If the binding is the end-edge, the change bar will be offset
from the end edge of all column areas. If the page binding edge is on neither the
start-edge nor end-edge, the change bar will be offset from the start edge of all column areas.</p></dd><dt class="label">outside</dt><dd><p>If the page binding edge is on the start-edge, the change bar will be offset
from the end edge of all column areas. If the binding is the end-edge, the change bar will be offset
from the start edge of all column areas. If the page binding edge is on neither the
start-edge nor end-edge, the change bar will be offset from the end edge of all column areas.</p></dd><dt class="label">alternate</dt><dd><p>When there are exactly two columns, the change bar will be offset from
the start edge of all column one areas and the end edge of all column two
areas; when there are any other number of columns, this value is equivalent
to 'outside'.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>The placement of any change bar is determined by the value of this property
at the <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> that starts the change bar; changes to this
property after that do not affect the placement of the change
bar begin generated.</p></div></div><div class="div3">
<h4><a name="change-bar-style" id="change-bar-style"/>7.31.5 change-bar-style</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the style of the change bar.</p><p>See definition of property <a href="#border-top-style" class="property">border-top-style</a> (<a href="#border-top-style"><b>7.8.29 border-top-style</b></a>).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The style of any change bar is determined by the value of this property
at the <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> that starts the change bar; changes to this
property after that do not affect the style of the change
bar begin generated.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>Conforming implementations may interpret 'dotted', 'dashed', 'double', 'groove',
'ridge', 'inset', and 'outset' to be 'solid'.</p></div></div><div class="div3">
<h4><a name="change-bar-width" id="change-bar-width"/>7.31.6 change-bar-width</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">medium</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Specifies the thickness of the change bar.</p><p>Values have the following meanings:</p><dl><dt class="label">thin</dt><dd><p>A thin border.</p></dd><dt class="label">medium</dt><dd><p>A medium border.</p></dd><dt class="label">thick</dt><dd><p>A thick border.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>The <a href="#border" class="property">border</a>'s thickness has an explicit value. Explicit
<a href="#border" class="property">border</a> widths cannot be negative.</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>The thickness of any change bar is determined by the value of this property
at the <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a> that starts the change bar; changes to this
property after that do not affect the thickness of the change
bar begin generated.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>Relative lengths (i.e., percentage
values and lengths with units of "em" or "ex") are not permitted for the value of
this property.</p></div></div><div class="div3">
<h4><a name="content-type" id="content-type"/>7.31.7 content-type</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;string&gt; | auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property specifies the <a href="#content-type" class="property">content-type</a> and may be used
by a User Agent to select a rendering processor for the object.</p><p>Values for this property have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>No identification of the content-type. The User Agent
may determine it by "sniffing" or by other means.</p></dd><dt class="label">&lt;string&gt;</dt><dd><p>A specification of the <a href="#content-type" class="property">content-type</a> in terms of either a
mime-type or a namespace.
</p><p>A mime-type specification has the form "content-type:" followed
by a mime <a href="#content-type" class="property">content-type</a>, e.g., <a href="#content-type" class="property">content-type</a>="content-type:xml/svg".</p><p>A namespace specification has the form "namespace-prefix:" followed
by a declared namespace prefix, e.g., <a href="#content-type" class="property">content-type</a>="namespace-prefix:svg".
If the namespace prefix is null, the <a href="#content-type" class="property">content-type</a> refers to the
default namespace.</p></dd></dl></div><div class="div3">
<h4><a name="id" id="id"/>7.31.8 id</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top"> &lt;<a href="#id" class="property">id</a>&gt;</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no, see prose</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;id&gt;</dt><dd><p>An identifier unique within all objects
in the result tree with the fo: namespace.</p></dd></dl><p>It allows references
to this formatting object by other objects.</p><p>The "inherit" value is not allowed on this property. </p><p>The
initial value of this property is a random and unique
identifier. The algorithm to generate this identifier is
system-dependent.
</p></div><div class="div3">
<h4><a name="intrinsic-scale-value" id="intrinsic-scale-value"/>7.31.9 intrinsic-scale-value</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">100%</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">user defined</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;percentage&gt;</dt><dd><p>Specifies the scale factor.</p></dd></dl><p>Specifies the scale factor that the intrinsic <a href="#size" class="property">size</a> corresponds
to.
</p></div><div class="div3">
<h4><a name="page-citation-strategy" id="page-citation-strategy"/>7.31.10 page-citation-strategy</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ all | normal | non-blank | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">all</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>This property determines what set of page areas are considered by a
page number citation formatting object. For this property definition,
an area <b>matches</b> a <span class="trait">ref-id</span> trait with
value V if the area is generated either
(a.) by the formatting object whose <a href="#id" class="property">id</a> trait is matched by V,
or (b.) by any descendant of that formatting object.</p><p>A formatting object D is a <b>initial descendant</b> of another
formatting object T if D is a descendant of T, the parent of D is
a initial descendant of T or is T itself, and D is the initial child of
that parent. Similarly, A formatting object D is a
<b>final descendant</b> of another formatting object T,
if D is a descendant of T, the parent of D is a final descendant of T
or is T itself, and D is the final child of that parent.</p><p>Finally, a formatting object will be said to <b>generate
a blank page</b> if that formatting object or any of its
final descendants has a "<a href="#break-after" class="property">break-after</a>" property that causes
the generation of a blank page or if its immediately following sibling
or any if the sibling's initial descendants has a "<a href="#break-before" class="property">break-before</a>"
property that causes the generation of a blank page or if that
formatting object is an <a href="#fo_page-sequence" class="el">fo:page-sequence</a> and its "<a href="#force-page-count" class="property">force-page-count</a>"
property or the "<a href="#initial-page-number" class="property">initial-page-number</a>" on its immediate following
sibling causes the generation of a blank page.</p><p>The values have the following meanings:</p><dl><dt class="label">all</dt><dd><p>The set of pages that might be cited includes the pages
containing,
as a descendant, any area that matches the <span class="trait">ref-id</span> trait
of the formatting object on which this property appears plus any
blank pages generated by the referenced formatting object. </p></dd><dt class="label">normal</dt><dd><p>The set of pages that might be cited includes the pages containing,
as a descendant, any normal area that matches the <span class="trait">ref-id</span>
trait of the formatting object on which this property appears,
and which is either returned to that formatting object or is a
descendant of a normal area returned to that formatting object.</p></dd><dt class="label">non-blank</dt><dd><p>The set of pages that might be cited includes the pages containing,
as a descendant, any area that matches the <span class="trait">ref-id</span> trait
of the formatting object on which this property appears.
This set of pages includes pages containing as descendants
out-of-line areas such as those generated by
<a href="#fo_footnote" class="el">fo:footnote</a> and <a href="#fo_float" class="el">fo:float</a>.</p></dd></dl></div><div class="div3">
<h4><a name="provisional-distance-between-starts" id="provisional-distance-between-starts"/>7.31.11 provisional-distance-between-starts</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">24.0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>" is specified as a length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the closest ancestor block-area.</p></dd></dl><p>Specifies the provisional distance between the <a href="#start-indent" class="property">start-indent</a>
of the list-item-label and the <a href="#start-indent" class="property">start-indent</a> of the
list-item-body. The value is not
directly used during formatting, but is used in the computation
of the value of the body-start function.</p><p>body-start() = the value of the <a href="#start-indent" class="property">start-indent</a> +
start-intrusion-adjustment +
the value of the
<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a> of the closest ancestor <a href="#fo_list-block" class="el">fo:list-block</a>.</p><p>If there is no ancestral <a href="#fo_list-block" class="el">fo:list-block</a>, the value used for the
<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a> in the above formula shall be
equal to inherited-property-value(<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>)
of the FO in which the body-start() function is evaluated.</p></div><div class="div3">
<h4><a name="provisional-label-separation" id="provisional-label-separation"/>7.31.12 provisional-label-separation</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">6.0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The "<a href="#provisional-label-separation" class="property">provisional-label-separation</a>" is specified as a length.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>The "<a href="#provisional-label-separation" class="property">provisional-label-separation</a>" is specified as a percentage of
the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the closest ancestor block-area.</p></dd></dl><p>Specifies the provisional distance between the end of the
list-item-label and the start of the list-item-body. The value is
not directly used during formatting, but is used in the computation
of the value of the label-end function.</p><p>label-end() = <a href="#width" class="property">width</a> of the content-rectangle of the
reference-area into
which the list-block is placed - (the value of the <a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>
+ the value of the <a href="#start-indent" class="property">start-indent</a>
+ start-intrusion-adjustment
- the value of the <a href="#provisional-label-separation" class="property">provisional-label-separation</a>)
of the closest ancestor <a href="#fo_list-block" class="el">fo:list-block</a>.</p><p>If there is no ancestral <a href="#fo_list-block" class="el">fo:list-block</a>, the value used for the
<a href="#provisional-label-separation" class="property">provisional-label-separation</a> and
<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a> in the above formula shall be
equal to inherited-property-value(<a href="#provisional-label-separation" class="property">provisional-label-separation</a>) and
inherited-property-value(<a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a>)
respectively
of the FO in which the body-start() function is evaluated.</p></div><div class="div3">
<h4><a name="ref-id" id="ref-id"/>7.31.13 ref-id</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;idref&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, value required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">all</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;idref&gt;</dt><dd><p>The "<a href="#id" class="property">id</a>" of an object in the formatting object
tree.
</p></dd></dl><p>Reference to the object having the
specified unique identifier. </p></div><div class="div3">
<h4><a name="scale-option" id="scale-option"/>7.31.14 scale-option</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top"><a href="#width" class="property">width</a> | <a href="#height" class="property">height</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top"><a href="#width" class="property">width</a></td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">width</dt><dd><p>Requests the scale-factor applied to the <a href="#width" class="property">width</a> of the graphic.</p></dd><dt class="label">height</dt><dd><p>Requests the scale-factor applied to the <a href="#height" class="property">height</a> of the graphic.</p></dd></dl><p>Specifies whether the scale-factor applied to the <a href="#width" class="property">width</a> or
the <a href="#height" class="property">height</a> of the graphic should be retrieved.</p></div><div class="div3">
<h4><a name="score-spaces" id="score-spaces"/>7.31.15 score-spaces</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">true | false | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">true</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">true</dt><dd><p>Text-decoration will be applied to spaces</p></dd><dt class="label">false</dt><dd><p>Text-decoration will not be applied to spaces</p></dd></dl><p>Specifies whether the <a href="#text-decoration" class="property">text-decoration</a>
property shall be applied to spaces.</p></div><div class="div3">
<h4><a name="src" id="src"/>7.31.16 src</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;uri-specification&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">none, value required</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;uri-specification&gt;</dt><dd><p>Specifies the URI-specification to locate an external resource such
as image/graphic data to be included as the content
of this object, or color-profile data.</p></dd></dl></div><div class="div3">
<h4><a name="visibility" id="visibility"/>7.31.17 visibility</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">visible | hidden | collapse | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">visible</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visufx.html#propdef-visibility">
"visibility" property
</a></p><p>The '<a href="#visibility" class="property">visibility</a>' property specifies whether the boxes generated
by an element are rendered. Invisible boxes still affect layout
(set the 'display' property to 'none' to suppress box generation
altogether). Values have the following meanings:</p><dl><dt class="label">visible</dt><dd><p>The generated box is visible.</p></dd><dt class="label">hidden</dt><dd><p>The generated box is invisible (fully transparent), but
still affects layout.</p></dd><dt class="label">collapse</dt><dd><p>Please consult the section on dynamic row and column effects
in tables. If used on elements other than rows or columns, "collapse"
has the same meaning as "hidden".</p></dd></dl><p>This property may be used in conjunction with scripts to
create dynamic effects.</p><p><em>XSL modifications to the CSS definition:</em></p><p>Changed initial value to visible; (it is "inherit" in
CSS) and made it an inherited property.</p></div><div class="div3">
<h4><a name="z-index" id="z-index"/>7.31.18 z-index</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | &lt;integer&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-z-index">
"z-index" property
</a></p><p>For a positioned box, the "<a href="#z-index" class="property">z-index</a>" property specifies:</p><p>1. The stack level of the box in the current stacking context.</p><p>2. Whether the box establishes a local stacking context.</p><p>Values have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>The stack level of the generated box in the current stacking
context is the same as its parent's box. The box does not establish
a new local stacking context.</p></dd><dt class="label">&lt;integer&gt;</dt><dd><p>This integer is the stack level of the generated box in
the current stacking context. The box also establishes a local stacking
context in which its stack level is "0".</p></dd></dl><p>This example [see the CSS specification] demonstrates the
notion of transparency. The default behavior of a box is to allow
boxes behind it to be visible through transparent areas in its content.
In the example, each box transparently overlays the boxes below
it. This behavior can be overridden by using one of the existing
<a href="#background" class="property">background</a> properties.</p></div><div class="div3">
<h4><a name="xml.base" id="xml.base"/>7.31.19 xml:base</h4><table class="prop-summary"><tbody><tr><td>Value:</td><td>&lt;legacy-extended-iri&gt;</td></tr><tr><td>Initial:</td><td>None, a value is required </td></tr><tr><td>Inherited:</td><td>yes</td></tr><tr><td>Percentages</td><td>N/A</td></tr><tr><td>Media</td><td>N/A</td></tr></tbody></table><p>Specifies a base URI other than the base URI of the document or external entity in conformance with [XML Base].</p><p>Values have the following meanings: </p><dl><dt class="label">&lt;legacy-extended-iri&gt;</dt><dd><p>A Legacy Extended IRI (LEIRI) giving a base URI. </p></dd></dl></div><div class="div3">
<h4><a name="output-base-uri" id="output-base-uri"/>7.31.20 output-base-uri</h4><table class="prop-summary"><tbody><tr><td>Value:</td><td>empty string | &lt;uri-specification&gt; </td></tr><tr><td>Initial:</td><td>empty string </td></tr><tr><td>Applies to:</td><td>All formatting objects</td></tr><tr><td>Inherited:</td><td>yes</td></tr><tr><td>Percentages</td><td>N/A</td></tr><tr><td>Media</td><td>N/A</td></tr></tbody></table><p>Specifies the base URI to use with relative URIs in the rendered document. </p><p>Values have the following meanings: </p><dl><dt class="label">empty string</dt><dd><p>Relative URIs in other trait values are resolved relative to the entity containing the reference. </p></dd><dt class="label">&lt;uri-specification&gt;</dt><dd><p>A URI specification giving the base URI for resolving
relative URIs in other trait values</p><p>A relative URI value for this property is resolved relative to the
inherited resolved "output-base-uri" value. </p></dd></dl></div></div><div class="div2">
<h3><a name="d2e51362" id="d2e51362"/>7.32 Shorthand Properties</h3><p>The following properties are all shorthand properties.
Shorthands are only included in the highest XSL conformance
level: "complete" (see <a href="#conform"><b>8 Conformance</b></a>).
</p><p>Shorthand properties take a list of subproperty values <em>or</em>
the value "inherit". One cannot mix 'inherit' with other subproperty
values as it would not be possible to specify the subproperty to which
"inherit" applied.
</p><div class="div3">
<h4><a name="background" id="background"/>7.32.1 background</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[&lt;<a href="#background-color" class="property">background-color</a>&gt; ||
&lt;<a href="#background-image" class="property">background-image</a>&gt;
|| &lt;<a href="#background-repeat" class="property">background-repeat</a>&gt; || &lt;<a href="#background-attachment" class="property">background-attachment</a>&gt; || &lt;<a href="#background-position" class="property">background-position</a>&gt;
]] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">not defined for shorthand properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">allowed on '<a href="#background-position" class="property">background-position</a>'</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-background">
"background" property
</a></p><p>The "<a href="#background" class="property">background</a>" property is a shorthand property for setting
the individual <a href="#background" class="property">background</a> properties (i.e., <a href="#background-color" class="property">background-color</a>, <a href="#background-image" class="property">background-image</a>,
<a href="#background-repeat" class="property">background-repeat</a>, <a href="#background-attachment" class="property">background-attachment</a> and <a href="#background-position" class="property">background-position</a>)
at the same place in the stylesheet.</p><p>The "<a href="#background" class="property">background</a>" property first sets all the individual <a href="#background" class="property">background</a>
properties to their initial values, then assigns explicit values
given in the declaration.</p></div><div class="div3">
<h4><a name="background-position" id="background-position"/>7.32.2 background-position</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ [&lt;percentage&gt; | &lt;length&gt; ]{1,2} |
[ [top | center | <a href="#bottom" class="property">bottom</a>] || [<a href="#left" class="property">left</a> | center | <a href="#right" class="property">right</a>] ] ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0% 0%</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the <a href="#size" class="property">size</a> of the box itself </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/colors.html#propdef-background-position">
"background-position" property
</a></p><p>If a "<a href="#background-image" class="property">background-image</a>" has been specified, this property specifies
its initial position.</p><dl><dt class="label">&lt;percentage&gt; &lt;percentage&gt;</dt><dd><p>With a value pair of 0% 0%, the upper <a href="#left" class="property">left</a> corner of the
image is aligned with the upper <a href="#left" class="property">left</a> corner of the box's <a href="#padding" class="property">padding</a>
edge. A value pair of 100% 100% places the lower <a href="#right" class="property">right</a> corner of
the image in the lower <a href="#right" class="property">right</a> corner of <a href="#padding" class="property">padding</a> area. With a value
pair of 14% 84%, the point 14% across and 84% down the image is
to be placed at the point 14% across and 84% down the <a href="#padding" class="property">padding</a> area.</p></dd><dt class="label">&lt;length&gt; &lt;length&gt;</dt><dd><p>With a value pair of 2cm 2cm, the upper <a href="#left" class="property">left</a> corner of the
image is placed 2cm to the <a href="#right" class="property">right</a> and 2cm below the upper <a href="#left" class="property">left</a> corner
of the <a href="#padding" class="property">padding</a> area.</p></dd><dt class="label">top left and left top</dt><dd><p>Same as 0% 0%.</p></dd><dt class="label">top, top center, and center top</dt><dd><p>Same as 50% 0%.</p></dd><dt class="label">right top and top right</dt><dd><p>Same as 100% 0%.</p></dd><dt class="label">left, left center, and center left</dt><dd><p>Same as 0% 50%.</p></dd><dt class="label">center and center center</dt><dd><p>Same as 50% 50%.</p></dd><dt class="label">right, right center, and center right</dt><dd><p>Same as 100% 50%.</p></dd><dt class="label">bottom left and left bottom</dt><dd><p>Same as 0% 100%.</p></dd><dt class="label">bottom, bottom center, and center bottom</dt><dd><p>Same as 50% 100%.</p></dd><dt class="label">bottom right and right bottom</dt><dd><p>Same as 100% 100%.</p></dd></dl><p>If only one percentage or length value is given, it sets
the horizontal <a href="#position" class="property">position</a> only, the vertical <a href="#position" class="property">position</a> will be 50%.
If two values are given, the horizontal <a href="#position" class="property">position</a> comes first. Combinations
of length and percentage values are allowed, (e.g., 50% 2cm). Negative positions
are allowed. Keywords cannot be combined with percentage values
or length values (all possible combinations are given above).</p><p>If the <a href="#background" class="property">background</a> image is fixed within the viewport (see the
"<a href="#background-attachment" class="property">background-attachment</a>" property), the image is placed relative
to the viewport instead of the elements <a href="#padding" class="property">padding</a> area.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><dl><dt class="label">&lt;percentage&gt;</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="&lt;percentage&gt;"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="50%"</p></dd><dt class="label">&lt;percentage1&gt; &lt;percentage2&gt;</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="&lt;percentage1&gt;"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="&lt;percentage2&gt;"</p></dd><dt class="label">&lt;length&gt;</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="&lt;length&gt;"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="50%"</p></dd><dt class="label">&lt;length1&gt; &lt;length2&gt;</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="&lt;length1&gt;"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="&lt;length2&gt;"</p></dd><dt class="label">&lt;length&gt; &lt;percentage&gt;</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="&lt;length&gt;"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="&lt;percentage&gt;"</p></dd><dt class="label">&lt;percentage&gt; &lt;length&gt;</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="&lt;percentage&gt;"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="&lt;length&gt;"</p></dd><dt class="label">top left and left top</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="0%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="0%"</p></dd><dt class="label">top, top center, and center top</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="50%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="0%"</p></dd><dt class="label">right top and top right</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="100%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="0%"</p></dd><dt class="label">left, left center, and center left</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="0%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="50%"</p></dd><dt class="label">center and center center</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="50%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="50%"</p></dd><dt class="label">right, right center, and center right</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="100%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="50%"</p></dd><dt class="label">bottom left and left bottom</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="0%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="100%"</p></dd><dt class="label">bottom, bottom center, and center bottom</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="50%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="100%"</p></dd><dt class="label">bottom right and right bottom</dt><dd><p><a href="#background-position-horizontal" class="property">background-position-horizontal</a>="100%"</p><p><a href="#background-position-vertical" class="property">background-position-vertical</a>="100%"</p></dd></dl></div><div class="div3">
<h4><a name="border" id="border"/>7.32.3 border</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border">
"border" property
</a></p><p>The "<a href="#border" class="property">border</a>" property is a shorthand
property for setting the same <a href="#width" class="property">width</a>, color, and style for all four
borders, top, <a href="#bottom" class="property">bottom</a>, <a href="#left" class="property">left</a>, and <a href="#right" class="property">right</a>, of a box. Unlike the shorthand
"<a href="#margin" class="property">margin</a>" and "<a href="#padding" class="property">padding</a>" properties, the "<a href="#border" class="property">border</a>" property cannot
set different values on the four borders. To do so, one or more
of the other <a href="#border" class="property">border</a> properties must be used. </p><p><em>XSL modifications to the CSS definition:</em></p><p>Refer to <a href="#refine-border-padding"><b>5.3.1 Border and Padding Properties</b></a>
for information on the <a href="#precedence" class="property">precedence</a>
order of properties.</p></div><div class="div3">
<h4><a name="border-bottom" id="border-bottom"/>7.32.4 border-bottom</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-bottom">
"border-bottom" property
</a></p><p>A shorthand property for setting the
<a href="#width" class="property">width</a>, style, and color of the <a href="#bottom" class="property">bottom</a> <a href="#border" class="property">border</a> of a block-area or inline-area.</p></div><div class="div3">
<h4><a name="border-color" id="border-color"/>7.32.5 border-color</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x35">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x35</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ &lt;color&gt; | transparent ]{1,4} | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-color">
"border-color" property
</a></p><p>The '<a href="#border-color" class="property">border-color</a>' property sets the color of the four
borders. Values have the following meanings:</p><dl><dt class="label">transparent</dt><dd><p>The <a href="#border" class="property">border</a> is transparent (though it may have <a href="#width" class="property">width</a>).</p></dd><dt class="label">&lt;color&gt;</dt><dd><p>Any valid color specification.</p></dd></dl><p>The "<a href="#border-color" class="property">border-color</a>" property can have
from one to four values, and the values are set on the different
sides as for "<a href="#border-width" class="property">border-width</a>".</p><p>If an element's <a href="#border" class="property">border</a> color is not specified with a "<a href="#border" class="property">border</a>"
property, user agents must use the value of the element's "<a href="#color" class="property">color</a>"
property as the computed value for the <a href="#border" class="property">border</a> color.</p><p><em>XSL modifications to the CSS definition:</em></p><p>See the '<a href="#border-width" class="property">border-width</a>' property for a description of how
this property is interpreted when one through four values are
provided.</p></div><div class="div3">
<h4><a name="border-left" id="border-left"/>7.32.6 border-left</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-left">
"border-left" property
</a></p><p>A shorthand property for setting the
<a href="#width" class="property">width</a>, style, and color of the <a href="#left" class="property">left</a> <a href="#border" class="property">border</a> of a block-area or inline-area.</p></div><div class="div3">
<h4><a name="border-right" id="border-right"/>7.32.7 border-right</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-right">
"border-right" property
</a></p><p>A shorthand property for setting the
<a href="#width" class="property">width</a>, style, and color of the <a href="#right" class="property">right</a> <a href="#border" class="property">border</a> of a block-area or inline-area.</p></div><div class="div3">
<h4><a name="border-spacing" id="border-spacing"/>7.32.8 border-spacing</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt; &lt;length&gt;? | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">0pt</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/tables.html#propdef-border-spacing">
"border-spacing" property
</a></p><dl><dt class="label">&lt;length&gt;</dt><dd><p>The lengths specify the distance that separates adjacent cell
borders.</p></dd></dl><p> If one length is specified, it gives both the horizontal
and vertical spacing. If two are specified, the first gives the
horizontal spacing and the second the vertical spacing. Lengths
may not be negative.</p><p>In the separate borders model, each cell has an individual border.
The "<a href="#border-spacing" class="property">border-spacing</a>" property specifies the distance between the
borders of adjacent cells. This space is filled with the <a href="#background" class="property">background</a>
of the table element. Rows, columns, row groups, and column groups cannot
have borders (i.e., user agents must ignore the <a href="#border" class="property">border</a> properties
for those elements).</p><p><em>XSL modifications to the CSS definition:</em></p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><p>If one value is specified the "border-separation.block-progression-direction"
and "border-separation.inline-progression-direction" are both set to
that value.</p><p>If two values are specified the "border-separation.block-progression-direction"
is set to the second value
and "border-separation.inline-progression-direction" is set to
the first value.</p></div><div class="div3">
<h4><a name="border-style" id="border-style"/>7.32.9 border-style</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt;{1,4} | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-style">
"border-style" property
</a></p><p>The "<a href="#border-style" class="property">border-style</a>" property sets the
style of the four borders.</p><p>It can have from one to four values, and the values are set on
the different sides.</p><p><em>XSL modifications to the CSS definition:</em></p><p>See the '<a href="#border-width" class="property">border-width</a>' property for a description of how
this property is interpreted when one through four values are
provided.</p></div><div class="div3">
<h4><a name="border-top" id="border-top"/>7.32.10 border-top</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x10</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-top">
"border-top" property
</a></p><p>A shorthand property for setting the
<a href="#width" class="property">width</a>, style, and color of the top <a href="#border" class="property">border</a> of a block-area or inline-area.</p></div><div class="div3">
<h4><a name="border-width" id="border-width"/>7.32.11 border-width</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt;{1,4} | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-border-width">
"border-width" property
</a></p><p>This property is a shorthand property
for setting "<a href="#border-top-width" class="property">border-top-width</a>", "<a href="#border-right-width" class="property">border-right-width</a>", "<a href="#border-bottom-width" class="property">border-bottom-width</a>",
and "<a href="#border-left-width" class="property">border-left-width</a>" at the same place in the stylesheet.</p><p>If there is only one value, it applies to all sides. If there
are two values, the top and <a href="#bottom" class="property">bottom</a> borders are set to the first
value and the <a href="#right" class="property">right</a> and <a href="#left" class="property">left</a> are set to the second. If there are three
values, the top is set to the first value, the <a href="#left" class="property">left</a> and <a href="#right" class="property">right</a> are
set to the second, and the <a href="#bottom" class="property">bottom</a> is set to the third. If there
are four values, they apply to the top, <a href="#right" class="property">right</a>, <a href="#bottom" class="property">bottom</a>, and <a href="#left" class="property">left</a>,
respectively.</p></div><div class="div3">
<h4><a name="cue" id="cue"/>7.32.12 cue</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;<a href="#cue-before" class="property">cue-before</a>&gt; || &lt;<a href="#cue-after" class="property">cue-after</a>&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">not defined for shorthand properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-cue">
"cue" property
</a></p></div><div class="div3">
<h4><a name="font" id="font"/>7.32.13 font</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[ [ &lt;<a href="#font-style" class="property">font-style</a>&gt; || &lt;<a href="#font-variant" class="property">font-variant</a>&gt;
|| &lt;<a href="#font-weight" class="property">font-weight</a>&gt; ]? &lt;<a href="#font-size" class="property">font-size</a>&gt; [ / &lt;<a href="#line-height" class="property">line-height</a>&gt;]? &lt;<a href="#font-family" class="property">font-family</a>&gt;
] | caption | icon | menu | message-box | small-caption | status-bar
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">see individual properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/fonts.html#propdef-font">
"font" property
</a></p><p>The "<a href="#font" class="property">font</a>" property is, except as described below, a shorthand
property for setting "<a href="#font-style" class="property">font-style</a>", "<a href="#font-variant" class="property">font-variant</a>", "<a href="#font-weight" class="property">font-weight</a>",
"<a href="#font-size" class="property">font-size</a>", "<a href="#line-height" class="property">line-height</a>", and "<a href="#font-family" class="property">font-family</a>", at the same place
in the stylesheet. The syntax of this property is based on a traditional typographical
shorthand notation to set multiple properties related to fonts.</p><p>All font-related properties are first reset to their initial
values, including those listed in the preceding paragraph plus "<a href="#font-stretch" class="property">font-stretch</a>"
and "<a href="#font-size-adjust" class="property">font-size-adjust</a>". Then, those properties that are given explicit
values in the "<a href="#font" class="property">font</a>" shorthand are set to those values. For a definition
of allowed and initial values, see the previously defined properties.
For reasons of backward compatibility, it is not possible to set
"<a href="#font-stretch" class="property">font-stretch</a>" and "<a href="#font-size-adjust" class="property">font-size-adjust</a>" to other than their initial
values using the "<a href="#font" class="property">font</a>" shorthand property; instead, set the individual properties.</p><p>The following [first six] values refer to system
fonts:</p><dl><dt class="label">caption</dt><dd><p>The <a href="#font" class="property">font</a> used for captioned controls (e.g., buttons, drop-downs,
etc.).</p></dd><dt class="label">icon</dt><dd><p>The <a href="#font" class="property">font</a> used to label icons.</p></dd><dt class="label">menu</dt><dd><p>The <a href="#font" class="property">font</a> used in menus (e.g., dropdown menus and menu lists).</p></dd><dt class="label">message-box</dt><dd><p>The <a href="#font" class="property">font</a> used in dialog boxes.</p></dd><dt class="label">small-caption</dt><dd><p>The <a href="#font" class="property">font</a> used for labeling small controls.</p></dd><dt class="label">status-bar</dt><dd><p>The <a href="#font" class="property">font</a> used in window status bars.</p></dd></dl><p>System fonts may only be set as a whole; that is, the "<a href="#font-family" class="property">font-family</a>",
"<a href="#size" class="property">size</a>", "weight", "style", etc. are all set at the same time. These
values may then be altered individually if desired. If no <a href="#font" class="property">font</a> with
the indicated characteristics exists on a given platform, the user agent
should either intelligently substitute (e.g., a smaller version
of the "caption" <a href="#font" class="property">font</a> might be used for the "small-caption" <a href="#font" class="property">font</a>),
or substitute a user agent default font. As for regular fonts, if,
for a system <a href="#font" class="property">font</a>, any of the individual properties are not part
of the operating system's available user preferences, those properties
should be set to their initial values.</p><p>That is why this property is "almost" a shorthand property: system
fonts can only be specified with this property, not with "<a href="#font-family" class="property">font-family</a>"
itself, so "<a href="#font" class="property">font</a>" allows authors to do more than the sum of its
sub-properties. However, the individual properties such as "<a href="#font-weight" class="property">font-weight</a>"
are still given values taken from the system <a href="#font" class="property">font</a>, which can be
independently varied.</p><p><em>XSL modifications to the CSS definition:</em></p><p>In XSL the "<a href="#font" class="property">font</a>" property is a pure shorthand property. System
<a href="#font" class="property">font</a> characteristics, such as <a href="#font-family" class="property">font-family</a>, and <a href="#font-size" class="property">font-size</a>, may be
obtained by the use of the "system-font" function in the expression
language.</p></div><div class="div3">
<h4><a name="margin" id="margin"/>7.32.14 margin</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;margin-width&gt;{1,4} | inherit </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">not defined for shorthand properties </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-margin">
"margin" property
</a></p><p>A shorthand property for setting <a href="#margin-top" class="property">margin-top</a>,
<a href="#margin-right" class="property">margin-right</a>, <a href="#margin-bottom" class="property">margin-bottom</a>, and <a href="#margin-left" class="property">margin-left</a> of a block-area or
inline-area.</p><p>If there is only one value, it applies to all sides. If there
are two values, the top and <a href="#bottom" class="property">bottom</a> margins are set to the first
value and the <a href="#right" class="property">right</a> and <a href="#left" class="property">left</a> margins are set to the second. If there
are three values, the top is set to the first value, the <a href="#left" class="property">left</a> and
<a href="#right" class="property">right</a> are set to the second, and the <a href="#bottom" class="property">bottom</a> is set to the third.
If there are four values, they apply to the top, <a href="#right" class="property">right</a>, <a href="#bottom" class="property">bottom</a>,
and <a href="#left" class="property">left</a>, respectively.</p><p><em>XSL modifications to the CSS definition:</em></p><ul><li><p>Margin is provided for
compatibility with CSS.</p></li><li><p>Details on the mapping of CSS "<a href="#margin" class="property">margin</a>" properties for XSL
are given in <a href="#refinement"><b>5 Property Refinement / Resolution</b></a>.
</p></li></ul></div><div class="div3">
<h4><a name="padding" id="padding"/>7.32.15 padding</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;padding-width&gt;{1,4} | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">not defined for shorthand properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/box.html#propdef-padding">
"padding" property
</a></p><p>A shorthand property for setting <a href="#padding-top" class="property">padding-top</a>,
<a href="#padding-bottom" class="property">padding-bottom</a>, <a href="#padding-left" class="property">padding-left</a>, and <a href="#padding-right" class="property">padding-right</a> of a block-area
or inline-area.</p><p>If there is only one value, it applies to all sides. If there
are two values, the top and <a href="#bottom" class="property">bottom</a> paddings are set to the first
value and the <a href="#right" class="property">right</a> and <a href="#left" class="property">left</a> paddings are set to the second. If there
are three values, the top is set to the first value, the <a href="#left" class="property">left</a> and
<a href="#right" class="property">right</a> are set to the second, and the <a href="#bottom" class="property">bottom</a> is set to the third.
If there are four values, they apply to the top, <a href="#right" class="property">right</a>, <a href="#bottom" class="property">bottom</a>,
and <a href="#left" class="property">left</a>, respectively.</p><p>The surface color or image of the <a href="#padding" class="property">padding</a> area is specified via
the "<a href="#background" class="property">background</a>" property.</p></div><div class="div3">
<h4><a name="page-break-after" id="page-break-after"/>7.32.16 page-break-after</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | always | avoid | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-page-break-after">
"page-break-after" property
</a></p><p>Values for these properties have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>Neither force nor forbid a page break before (after, inside)
the generated box.</p></dd><dt class="label">always</dt><dd><p>Always force a page break before (after) the generated
box.</p></dd><dt class="label">avoid</dt><dd><p>Avoid a page break before (after, inside) the generated
box.</p></dd><dt class="label">left</dt><dd><p>Force one or two page breaks before (after) the generated
box so that the next page is formatted as a <a href="#left" class="property">left</a> page.</p></dd><dt class="label">right</dt><dd><p>Force one or two page breaks before (after) the generated
box so that the next page is formatted as a <a href="#right" class="property">right</a> page.</p></dd></dl><p>A potential page break location is typically under the
influence of the parent element's '<a href="#page-break-inside" class="property">page-break-inside</a>' property,
the '<a href="#page-break-after" class="property">page-break-after</a>' property of the preceding element, and the
'<a href="#page-break-before" class="property">page-break-before</a>' property of the following element. When these
properties have values other than 'auto', the values 'always', '<a href="#left" class="property">left</a>',
and '<a href="#right" class="property">right</a>' take <a href="#precedence" class="property">precedence</a> over 'avoid'. See the section on allowed
page breaks for the exact rules on how these properties may force
or suppress a page break.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><dl><dt class="label">auto</dt><dd><p><a href="#break-after" class="property">break-after</a> = "auto"</p><p><a href="#keep-with-next" class="property">keep-with-next</a> = "auto"</p></dd><dt class="label">always</dt><dd><p><a href="#break-after" class="property">break-after</a> = "page"</p><p><a href="#keep-with-next" class="property">keep-with-next</a> = "auto"</p></dd><dt class="label">avoid</dt><dd><p><a href="#break-after" class="property">break-after</a> = "auto"</p><p><a href="#keep-with-next" class="property">keep-with-next</a> = "always"</p></dd><dt class="label">left</dt><dd><p><a href="#break-after" class="property">break-after</a> = "even-page"</p><p><a href="#keep-with-next" class="property">keep-with-next</a> = "auto"</p></dd><dt class="label">right</dt><dd><p><a href="#break-after" class="property">break-after</a> = "odd-page"</p><p><a href="#keep-with-next" class="property">keep-with-next</a> = "auto"</p></dd></dl></div><div class="div3">
<h4><a name="page-break-before" id="page-break-before"/>7.32.17 page-break-before</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">auto | always | avoid | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-page-break-before">
"page-break-before" property
</a></p><p>Values for these properties have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>Neither force nor forbid a page break before (after, inside)
the generated box.</p></dd><dt class="label">always</dt><dd><p>Always force a page break before (after) the generated
box.</p></dd><dt class="label">avoid</dt><dd><p>Avoid a page break before (after, inside) the generated
box.</p></dd><dt class="label">left</dt><dd><p>Force one or two page breaks before (after) the generated
box so that the next page is formatted as a <a href="#left" class="property">left</a> page.</p></dd><dt class="label">right</dt><dd><p>Force one or two page breaks before (after) the generated
box so that the next page is formatted as a <a href="#right" class="property">right</a> page.</p></dd></dl><p>A potential page break location is typically under the
influence of the parent element's '<a href="#page-break-inside" class="property">page-break-inside</a>' property,
the '<a href="#page-break-after" class="property">page-break-after</a>' property of the preceding element, and the
'<a href="#page-break-before" class="property">page-break-before</a>' property of the following element. When these
properties have values other than 'auto', the values 'always', '<a href="#left" class="property">left</a>',
and '<a href="#right" class="property">right</a>' take <a href="#precedence" class="property">precedence</a> over 'avoid'. See the section on allowed
page breaks for the exact rules on how these properties may force
or suppress a page break.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><dl><dt class="label">auto</dt><dd><p><a href="#break-before" class="property">break-before</a> = "auto"</p><p><a href="#keep-with-previous" class="property">keep-with-previous</a> = "auto"</p></dd><dt class="label">always</dt><dd><p><a href="#break-before" class="property">break-before</a> = "page"</p><p><a href="#keep-with-previous" class="property">keep-with-previous</a> = "auto"</p></dd><dt class="label">avoid</dt><dd><p><a href="#break-before" class="property">break-before</a> = "auto"</p><p><a href="#keep-with-previous" class="property">keep-with-previous</a> = "always"</p></dd><dt class="label">left</dt><dd><p><a href="#break-before" class="property">break-before</a> = "even-page"</p><p><a href="#keep-with-previous" class="property">keep-with-previous</a> = "auto"</p></dd><dt class="label">right</dt><dd><p><a href="#break-before" class="property">break-before</a> = "odd-page"</p><p><a href="#keep-with-previous" class="property">keep-with-previous</a> = "auto"</p></dd></dl></div><div class="div3">
<h4><a name="page-break-inside" id="page-break-inside"/>7.32.18 page-break-inside</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">avoid | auto | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-page-break-inside">
"page-break-inside" property
</a></p><div class="note"><p class="prefix"><b>Note:</b></p><p>The CSS definition for <a href="#page-break-inside" class="property">page-break-inside</a> was shared with the
definitions of <a href="#page-break-before" class="property">page-break-before</a> and page-break-after. The text
here has been edited to include only the value choices valid for
<a href="#page-break-inside" class="property">page-break-inside</a> and to remove the before/after/inside triplet.</p></div><p>Values for this property have the following meanings:</p><dl><dt class="label">auto</dt><dd><p>Neither force nor forbid a page break inside the generated
box.</p></dd><dt class="label">avoid</dt><dd><p>Avoid a page break inside the generated box.</p></dd></dl><p>A potential page break location is typically under the
influence of the parent element's '<a href="#page-break-inside" class="property">page-break-inside</a>' property,
the '<a href="#page-break-after" class="property">page-break-after</a>' property of the preceding element, and the
'<a href="#page-break-before" class="property">page-break-before</a>' property of the following element. When these
properties have values other than 'auto', values 'always', '<a href="#left" class="property">left</a>',
and '<a href="#right" class="property">right</a>' take <a href="#precedence" class="property">precedence</a> over 'avoid'. See the section on allowed
page breaks for the exact rules on how these properties may force or
suppress a page break.</p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL treats this as a shorthand and maps it as follows. </p><dl><dt class="label">auto</dt><dd><p><a href="#keep-together" class="property">keep-together</a> = "auto" </p></dd><dt class="label">avoid</dt><dd><p><a href="#keep-together" class="property">keep-together</a> = "always"</p></dd></dl></div><div class="div3">
<h4><a name="pause" id="pause"/>7.32.19 pause</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">[&lt;time&gt; | &lt;percentage&gt;]{1,2} | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">depends on user agent</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">see descriptions of '<a href="#pause-before" class="property">pause-before</a>' and '<a href="#pause-after" class="property">pause-after</a>' </td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">aural</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/aural.html#propdef-pause">
"pause" property
</a></p></div><div class="div3">
<h4><a name="position" id="position"/>7.32.20 position</h4><p>CSS2 Definition:
as amended by
<a href="http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x11">http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html#x11</a></p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">static | relative | absolute | fixed | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">static</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visuren.html#propdef-position">
"position" property
</a></p><p>Values have the following meanings:</p><dl><dt class="label">static</dt><dd><p>The box is a normal box, laid out according to the normal
flow. The "<a href="#top" class="property">top</a>", "<a href="#right" class="property">right</a>", "<a href="#bottom" class="property">bottom</a>", and "<a href="#left" class="property">left</a>"
properties do not apply.</p></dd><dt class="label">relative</dt><dd><p>The box's <a href="#position" class="property">position</a> is calculated according to the normal
flow (this is called the <a href="#position" class="property">position</a> in normal flow). Then the box
is offset relative to its normal position. When a box B is relatively
positioned, the <a href="#position" class="property">position</a> of the following box is calculated as though
B were not offset.</p></dd><dt class="label">absolute</dt><dd><p>The box's <a href="#position" class="property">position</a> (and possibly <a href="#size" class="property">size</a>) is specified with
the "<a href="#left" class="property">left</a>", "<a href="#right" class="property">right</a>", "<a href="#top" class="property">top</a>", and "<a href="#bottom" class="property">bottom</a>" properties. These properties
specify offsets with respect to the box's containing block. Absolutely
positioned boxes are taken out of the normal flow. This means they
have no impact on the layout of later siblings. Also, though absolutely
positioned boxes have margins, they do not collapse with any other margins.</p></dd><dt class="label">fixed</dt><dd><p>The box's <a href="#position" class="property">position</a> is calculated according to the "absolute"
model, but in addition, the box is fixed with respect to some reference.
In the case of continuous media, the box is fixed with respect to
the viewport (and doesn't move when scrolled). In the case of paged
media, the box is fixed with respect to the page, even if that page is
seen through a viewport (in the case of a print-preview, for example).
Authors may wish to specify "fixed" in a media-dependent way. For
instance, an author may want a box to remain at the top the viewport
on the screen, but not at the top of each printed page.</p></dd></dl><p>Specifies the positioning scheme to be used.</p><p><em>XSL modifications to the CSS definition:</em></p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><dl><dt class="label">static</dt><dd><p><a href="#relative-position" class="property">relative-position</a>="static"</p><p><a href="#absolute-position" class="property">absolute-position</a>="auto"</p></dd><dt class="label">relative</dt><dd><p><a href="#relative-position" class="property">relative-position</a>="relative"</p><p><a href="#absolute-position" class="property">absolute-position</a>="auto"</p></dd><dt class="label">absolute</dt><dd><p><a href="#relative-position" class="property">relative-position</a>="static"</p><p><a href="#absolute-position" class="property">absolute-position</a>="absolute"</p></dd><dt class="label">fixed</dt><dd><p><a href="#relative-position" class="property">relative-position</a>="static"</p><p><a href="#absolute-position" class="property">absolute-position</a>="fixed"</p></dd></dl></div><div class="div3">
<h4><a name="size" id="size"/>7.32.21 size</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;length&gt;{1,2} | auto | landscape | portrait
| inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">auto</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">N/A [XSL:no, is optional]</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/page.html#propdef-size">
"size" property
</a></p><p>This property specifies the <a href="#size" class="property">size</a> and orientation of a page box. </p><p>The <a href="#size" class="property">size</a> of a page box may either be "absolute" (fixed <a href="#size" class="property">size</a>)
or "relative" (scalable, i.e., fitting available sheet sizes). Relative
page boxes allow user agents to scale a document and make optimal
use of the target size.</p><p>[The first] Three values for the '<a href="#size" class="property">size</a>' property create a relative
page box:</p><dl><dt class="label">auto</dt><dd><p>The page box will be set to the <a href="#size" class="property">size</a> and orientation of
the target sheet.</p></dd><dt class="label">landscape</dt><dd><p>Overrides the target's orientation. The page box is the
same <a href="#size" class="property">size</a> as the target, and the longer sides are horizontal.</p></dd><dt class="label">portrait</dt><dd><p>Overrides the target's orientation. The page box is the
same <a href="#size" class="property">size</a> as the target, and the shorter sides are horizontal.</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Length values for the "<a href="#size" class="property">size</a>" property create an absolute
page box. If only one length value is specified, it sets both the
<a href="#width" class="property">width</a> and <a href="#height" class="property">height</a> of the page box (i.e., the box is a square). Since
the page box is the initial containing block, percentage values
are not allowed for the "<a href="#size" class="property">size</a>" property.</p></dd></dl><p>User agents may allow users to control the transfer of
the page box to the sheet (e.g., rotating an absolute page box that's
being printed). </p><ul><li><p>Rendering page boxes that do not fit a target sheet</p><p>If a page box does not fit the target sheet dimensions, the user
agent may choose to:</p><ul><li><p>Rotate the page box 90 degrees if this will make the page
box fit. </p></li><li><p>Scale the page to fit the target.</p></li></ul><p>The user agent should consult the user before performing these
operations. </p></li><li><p>Positioning the page box on the sheet</p><p>When the page box is smaller than the target <a href="#size" class="property">size</a>, the user agent
is free to place the page box anywhere on the sheet. However, it
is recommended that the page box be centered on the sheet since
this will align double-sided pages and avoid accidental loss of
information that is printed near the edge of the sheet. </p></li></ul><p><em>XSL modifications to the CSS definition:</em></p><p>This is treated as a CSS shorthand property that is mapped
to XSL's "<a href="#page-height" class="property">page-height</a>" and "<a href="#page-width" class="property">page-width</a>" properties.</p></div><div class="div3">
<h4><a name="vertical-align" id="vertical-align"/>7.32.22 vertical-align</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">baseline | middle | sub | super | text-top |
text-bottom | &lt;percentage&gt; | &lt;length&gt; | top | bottom | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">baseline</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">no</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">refer to the '<a href="#line-height" class="property">line-height</a>' of the element itself</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/visudet.html#propdef-vertical-align">
"vertical-align" property
</a></p><p>This property affects the vertical positioning inside a line
box of the boxes generated by an inline-level element. The following
values only have meaning with respect to a parent inline-level element,
or to a parent block-level element, if that element generates anonymous
inline boxes; they have no effect if no such parent exists.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Values of this property have slightly different meanings in the
context of tables. Please consult the section on table <a href="#height" class="property">height</a> algorithms
for details. </p></div><p>Values have the following meanings:</p><dl><dt class="label">baseline</dt><dd><p>Align the baseline of the box with the baseline of the
parent box. If the box doesn't have a baseline, align the <a href="#bottom" class="property">bottom</a>
of the box with the parent's baseline.</p></dd><dt class="label">middle</dt><dd><p>Align the vertical midpoint of the box with the baseline
of the parent box plus half the x-height of the parent.</p></dd><dt class="label">sub</dt><dd><p>Lower the baseline of the box to the proper <a href="#position" class="property">position</a> for
subscripts of the parent's box. (This value has no effect on the
<a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the element's text.)</p></dd><dt class="label">super</dt><dd><p>Raise the baseline of the box to the proper <a href="#position" class="property">position</a> for
superscripts of the parent's box. (This value has no effect on the
<a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the element's text.)</p></dd><dt class="label">text-top</dt><dd><p>Align the top of the box with the top of the parent element's
font.</p></dd><dt class="label">text-bottom</dt><dd><p>Align the <a href="#bottom" class="property">bottom</a> of the box with the <a href="#bottom" class="property">bottom</a> of the parent
element's font.</p></dd><dt class="label">top</dt><dd><p>Align the top of the box with the top of the line box.</p></dd><dt class="label">bottom</dt><dd><p>Align the <a href="#bottom" class="property">bottom</a> of the box with the <a href="#bottom" class="property">bottom</a> of the line
box.</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p>Raise (positive value) or lower (negative value) the box
by this distance (a percentage of the "<a href="#line-height" class="property">line-height</a>" value). The
value "0%" means the same as "baseline".</p></dd><dt class="label">&lt;length&gt;</dt><dd><p>Raise (positive value) or lower (negative value) the box
by this distance. The value "0cm" means the same as "baseline".</p></dd></dl><div class="note"><p class="prefix"><b>Note:</b></p><p>Values of this property have slightly different meanings in the
context of tables. Please consult the section on table <a href="#height" class="property">height</a> algorithms
for details.</p></div><p><em>XSL modifications to the CSS definition:</em></p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><dl><dt class="label">baseline</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="baseline"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">top</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="before-edge"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">text-top</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="text-before-edge"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">middle</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="middle"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">bottom</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="after-edge"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">text-bottom</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="text-after-edge"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">sub</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="baseline"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="sub"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">super</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="baseline"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="auto"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="super"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">&lt;percentage&gt;</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="baseline"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="&lt;percentage&gt;"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd><dt class="label">&lt;length&gt;</dt><dd><p><a href="#alignment-baseline" class="property">alignment-baseline</a>="baseline"</p><p><a href="#alignment-adjust" class="property">alignment-adjust</a>="&lt;length&gt;"</p><p><a href="#baseline-shift" class="property">baseline-shift</a>="baseline"</p><p><a href="#dominant-baseline" class="property">dominant-baseline</a>="auto"</p></dd></dl></div><div class="div3">
<h4><a name="white-space" id="white-space"/>7.32.23 white-space</h4><p>CSS2 Definition:
</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">normal | pre | nowrap | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">normal</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>CSS2 Reference:
<a href="http://www.w3.org/TR/2008/REC-CSS2-20080411/text.html#propdef-white-space">
"white-space" property
</a></p><p>This property declares how whitespace inside the element is handled.
Values have the following meanings:</p><dl><dt class="label">normal</dt><dd><p>This value directs user agents to collapse sequences of
whitespace, and break lines as necessary to fill line boxes. Additional
line breaks may be created by occurrences of "\A" in generated content (e.g.,
for the BR element in HTML).</p></dd><dt class="label">pre</dt><dd><p>This value prevents user agents from collapsing sequences
of whitespace. Lines are only broken at newlines in the source,
or at occurrences of "\A" in generated content.</p></dd><dt class="label">nowrap</dt><dd><p>This value collapses whitespace as for 'normal', but suppresses
line breaks within text except for those created by "\A" in generated
content (e.g., for the BR element in HTML).</p></dd></dl><p>Conforming user agents may ignore the '<a href="#white-space" class="property">white-space</a>' property
in author and user style sheets but must specify a value for it
in the default style sheet.</p><p><em>XSL modifications to the CSS definition:</em></p><p>XSL splits control of white space collapsing, space and linefeed
handling, and wrapping into separate properties.</p><p>The CSS property shall be treated as a shorthand by XSL
and maps as follows:</p><dl><dt class="label">normal</dt><dd><p><a href="#linefeed-treatment" class="property">linefeed-treatment</a>="treat-as-space"</p><p><a href="#white-space-collapse" class="property">white-space-collapse</a>="true"</p><p><a href="#white-space-treatment" class="property">white-space-treatment</a>="ignore-if-surrounding-linefeed"</p><p><a href="#wrap-option" class="property">wrap-option</a>="wrap"</p></dd><dt class="label">pre</dt><dd><p><a href="#linefeed-treatment" class="property">linefeed-treatment</a>="preserve"</p><p><a href="#white-space-collapse" class="property">white-space-collapse</a>="false"</p><p><a href="#white-space-treatment" class="property">white-space-treatment</a>="preserve"</p><p><a href="#wrap-option" class="property">wrap-option</a>="no-wrap"</p></dd><dt class="label">nowrap</dt><dd><p><a href="#linefeed-treatment" class="property">linefeed-treatment</a>="treat-as-space"</p><p><a href="#white-space-collapse" class="property">white-space-collapse</a>="true"</p><p><a href="#white-space-treatment" class="property">white-space-treatment</a>="ignore-if-surrounding-linefeed"</p><p><a href="#wrap-option" class="property">wrap-option</a>="no-wrap"</p></dd></dl></div><div class="div3">
<h4><a name="xml.lang" id="xml.lang"/>7.32.24 xml:lang</h4><p>XSL Definition:</p><table border="0" class="prop-summary"><tbody align="left" valign="top"><tr align="left" valign="top"><td align="left" valign="top"><em>Value: </em></td><td align="left" valign="top">&lt;language-country&gt; | inherit</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Initial: </em></td><td align="left" valign="top">not defined for shorthand properties</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Inherited: </em></td><td align="left" valign="top">yes</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Percentages: </em></td><td align="left" valign="top">N/A</td></tr><tr align="left" valign="top"><td align="left" valign="top"><em>Media: </em></td><td align="left" valign="top">visual</td></tr></tbody></table><p>Values have the following meanings:</p><dl><dt class="label">&lt;string&gt;</dt><dd><p>A <a href="#language" class="property">language</a> and optionally a <a href="#country" class="property">country</a> specifier in conformance with
<a href="#RFC3066">[RFC3066]</a>, or its successor.</p></dd></dl><p>Specifies the <a href="#language" class="property">language</a> and <a href="#country" class="property">country</a>
to be used by the formatter in linguistic services (such as hyphenation)
and in the determination of line breaks. This affects line composition
in a system-dependent way.</p><p>The string may be any RFC 3066 code.</p><p>XSL treats <a href="#" class="property">xml:lang</a> as a shorthand and uses it to set the <a href="#country" class="property">country</a>
and <a href="#language" class="property">language</a> properties.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In general, linguistic services (line-justification strategy,
line-breaking and hyphenation) may depend on a combination
of the "<a href="#language" class="property">language</a>", "<a href="#script" class="property">script</a>", and "<a href="#country" class="property">country</a>" properties.</p></div></div></div></div><div class="div1">
<h2><a name="conform" id="conform"/>8 Conformance</h2><p>In this section
the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" are to be interpreted as described in
<a href="#RFC2119">[RFC2119]</a>.</p><p>This specification defines three levels of conformance, in order
of completeness:</p><dl><dt class="label">Basic</dt><dd><p>includes the set of formatting objects and properties needed to
support a minimum level of pagination or aural rendering.</p></dd><dt class="label">Extended</dt><dd><p>includes everything else, except for shorthands. It is
intended for applications whose goal is to provide sophisticated
pagination.</p></dd><dt class="label">Complete</dt><dd><p>includes everything.</p></dd></dl><p>Conformance to this specification is expressed in terms of conformance
to any of the above levels.
</p><p>An application that claims conformance to a given level of this
specification must implement all the formatting objects and properties
that apply to it for a given medium.
</p><p><a href="#FO-summary"><b>A Formatting Object Summary</b></a> specifies which formatting objects belong to each of the
above levels, and for what medium.
</p><p><a href="#property-index"><b>B Property Summary</b></a> specifies which properties belong to each of the above levels.
</p><p>The minimum level of conformance is Basic. A minimally conformant
implementation must process as specified all the formatting
objects and properties defined for the Basic level of the
implementation's target medium.
</p><p>Implementations may choose to process formatting objects from levels or
target media other than the one to which they conform. In order to ensure
interoperability, this specification defines a fallback for each
formatting object in the Extended and Complete levels.
</p><p>An implementation must not claim conformance to a given level if any of
the formatting objects at that level is implemented solely as the fallback
specified here for that level. Correct processing of fallbacks does not
constitute conformance.
</p><p>Conforming implementations must support at least one of the
"<a href="#writing-mode" class="property">writing-mode</a>" values defined in this Recommendation. Although
<a href="#writing-mode" class="property">writing-mode</a> is defined as a Basic property with an initial value of
"lr-tb", it is not the intention of this specification to impose this
particular, or any other, writing mode value on conformant
applications. If an implementation does not support a <a href="#writing-mode" class="property">writing-mode</a>
used in a stylesheet, either explicitly or by relying on the initial
value, it should display either a 'missing <a href="#character" class="property">character</a>' glyph
message or display some indication that the content cannot be correctly
rendered.
</p></div></div><div class="back"><div class="div1">
<h2><a name="FO-summary" id="FO-summary"/>A Formatting Object Summary</h2><p>This section contains tables summarizing
the conformance level of
each of the defined formatting objects, i.e., basic or extended. For
a description of basic and extended, see <a href="#conform"><b>8 Conformance</b></a>.
Included with each formatting object name is a designation
of its inclusion or exclusion from the basic set of
formatting objects for the particular class.
XSL defines visual and aural classes. For certain formatting objects,
see <a href="#ConfMulti"><b>A.6 Link and Multi Formatting Objects</b></a>, the visual class is subdivided into
interactive and non-interactive media.
A proposed fallback treatment is also specified.</p><div class="div2">
<h3><a name="d2e54528" id="d2e54528"/>A.1 Declaration and Pagination and Layout Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_root" class="el">fo:root</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_page-sequence" class="el">fo:page-sequence</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a></td><td align="left" valign="top"><p>extended</p><p>fallback: use the page-master referenced in the first <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> child</p></td><td align="left" valign="top"><p>extended</p><p>fallback: use the page-master referenced in the first <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> child</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a></td><td align="left" valign="top"><p>extended</p><p>fallback: use the page-master referenced in the first <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> child</p></td><td align="left" valign="top"><p>extended</p><p>fallback: use the page-master referenced in the first <a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a> child</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_layout-master-set" class="el">fo:layout-master-set</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_simple-page-master" class="el">fo:simple-page-master</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_region-body" class="el">fo:region-body</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_region-before" class="el">fo:region-before</a></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is placed</p></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is spoken</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_region-after" class="el">fo:region-after</a></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is placed</p></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is spoken</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_region-start" class="el">fo:region-start</a></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is placed</p></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is spoken</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_region-end" class="el">fo:region-end</a></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is placed</p></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is spoken</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_declarations" class="el">fo:declarations</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_color-profile" class="el">fo:color-profile</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore, use the sRGB fallback of the rgb-icc function</p></td><td align="left" valign="top"><p>N/A</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_flow" class="el">fo:flow</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_static-content" class="el">fo:static-content</a></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is placed</p></td><td align="left" valign="top"><p>extended</p><p>fallback: include after content of body region is spoken</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_title" class="el">fo:title</a></td><td align="left" valign="top"><p>extended</p><p>fallback: include before content of body region is placed</p></td><td align="left" valign="top"><p>extended</p><p>fallback: include before content of body region is spoken</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_flow-map" class="el">fo:flow-map</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_flow-assignment" class="el">fo:flow-assignment</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_flow-source-list" class="el">fo:flow-source-list</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_flow-name-specifier" class="el">fo:flow-name-specifier</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_flow-target-list" class="el">fo:flow-target-list</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_region-name-specifier" class="el">fo:region-name-specifier</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e54857" id="d2e54857"/>A.2 Block Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_block" class="el">fo:block</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_block-container" class="el">fo:block-container</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display
indication that content cannot be correctly
rendered</p></td><td align="left" valign="top">basic</td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e54892" id="d2e54892"/>A.3 Inline Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_bidi-override" class="el">fo:bidi-override</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display indication that content cannot be correctly rendered.</p></td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_character" class="el">fo:character</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_initial-property-set" class="el">fo:initial-property-set</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore any properties specified on this object.</p></td><td align="left" valign="top"><p>basic</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_external-graphic" class="el">fo:external-graphic</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_inline" class="el">fo:inline</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_inline-container" class="el">fo:inline-container</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display indication that content cannot be correctly rendered. </p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_leader" class="el">fo:leader</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_page-number" class="el">fo:page-number</a></td><td align="left" valign="top">basic</td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_page-number-citation" class="el">fo:page-number-citation</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_folio-prefix" class="el">fo:folio-prefix</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_folio-suffix" class="el">fo:folio-suffix</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display indication that
content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly rendered.</p></td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e55097" id="d2e55097"/>A.4 Table Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-and-caption" class="el">fo:table-and-caption</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table" class="el">fo:table</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-column" class="el">fo:table-column</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-caption" class="el">fo:table-caption</a></td><td align="left" valign="top"><p>extended</p><p>fallback: </p>
<ul><li><p><a href="#caption-side" class="property">caption-side</a>="start" becomes <a href="#caption-side" class="property">caption-side</a>="before"</p></li><li><p><a href="#caption-side" class="property">caption-side</a>="end" becomes <a href="#caption-side" class="property">caption-side</a>="after"</p></li><li><p><a href="#caption-side" class="property">caption-side</a>="<a href="#left" class="property">left</a>" becomes <a href="#caption-side" class="property">caption-side</a>="before"</p></li><li><p><a href="#caption-side" class="property">caption-side</a>="<a href="#right" class="property">right</a>" becomes <a href="#caption-side" class="property">caption-side</a>="after"</p></li></ul>
</td><td align="left" valign="top"><p>extended</p><p>fallback: </p>
<ul><li><p><a href="#caption-side" class="property">caption-side</a>="start" becomes <a href="#caption-side" class="property">caption-side</a>="before"</p></li><li><p><a href="#caption-side" class="property">caption-side</a>="end" becomes <a href="#caption-side" class="property">caption-side</a>="after"</p></li><li><p><a href="#caption-side" class="property">caption-side</a>="<a href="#left" class="property">left</a>" becomes <a href="#caption-side" class="property">caption-side</a>="before"</p></li><li><p><a href="#caption-side" class="property">caption-side</a>="<a href="#right" class="property">right</a>" becomes <a href="#caption-side" class="property">caption-side</a>="after"</p></li></ul>
</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-header" class="el">fo:table-header</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-footer" class="el">fo:table-footer</a></td><td align="left" valign="top"><p>extended</p><p>fallback: place at end of table.
</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> at end of table
</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-body" class="el">fo:table-body</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-row" class="el">fo:table-row</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_table-cell" class="el">fo:table-cell</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e55282" id="d2e55282"/>A.5 List Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_list-block" class="el">fo:list-block</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_list-item" class="el">fo:list-item</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_list-item-body" class="el">fo:list-item-body</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_list-item-label" class="el">fo:list-item-label</a></td><td align="left" valign="top"><p>extended</p><p>fallback: labels that
break across multiple lines
are treated as separate blocks before
list-item-body.</p>
</td><td align="left" valign="top">basic</td></tr></tbody></table></div><div class="div2">
<h3><a name="ConfMulti" id="ConfMulti"/>A.6 Link and Multi Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_basic-link" class="el">fo:basic-link</a></td><td align="left" valign="top"><p>extended</p><p>fallback: promote content
to parent formatting object.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: promote content
to parent formatting object.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_multi-switch" class="el">fo:multi-switch</a></td><td align="left" valign="top">
<p>extended, need not be implemented for extended conformance for non-interactive media</p>
<p>fallback for basic conformance and extended conformance for non-interactive media:
utilize the contents of the first eligible
multi-case formatting object.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: utilize the contents of the first eligible
multi-case formatting object.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_multi-case" class="el">fo:multi-case</a></td><td align="left" valign="top">basic: needed as wrapper for fallback for
multi-switch</td><td align="left" valign="top">basic: needed as wrapper for fallback for
multi-switch</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_multi-toggle" class="el">fo:multi-toggle</a></td><td align="left" valign="top">
<p>extended, need not be implemented for extended conformance for non-interactive media</p>
<p>fallback for basic conformance and extended conformance for non-interactive media:
promote content to parent formatting object.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: promote
content to parent formatting object.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_multi-properties" class="el">fo:multi-properties</a></td><td align="left" valign="top">
<p>extended, need not be implemented for extended conformance for non-interactive media</p>
<p>fallback for basic conformance and extended conformance for non-interactive media:
promote content to parent formatting object.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: promote
content to parent formatting object.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_multi-property-set" class="el">fo:multi-property-set</a></td><td align="left" valign="top">
<p>extended, need not be implemented for extended conformance for non-interactive media</p>
<p>fallback for basic conformance and extended conformance for non-interactive media:
ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e55436" id="d2e55436"/>A.7 Out-of-line Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_float" class="el">fo:float</a></td><td align="left" valign="top"><p>extended</p><p>fallback: place inline.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: place inline.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_footnote" class="el">fo:footnote</a></td><td align="left" valign="top"><p>extended</p><p>fallback: place inline.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: place inline.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_footnote-body" class="el">fo:footnote-body</a></td><td align="left" valign="top"><p>extended</p><p>fallback: place inline.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: place inline.</p></td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e55494" id="d2e55494"/>A.8 Formatting Objects for Indexing</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display indication that
content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly rendered.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-key-reference" class="el">fo:index-key-reference</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-page-number-prefix" class="el">fo:index-page-number-prefix</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-page-number-suffix" class="el">fo:index-page-number-suffix</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-page-citation-list-separator" class="el">fo:index-page-citation-list-separator</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-page-citation-range-separator" class="el">fo:index-page-citation-range-separator</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-range-begin" class="el">fo:index-range-begin</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_index-range-end" class="el">fo:index-range-end</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e55625" id="d2e55625"/>A.9 Formatting Objects for Bookmarks</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_bookmark-tree" class="el">fo:bookmark-tree</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display an indication that content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly spoken.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_bookmark" class="el">fo:bookmark</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_bookmark-title" class="el">fo:bookmark-title</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr></tbody></table></div><div class="div2">
<h3><a name="d2e55687" id="d2e55687"/>A.10 Other Formatting Objects</h3><table border="1" width="90%"><colgroup span="1" align="left" valign="top"><col width="30%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/><col width="20%" span="1" align="left" valign="top"/></colgroup><tbody align="left" valign="top"><tr align="left" valign="top"><th align="left" valign="top">Formatting Object</th><th align="left" valign="top">Visual</th><th align="left" valign="top">Aural</th></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_wrapper" class="el">fo:wrapper</a></td><td align="left" valign="top">basic</td><td align="left" valign="top">basic</td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_marker" class="el">fo:marker</a></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: ignore.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display indication that
content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly rendered.</p></td></tr><tr align="left" valign="top"><td align="left" valign="top"><a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a></td><td align="left" valign="top"><p>extended</p><p>fallback: display indication that
content cannot be correctly rendered.</p></td><td align="left" valign="top"><p>extended</p><p>fallback: <a href="#speak" class="property">speak</a> an indication that
content cannot be correctly rendered.</p></td></tr></tbody></table></div></div><div class="div1">
<h2><a name="property-index" id="property-index"/>B Property Summary</h2><div class="div2">
<h3><a name="trmval" id="trmval"/>B.1 Explanation of Trait Mapping Values</h3><dl><dt class="label">Rendering</dt><dd><p>Maps directly into a rendering trait of the same name.</p></dd><dt class="label">Disappears</dt><dd><p>There is no trait mapping.</p></dd><dt class="label">Shorthand</dt><dd><p>A shorthand that is mapped into one or more properties.
There are no traits associated with a shorthand property.
The traits are associated with the individual
properties.</p></dd><dt class="label">Refine</dt><dd><p>Disappears in refinement. During refinement it sets
up one or more other traits.</p></dd><dt class="label">Formatting</dt><dd><p>Maps directly into a formatting trait of the same name.</p></dd><dt class="label">Specification</dt><dd><p>Sub-class of formatting. It is the same
as a formatting trait, but is specified on formatting
objects that are referenced.
</p></dd><dt class="label">See prose</dt><dd><p>Used to calculate a formatting trait, which does not have the
same name as the property. Other properties may also influence the
trait value. See the property description for
details.</p></dd><dt class="label">Font selection</dt><dd><p>Property that participates in <a href="#font" class="property">font</a> selection.</p></dd><dt class="label">Value change</dt><dd><p>Maps to a trait of the same name, but the value is not just
copied.</p></dd><dt class="label">Reference</dt><dd><p>An association between two names. Establishes a
reference within the formatting object tree.</p></dd><dt class="label">Action</dt><dd><p>Behavior trait.</p></dd><dt class="label">Magic</dt><dd><p>Handled by the formatter in an
implementation-defined way.
There are no specific traits for this property.</p></dd></dl></div><div class="div2">
<h3><a name="prtab1" id="prtab1"/>B.2 Property Table: Part I</h3><table border="1" class="propindex"><thead align="left" valign="top"><tr align="left" valign="top"><th class="propindex" align="left" valign="top">Name</th><th class="propindex" align="left" valign="top">Values</th><th class="propindex" align="left" valign="top">Initial Value</th><th class="propindex" align="left" valign="top">Inherited</th><th class="propindex" align="left" valign="top">Percentages</th></tr></thead><tbody align="left" valign="top"><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#absolute-position"><b>7.6.1 absolute-position</b></a></td><td class="propindex" align="left" valign="top">auto | absolute | fixed | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#active-state"><b>7.24.1 active-state</b></a></td><td class="propindex" align="left" valign="top">link | visited | active | hover | focus</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a></td><td class="propindex" align="left" valign="top">auto | baseline
| before-edge
| text-before-edge | middle | central
| after-edge
| text-after-edge | ideographic | alphabetic | hanging | mathematical
| &lt;percentage&gt; | &lt;length&gt;
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see prose</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a></td><td class="propindex" align="left" valign="top">auto | baseline | before-edge
| text-before-edge | middle | central | after-edge
| text-after-edge | ideographic | alphabetic | hanging | mathematical
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#allowed-height-scale"><b>7.16.1 allowed-height-scale</b></a></td><td class="propindex" align="left" valign="top">[ any | &lt;percentage&gt; ]* | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">intrinsic <a href="#height" class="property">height</a></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#allowed-width-scale"><b>7.16.2 allowed-width-scale</b></a></td><td class="propindex" align="left" valign="top">[ any | &lt;percentage&gt; ]* | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">intrinsic <a href="#width" class="property">width</a></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#auto-restore"><b>7.24.2 auto-restore</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#azimuth"><b>7.7.1 azimuth</b></a></td><td class="propindex" align="left" valign="top">&lt;angle&gt; | [[ left-side | far-left | <a href="#left" class="property">left</a>
| center-left | center | center-right | <a href="#right" class="property">right</a> | far-right | right-side
] || behind ] | leftwards | rightwards | inherit</td><td class="propindex" align="left" valign="top">center</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background"><b>7.32.1 background</b></a></td><td class="propindex" align="left" valign="top">[&lt;<a href="#background-color" class="property">background-color</a>&gt; ||
&lt;<a href="#background-image" class="property">background-image</a>&gt;
|| &lt;<a href="#background-repeat" class="property">background-repeat</a>&gt; || &lt;<a href="#background-attachment" class="property">background-attachment</a>&gt; || &lt;<a href="#background-position" class="property">background-position</a>&gt;
]] | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">allowed on '<a href="#background-position" class="property">background-position</a>'</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-attachment"><b>7.8.1 background-attachment</b></a></td><td class="propindex" align="left" valign="top">scroll | fixed | inherit</td><td class="propindex" align="left" valign="top">scroll</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-color"><b>7.8.2 background-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">transparent</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-image"><b>7.8.3 background-image</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-position"><b>7.32.2 background-position</b></a></td><td class="propindex" align="left" valign="top">[ [&lt;percentage&gt; | &lt;length&gt; ]{1,2} |
[ [top | center | <a href="#bottom" class="property">bottom</a>] || [<a href="#left" class="property">left</a> | center | <a href="#right" class="property">right</a>] ] ] | inherit</td><td class="propindex" align="left" valign="top">0% 0%</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to the <a href="#size" class="property">size</a> of the box itself </td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-position-horizontal"><b>7.8.4 background-position-horizontal</b></a></td><td class="propindex" align="left" valign="top">&lt;percentage&gt; | &lt;length&gt; |
<a href="#left" class="property">left</a> | center | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">0%</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to the <a href="#size" class="property">size</a> of the padding-rectangle</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-position-vertical"><b>7.8.5 background-position-vertical</b></a></td><td class="propindex" align="left" valign="top">&lt;percentage&gt; | &lt;length&gt; |
top | center | <a href="#bottom" class="property">bottom</a> | inherit</td><td class="propindex" align="left" valign="top">0%</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to the <a href="#size" class="property">size</a> of the padding-rectangle</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-repeat"><b>7.8.6 background-repeat</b></a></td><td class="propindex" align="left" valign="top">repeat | repeat-x | repeat-y | no-repeat | inherit</td><td class="propindex" align="left" valign="top">repeat</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a></td><td class="propindex" align="left" valign="top">baseline | sub | super | &lt;percentage&gt; | &lt;length&gt;
| inherit</td><td class="propindex" align="left" valign="top">baseline</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refers to the "<a href="#line-height" class="property">line-height</a>" of the parent area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#blank-or-not-blank"><b>7.28.1 blank-or-not-blank</b></a></td><td class="propindex" align="left" valign="top">blank | not-blank | any | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;length&gt; | &lt;percentage&gt; | &lt;length-range&gt;
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see prose</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border"><b>7.32.3 border</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-color"><b>7.8.7 border-after-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-style"><b>7.8.8 border-after-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-width"><b>7.8.9 border-after-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-color"><b>7.8.10 border-before-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-style"><b>7.8.11 border-before-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-width"><b>7.8.12 border-before-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom"><b>7.32.4 border-bottom</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom-color"><b>7.8.13 border-bottom-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom-style"><b>7.8.14 border-bottom-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom-width"><b>7.8.15 border-bottom-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-collapse"><b>7.29.3 border-collapse</b></a></td><td class="propindex" align="left" valign="top">collapse | collapse-with-precedence | separate | inherit</td><td class="propindex" align="left" valign="top">collapse</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-color"><b>7.32.5 border-color</b></a></td><td class="propindex" align="left" valign="top">[ &lt;color&gt; | transparent ]{1,4} | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-color"><b>7.8.16 border-end-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-style"><b>7.8.17 border-end-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-width"><b>7.8.18 border-end-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left"><b>7.32.6 border-left</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left-color"><b>7.8.19 border-left-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left-style"><b>7.8.20 border-left-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left-width"><b>7.8.21 border-left-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right"><b>7.32.7 border-right</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right-color"><b>7.8.22 border-right-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right-style"><b>7.8.23 border-right-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right-width"><b>7.8.24 border-right-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-separation"><b>7.29.5 border-separation</b></a></td><td class="propindex" align="left" valign="top">&lt;length-bp-ip-direction&gt; | inherit</td><td class="propindex" align="left" valign="top">.block-progression-direction="0pt" .inline-progression-direction="0pt"</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-spacing"><b>7.32.8 border-spacing</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; &lt;length&gt;? | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-color"><b>7.8.25 border-start-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-style"><b>7.8.26 border-start-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-width"><b>7.8.27 border-start-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-style"><b>7.32.9 border-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt;{1,4} | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top"><b>7.32.10 border-top</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top-color"><b>7.8.28 border-top-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top-style"><b>7.8.29 border-top-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top-width"><b>7.8.30 border-top-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-width"><b>7.32.11 border-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt;{1,4} | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#bottom"><b>7.6.2 bottom</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#break-after"><b>7.21.1 break-after</b></a></td><td class="propindex" align="left" valign="top">auto | column | page | even-page | odd-page | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#break-before"><b>7.21.2 break-before</b></a></td><td class="propindex" align="left" valign="top">auto | column | page | even-page | odd-page | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#caption-side"><b>7.29.7 caption-side</b></a></td><td class="propindex" align="left" valign="top">before | after | start | end | top | <a href="#bottom" class="property">bottom</a> | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">before</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#case-name"><b>7.24.3 case-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#case-title"><b>7.24.4 case-title</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-class"><b>7.31.1 change-bar-class</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-color"><b>7.31.2 change-bar-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt;</td><td class="propindex" align="left" valign="top">the value of the <a href="#color" class="property">color</a> property</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-offset"><b>7.31.3 change-bar-offset</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;</td><td class="propindex" align="left" valign="top">6pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-placement"><b>7.31.4 change-bar-placement</b></a></td><td class="propindex" align="left" valign="top">start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | alternate</td><td class="propindex" align="left" valign="top">start</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-style"><b>7.31.5 change-bar-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt;</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-width"><b>7.31.6 change-bar-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt;</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#character"><b>7.18.1 character</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt;</td><td class="propindex" align="left" valign="top">N/A, value is required</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#clear"><b>7.20.1 clear</b></a></td><td class="propindex" align="left" valign="top">start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | both | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#clip"><b>7.22.1 clip</b></a></td><td class="propindex" align="left" valign="top">&lt;shape&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#color"><b>7.19.1 color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#color-profile-name"><b>7.19.2 color-profile-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt; | inherit</td><td class="propindex" align="left" valign="top">N/A, value is required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-count"><b>7.28.2 column-count</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-gap"><b>7.28.3 column-gap</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">12.0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of the region being divided into columns.</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-number"><b>7.29.8 column-number</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-width"><b>7.29.9 column-width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of table</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#content-height"><b>7.16.4 content-height</b></a></td><td class="propindex" align="left" valign="top">auto | scale-to-fit | scale-down-to-fit | scale-up-to-fit |
&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">intrinsic <a href="#height" class="property">height</a></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#content-type"><b>7.31.7 content-type</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt; | auto</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#content-width"><b>7.16.5 content-width</b></a></td><td class="propindex" align="left" valign="top">auto | scale-to-fit | scale-down-to-fit | scale-up-to-fit |
&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">intrinsic <a href="#width" class="property">width</a></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#country"><b>7.10.1 country</b></a></td><td class="propindex" align="left" valign="top">none | &lt;<a href="#country" class="property">country</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#cue"><b>7.32.12 cue</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#cue-before" class="property">cue-before</a>&gt; || &lt;<a href="#cue-after" class="property">cue-after</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#cue-after"><b>7.7.2 cue-after</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | none | inherit </td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#cue-before"><b>7.7.3 cue-before</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | none | inherit </td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#destination-placement-offset"><b>7.24.5 destination-placement-offset</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#direction"><b>7.30.1 direction</b></a></td><td class="propindex" align="left" valign="top">ltr | rtl | inherit</td><td class="propindex" align="left" valign="top">ltr</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#display-align"><b>7.15.5 display-align</b></a></td><td class="propindex" align="left" valign="top">auto | before | center | after
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a></td><td class="propindex" align="left" valign="top">auto | use-script | no-change | reset-size
| ideographic | alphabetic | hanging | mathematical
| central | middle | text-after-edge | text-before-edge
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no (see prose)</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#elevation"><b>7.7.4 elevation</b></a></td><td class="propindex" align="left" valign="top">&lt;angle&gt; | below | level | above | higher
| lower | inherit</td><td class="propindex" align="left" valign="top">level</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#empty-cells"><b>7.29.10 empty-cells</b></a></td><td class="propindex" align="left" valign="top">show | hide | inherit</td><td class="propindex" align="left" valign="top">show</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#end-indent"><b>7.11.1 end-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of containing reference-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#ends-row"><b>7.29.11 ends-row</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#extent"><b>7.28.5 extent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0.0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to the corresponding <a href="#block-progression-dimension" class="property">block-progression-dimension</a>
or <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of the
page-viewport-area.</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#external-destination"><b>7.24.6 external-destination</b></a></td><td class="propindex" align="left" valign="top">empty string | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">empty string</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#float"><b>7.20.2 float</b></a></td><td class="propindex" align="left" valign="top">before | start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-map-name"><b>7.28.6 flow-map-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-map-reference"><b>7.28.7 flow-map-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-name"><b>7.28.8 flow-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-name-reference"><b>7.28.9 flow-name-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font"><b>7.32.13 font</b></a></td><td class="propindex" align="left" valign="top">[ [ &lt;<a href="#font-style" class="property">font-style</a>&gt; || &lt;<a href="#font-variant" class="property">font-variant</a>&gt;
|| &lt;<a href="#font-weight" class="property">font-weight</a>&gt; ]? &lt;<a href="#font-size" class="property">font-size</a>&gt; [ / &lt;<a href="#line-height" class="property">line-height</a>&gt;]? &lt;<a href="#font-family" class="property">font-family</a>&gt;
] | caption | icon | menu | message-box | small-caption | status-bar
| inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-family"><b>7.9.2 font-family</b></a></td><td class="propindex" align="left" valign="top">[[ &lt;family-name&gt; | &lt;generic-family&gt;
],]* [&lt;family-name&gt; | &lt;generic-family&gt;] | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-selection-strategy"><b>7.9.3 font-selection-strategy</b></a></td><td class="propindex" align="left" valign="top">auto | character-by-character | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-size"><b>7.9.4 font-size</b></a></td><td class="propindex" align="left" valign="top">&lt;absolute-size&gt; | &lt;relative-size&gt; | &lt;length&gt;
| &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">yes, the computed value is inherited</td><td class="propindex" align="left" valign="top">refer to parent element's <a href="#font" class="property">font</a> <a href="#size" class="property">size</a></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-size-adjust"><b>7.9.5 font-size-adjust</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-stretch"><b>7.9.6 font-stretch</b></a></td><td class="propindex" align="left" valign="top">normal | wider | narrower | ultra-condensed
| extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-style"><b>7.9.7 font-style</b></a></td><td class="propindex" align="left" valign="top">normal | italic | oblique | backslant | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-variant"><b>7.9.8 font-variant</b></a></td><td class="propindex" align="left" valign="top">normal | small-caps | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-weight"><b>7.9.9 font-weight</b></a></td><td class="propindex" align="left" valign="top">normal | bold | bolder | lighter | 100 | 200
| 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#force-page-count"><b>7.28.10 force-page-count</b></a></td><td class="propindex" align="left" valign="top">auto | even | odd | end-on-even | end-on-odd | no-force
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#format"><b>7.27.1 format</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#glyph-orientation-horizontal"><b>7.30.2 glyph-orientation-horizontal</b></a></td><td class="propindex" align="left" valign="top">&lt;angle&gt; | inherit</td><td class="propindex" align="left" valign="top">0deg</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#glyph-orientation-vertical"><b>7.30.3 glyph-orientation-vertical</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;angle&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt;</td><td class="propindex" align="left" valign="top">no separator</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#grouping-size"><b>7.27.3 grouping-size</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">no grouping</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#height"><b>7.16.6 height</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see prose</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenate"><b>7.10.2 hyphenate</b></a></td><td class="propindex" align="left" valign="top">false | true | inherit</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-character"><b>7.10.3 hyphenation-character</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">The Unicode hyphen <a href="#character" class="property">character</a> U+2010</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-keep"><b>7.17.1 hyphenation-keep</b></a></td><td class="propindex" align="left" valign="top">auto | column | page | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-ladder-count"><b>7.17.2 hyphenation-ladder-count</b></a></td><td class="propindex" align="left" valign="top">no-limit | &lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">no-limit</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-push-character-count"><b>7.10.4 hyphenation-push-character-count</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-remain-character-count"><b>7.10.5 hyphenation-remain-character-count</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#id"><b>7.31.8 id</b></a></td><td class="propindex" align="left" valign="top"> &lt;<a href="#id" class="property">id</a>&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">no, see prose</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#index-class"><b>7.25.1 index-class</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">empty string</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#index-key"><b>7.25.2 index-key</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#indicate-destination"><b>7.24.7 indicate-destination</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#initial-page-number"><b>7.28.11 initial-page-number</b></a></td><td class="propindex" align="left" valign="top">auto | auto-odd | auto-even | &lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;length&gt; | &lt;percentage&gt; | &lt;length-range&gt;
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see prose</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#internal-destination"><b>7.24.8 internal-destination</b></a></td><td class="propindex" align="left" valign="top">empty string | &lt;idref&gt;</td><td class="propindex" align="left" valign="top">empty string</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#intrinsic-scale-value"><b>7.31.9 intrinsic-scale-value</b></a></td><td class="propindex" align="left" valign="top">&lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">100%</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">user defined</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a></td><td class="propindex" align="left" valign="top">auto | none | line | indent | block | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#keep-together"><b>7.21.3 keep-together</b></a></td><td class="propindex" align="left" valign="top">&lt;keep&gt; | inherit</td><td class="propindex" align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a></td><td class="propindex" align="left" valign="top">&lt;keep&gt; | inherit</td><td class="propindex" align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a></td><td class="propindex" align="left" valign="top">&lt;keep&gt; | inherit</td><td class="propindex" align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#language"><b>7.10.6 language</b></a></td><td class="propindex" align="left" valign="top">none | &lt;language&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#last-line-end-indent"><b>7.17.3 last-line-end-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-alignment"><b>7.23.1 leader-alignment</b></a></td><td class="propindex" align="left" valign="top">none | reference-area | page | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-length"><b>7.23.4 leader-length</b></a></td><td class="propindex" align="left" valign="top">&lt;length-range&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100% </td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of content-rectangle of parent area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-pattern"><b>7.23.2 leader-pattern</b></a></td><td class="propindex" align="left" valign="top">space | rule | dots | use-content | inherit</td><td class="propindex" align="left" valign="top">space</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-pattern-width"><b>7.23.3 leader-pattern-width</b></a></td><td class="propindex" align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">use-font-metrics </td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to the <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of content-rectangle of parent area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#left"><b>7.6.3 left</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a></td><td class="propindex" align="left" valign="top">normal | &lt;length&gt; | &lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#letter-value"><b>7.27.4 letter-value</b></a></td><td class="propindex" align="left" valign="top">auto | alphabetic | traditional</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#linefeed-treatment"><b>7.17.7 linefeed-treatment</b></a></td><td class="propindex" align="left" valign="top">ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit</td><td class="propindex" align="left" valign="top">treat-as-space</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#line-height"><b>7.17.4 line-height</b></a></td><td class="propindex" align="left" valign="top">normal | &lt;length&gt; | &lt;number&gt; | &lt;percentage&gt; | &lt;space&gt;
| inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to the <a href="#font" class="property">font</a> <a href="#size" class="property">size</a> of the element itself</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#line-height-shift-adjustment"><b>7.17.5 line-height-shift-adjustment</b></a></td><td class="propindex" align="left" valign="top">consider-shifts | disregard-shifts | inherit</td><td class="propindex" align="left" valign="top">consider-shifts</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#line-stacking-strategy"><b>7.17.6 line-stacking-strategy</b></a></td><td class="propindex" align="left" valign="top"><a href="#line-height" class="property">line-height</a> | font-height | <a href="#max-height" class="property">max-height</a> | inherit</td><td class="propindex" align="left" valign="top"><a href="#max-height" class="property">max-height</a></td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin"><b>7.32.14 margin</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt;{1,4} | inherit </td><td class="propindex" align="left" valign="top">not defined for shorthand properties </td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-bottom"><b>7.11.2 margin-bottom</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-left"><b>7.11.3 margin-left</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-right"><b>7.11.4 margin-right</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-top"><b>7.11.5 margin-top</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#marker-class-name"><b>7.26.1 marker-class-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#master-name"><b>7.28.12 master-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#master-reference"><b>7.28.13 master-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#max-height"><b>7.16.8 max-height</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | none | inherit </td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#maximum-repeats"><b>7.28.14 maximum-repeats</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | no-limit | inherit</td><td class="propindex" align="left" valign="top">no-limit</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#max-width"><b>7.16.9 max-width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#media-usage"><b>7.28.15 media-usage</b></a></td><td class="propindex" align="left" valign="top">auto | paginate | bounded-in-one-dimension | unbounded</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">NA</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#merge-pages-across-index-key-references"><b>7.25.6 merge-pages-across-index-key-references</b></a></td><td class="propindex" align="left" valign="top">merge | leave-separate</td><td class="propindex" align="left" valign="top">merge</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#merge-ranges-across-index-key-references"><b>7.25.4 merge-ranges-across-index-key-references</b></a></td><td class="propindex" align="left" valign="top">merge | leave-separate</td><td class="propindex" align="left" valign="top">merge</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#merge-sequential-page-numbers"><b>7.25.5 merge-sequential-page-numbers</b></a></td><td class="propindex" align="left" valign="top">merge | leave-separate</td><td class="propindex" align="left" valign="top">merge</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#min-height"><b>7.16.10 min-height</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit </td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#min-width"><b>7.16.11 min-width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on UA</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#number-columns-repeated"><b>7.29.12 number-columns-repeated</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#number-columns-spanned"><b>7.29.13 number-columns-spanned</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#number-rows-spanned"><b>7.29.14 number-rows-spanned</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#odd-or-even"><b>7.28.16 odd-or-even</b></a></td><td class="propindex" align="left" valign="top">odd | even | any | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#orphans"><b>7.21.6 orphans</b></a></td><td class="propindex" align="left" valign="top">&lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#overflow"><b>7.22.2 overflow</b></a></td><td class="propindex" align="left" valign="top">visible | hidden | scroll | error-if-overflow | repeat | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding"><b>7.32.15 padding</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt;{1,4} | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-after"><b>7.8.31 padding-after</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-before"><b>7.8.32 padding-before</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-bottom"><b>7.8.33 padding-bottom</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-end"><b>7.8.34 padding-end</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-left"><b>7.8.35 padding-left</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-right"><b>7.8.36 padding-right</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-start"><b>7.8.37 padding-start</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-top"><b>7.8.38 padding-top</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-break-after"><b>7.32.16 page-break-after</b></a></td><td class="propindex" align="left" valign="top">auto | always | avoid | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-break-before"><b>7.32.17 page-break-before</b></a></td><td class="propindex" align="left" valign="top">auto | always | avoid | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-break-inside"><b>7.32.18 page-break-inside</b></a></td><td class="propindex" align="left" valign="top">avoid | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-citation-strategy"><b>7.31.10 page-citation-strategy</b></a></td><td class="propindex" align="left" valign="top">[ all | normal | non-blank | inherit</td><td class="propindex" align="left" valign="top">all</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-height"><b>7.28.17 page-height</b></a></td><td class="propindex" align="left" valign="top">auto | indefinite | &lt;length&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-number-treatment"><b>7.25.3 page-number-treatment</b></a></td><td class="propindex" align="left" valign="top">link | no-link</td><td class="propindex" align="left" valign="top">no-link</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-position"><b>7.28.18 page-position</b></a></td><td class="propindex" align="left" valign="top">only | first | last | rest | any | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-width"><b>7.28.19 page-width</b></a></td><td class="propindex" align="left" valign="top">auto | indefinite | &lt;length&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pause"><b>7.32.19 pause</b></a></td><td class="propindex" align="left" valign="top">[&lt;time&gt; | &lt;percentage&gt;]{1,2} | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see descriptions of '<a href="#pause-before" class="property">pause-before</a>' and '<a href="#pause-after" class="property">pause-after</a>' </td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pause-after"><b>7.7.5 pause-after</b></a></td><td class="propindex" align="left" valign="top">&lt;time&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see prose </td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pause-before"><b>7.7.6 pause-before</b></a></td><td class="propindex" align="left" valign="top">&lt;time&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">see prose </td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pitch"><b>7.7.7 pitch</b></a></td><td class="propindex" align="left" valign="top">&lt;frequency&gt; | x-low | low | medium | high
| x-high | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pitch-range"><b>7.7.8 pitch-range</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">50</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#play-during"><b>7.7.9 play-during</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; mix? repeat? | auto | none | inherit </td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#position"><b>7.32.20 position</b></a></td><td class="propindex" align="left" valign="top">static | relative | absolute | fixed | inherit</td><td class="propindex" align="left" valign="top">static</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#precedence"><b>7.28.20 precedence</b></a></td><td class="propindex" align="left" valign="top">true | false | inherit</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#provisional-distance-between-starts"><b>7.31.11 provisional-distance-between-starts</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">24.0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#provisional-label-separation"><b>7.31.12 provisional-label-separation</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">6.0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a></td><td class="propindex" align="left" valign="top"> 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit</td><td class="propindex" align="left" valign="top">0</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#ref-id"><b>7.31.13 ref-id</b></a></td><td class="propindex" align="left" valign="top">&lt;idref&gt; | inherit</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#ref-index-key"><b>7.25.7 ref-index-key</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#region-name"><b>7.28.21 region-name</b></a></td><td class="propindex" align="left" valign="top">xsl-region-body | xsl-region-start | xsl-region-end
| xsl-region-before | xsl-region-after |
&lt;name&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#region-name-reference"><b>7.28.22 region-name-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#relative-align"><b>7.15.9 relative-align</b></a></td><td class="propindex" align="left" valign="top">before | baseline
| inherit</td><td class="propindex" align="left" valign="top">before</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#relative-position"><b>7.13.4 relative-position</b></a></td><td class="propindex" align="left" valign="top">static | relative | inherit</td><td class="propindex" align="left" valign="top">static</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#rendering-intent"><b>7.19.3 rendering-intent</b></a></td><td class="propindex" align="left" valign="top">auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-boundary"><b>7.26.4 retrieve-boundary</b></a></td><td class="propindex" align="left" valign="top">page | page-sequence | document</td><td class="propindex" align="left" valign="top">page-sequence</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-boundary-within-table"><b>7.26.2 retrieve-boundary-within-table</b></a></td><td class="propindex" align="left" valign="top">table | table-fragment | page</td><td class="propindex" align="left" valign="top">table</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-class-name"><b>7.26.3 retrieve-class-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-position"><b>7.26.5 retrieve-position</b></a></td><td class="propindex" align="left" valign="top">first-starting-within-page | first-including-carryover |
last-starting-within-page | last-ending-within-page</td><td class="propindex" align="left" valign="top">first-starting-within-page</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-position-within-table"><b>7.26.6 retrieve-position-within-table</b></a></td><td class="propindex" align="left" valign="top">first-starting | first-including-carryover |
last-starting | last-ending</td><td class="propindex" align="left" valign="top">first-starting</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#richness"><b>7.7.10 richness</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">50</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#right"><b>7.6.4 right</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#role"><b>7.5.2 role</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt; | &lt;uri-specification&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#rule-style"><b>7.23.5 rule-style</b></a></td><td class="propindex" align="left" valign="top">none | dotted | dashed | solid | double | groove
| ridge | inherit</td><td class="propindex" align="left" valign="top">solid</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#rule-thickness"><b>7.23.6 rule-thickness</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;</td><td class="propindex" align="left" valign="top">1.0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#scale-option"><b>7.31.14 scale-option</b></a></td><td class="propindex" align="left" valign="top"><a href="#width" class="property">width</a> | <a href="#height" class="property">height</a> | inherit</td><td class="propindex" align="left" valign="top"><a href="#width" class="property">width</a></td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#scaling"><b>7.16.12 scaling</b></a></td><td class="propindex" align="left" valign="top">uniform | non-uniform | inherit</td><td class="propindex" align="left" valign="top">uniform</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#scaling-method"><b>7.16.13 scaling-method</b></a></td><td class="propindex" align="left" valign="top">auto | integer-pixels | resample-any-method | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#score-spaces"><b>7.31.15 score-spaces</b></a></td><td class="propindex" align="left" valign="top">true | false | inherit</td><td class="propindex" align="left" valign="top">true</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#script"><b>7.10.7 script</b></a></td><td class="propindex" align="left" valign="top">none | auto | &lt;<a href="#script" class="property">script</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#show-destination"><b>7.24.9 show-destination</b></a></td><td class="propindex" align="left" valign="top">replace | new</td><td class="propindex" align="left" valign="top">replace</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#size"><b>7.32.21 size</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;{1,2} | auto | landscape | portrait
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">N/A [XSL:no, is optional]</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#source-document"><b>7.5.1 source-document</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; [&lt;uri-specification&gt;]* | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-after"><b>7.11.6 space-after</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A (Differs from <a href="#margin-bottom" class="property">margin-bottom</a> in CSS)</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-before"><b>7.11.7 space-before</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A (Differs from <a href="#margin-top" class="property">margin-top</a> in CSS)</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-end"><b>7.12.5 space-end</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-start"><b>7.12.6 space-start</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> of closest ancestor block-area that is not a line-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#span"><b>7.22.4 span</b></a></td><td class="propindex" align="left" valign="top">none | all | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak"><b>7.7.11 speak</b></a></td><td class="propindex" align="left" valign="top">normal | none | spell-out | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak-header"><b>7.7.12 speak-header</b></a></td><td class="propindex" align="left" valign="top">once | always | inherit</td><td class="propindex" align="left" valign="top">once</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak-numeral"><b>7.7.13 speak-numeral</b></a></td><td class="propindex" align="left" valign="top">digits | continuous | inherit</td><td class="propindex" align="left" valign="top">continuous</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak-punctuation"><b>7.7.14 speak-punctuation</b></a></td><td class="propindex" align="left" valign="top">code | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speech-rate"><b>7.7.15 speech-rate</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | x-slow | slow | medium | fast
| x-fast | faster | slower | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#src"><b>7.31.16 src</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | inherit</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#start-indent"><b>7.11.8 start-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a>
of containing reference-area</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#starting-state"><b>7.24.10 starting-state</b></a></td><td class="propindex" align="left" valign="top">show | hide</td><td class="propindex" align="left" valign="top">show</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#starts-row"><b>7.29.15 starts-row</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#stress"><b>7.7.16 stress</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">50</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#suppress-at-line-break"><b>7.18.3 suppress-at-line-break</b></a></td><td class="propindex" align="left" valign="top">auto | suppress | retain | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#switch-to"><b>7.24.11 switch-to</b></a></td><td class="propindex" align="left" valign="top">xsl-preceding | xsl-following | xsl-any | &lt;name&gt;[ &lt;name&gt;]*</td><td class="propindex" align="left" valign="top">xsl-any</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#table-layout"><b>7.29.16 table-layout</b></a></td><td class="propindex" align="left" valign="top">auto | fixed | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#table-omit-footer-at-break"><b>7.29.17 table-omit-footer-at-break</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#table-omit-header-at-break"><b>7.29.18 table-omit-header-at-break</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#target-presentation-context"><b>7.24.12 target-presentation-context</b></a></td><td class="propindex" align="left" valign="top">use-target-processing-context | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">use-target-processing-context</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#target-processing-context"><b>7.24.13 target-processing-context</b></a></td><td class="propindex" align="left" valign="top">document-root | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">document-root</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#target-stylesheet"><b>7.24.14 target-stylesheet</b></a></td><td class="propindex" align="left" valign="top">use-normal-stylesheet | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">use-normal-stylesheet</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-align"><b>7.17.8 text-align</b></a></td><td class="propindex" align="left" valign="top">start | center | end | justify | inside | outside
| <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | &lt;string&gt; | inherit</td><td class="propindex" align="left" valign="top">start</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-align-last"><b>7.17.9 text-align-last</b></a></td><td class="propindex" align="left" valign="top">relative | start | center | end | justify | inside
| outside | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">relative</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-altitude"><b>7.30.4 text-altitude</b></a></td><td class="propindex" align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">use-font-metrics</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#font" class="property">font</a>'s em-height</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-decoration"><b>7.18.4 text-decoration</b></a></td><td class="propindex" align="left" valign="top">none | [ [ underline | no-underline] || [ overline | no-overline ]
|| [ line-through | no-line-through ] || [ blink | no-blink ] ]
| inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no, but see prose</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-depth"><b>7.30.5 text-depth</b></a></td><td class="propindex" align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">use-font-metrics</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#font" class="property">font</a>'s em-height</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-indent"><b>7.17.10 text-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-shadow"><b>7.18.5 text-shadow</b></a></td><td class="propindex" align="left" valign="top">none | [&lt;color&gt; || &lt;length&gt; &lt;length&gt; &lt;length&gt;?
,]* [&lt;color&gt; || &lt;length&gt; &lt;length&gt; &lt;length&gt;?] | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">no, see prose</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-transform"><b>7.18.6 text-transform</b></a></td><td class="propindex" align="left" valign="top">capitalize | uppercase | lowercase | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#top"><b>7.6.5 top</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#height" class="property">height</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#treat-as-word-space"><b>7.18.7 treat-as-word-space</b></a></td><td class="propindex" align="left" valign="top">auto | true | false | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#unicode-bidi"><b>7.30.6 unicode-bidi</b></a></td><td class="propindex" align="left" valign="top">normal | embed | bidi-override | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#vertical-align"><b>7.32.22 vertical-align</b></a></td><td class="propindex" align="left" valign="top">baseline | middle | sub | super | text-top |
text-bottom | &lt;percentage&gt; | &lt;length&gt; | top | <a href="#bottom" class="property">bottom</a> | inherit</td><td class="propindex" align="left" valign="top">baseline</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to the '<a href="#line-height" class="property">line-height</a>' of the element itself</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#visibility"><b>7.31.17 visibility</b></a></td><td class="propindex" align="left" valign="top">visible | hidden | collapse | inherit</td><td class="propindex" align="left" valign="top">visible</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#voice-family"><b>7.7.17 voice-family</b></a></td><td class="propindex" align="left" valign="top">[[&lt;specific-voice&gt; | &lt;generic-voice&gt;
],]* [&lt;specific-voice&gt; | &lt;generic-voice&gt; ] | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#volume"><b>7.7.18 volume</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | &lt;percentage&gt; | silent | x-soft
| soft | medium | loud | x-loud | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">refer to inherited value</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#white-space"><b>7.32.23 white-space</b></a></td><td class="propindex" align="left" valign="top">normal | pre | nowrap | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#white-space-collapse"><b>7.17.11 white-space-collapse</b></a></td><td class="propindex" align="left" valign="top">false | true | inherit</td><td class="propindex" align="left" valign="top">true</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#white-space-treatment"><b>7.17.12 white-space-treatment</b></a></td><td class="propindex" align="left" valign="top">ignore | preserve | ignore-if-before-linefeed |
ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit</td><td class="propindex" align="left" valign="top">ignore-if-surrounding-linefeed</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#widows"><b>7.21.7 widows</b></a></td><td class="propindex" align="left" valign="top">&lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#width"><b>7.16.14 width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">refer to <a href="#width" class="property">width</a> of containing block</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></td><td class="propindex" align="left" valign="top">normal | &lt;length&gt; | &lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></td><td class="propindex" align="left" valign="top">no-wrap | wrap | inherit</td><td class="propindex" align="left" valign="top">wrap</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></td><td class="propindex" align="left" valign="top">lr-tb |
rl-tb |
tb-rl |
tb-lr |
bt-lr |
bt-rl |
lr-bt |
rl-bt |
lr-alternating-rl-bt |
lr-alternating-rl-tb |
lr-inverting-rl-bt |
lr-inverting-rl-tb |
tb-lr-in-lr-pairs |
lr |
rl |
tb |
inherit</td><td class="propindex" align="left" valign="top">lr-tb</td><td class="propindex" align="left" valign="top">yes (see prose)</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#xml.lang"><b>7.32.24 xml:lang</b></a></td><td class="propindex" align="left" valign="top">&lt;language-country&gt; | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">yes</td><td class="propindex" align="left" valign="top">N/A</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#z-index"><b>7.31.18 z-index</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">no</td><td class="propindex" align="left" valign="top">N/A</td></tr></tbody></table></div><div class="div2">
<h3><a name="prtab2" id="prtab2"/>B.3 Property Table: Part II</h3><p>The Trait Mapping Values are explained in <a href="#trmval"><b>B.1 Explanation of Trait Mapping Values</b></a>.</p><table border="1" class="propindex"><thead align="left" valign="top"><tr align="left" valign="top"><th class="propindex" align="left" valign="top">Name</th><th class="propindex" align="left" valign="top">Values</th><th class="propindex" align="left" valign="top">Initial Value</th><th class="propindex" align="left" valign="top">Trait mapping</th><th class="propindex" align="left" valign="top">Core</th></tr></thead><tbody align="left" valign="top"><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#absolute-position"><b>7.6.1 absolute-position</b></a></td><td class="propindex" align="left" valign="top">auto | absolute | fixed | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">See prose. </td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#active-state"><b>7.24.1 active-state</b></a></td><td class="propindex" align="left" valign="top">link | visited | active | hover | focus</td><td class="propindex" align="left" valign="top">no, a value is required</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_multi-properties" class="el">fo:multi-properties</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a></td><td class="propindex" align="left" valign="top">auto | baseline
| before-edge
| text-before-edge | middle | central
| after-edge
| text-after-edge | ideographic | alphabetic | hanging | mathematical
| &lt;percentage&gt; | &lt;length&gt;
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a></td><td class="propindex" align="left" valign="top">auto | baseline | before-edge
| text-before-edge | middle | central | after-edge
| text-after-edge | ideographic | alphabetic | hanging | mathematical
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#allowed-height-scale"><b>7.16.1 allowed-height-scale</b></a></td><td class="propindex" align="left" valign="top">[ any | &lt;percentage&gt; ]* | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#allowed-width-scale"><b>7.16.2 allowed-width-scale</b></a></td><td class="propindex" align="left" valign="top">[ any | &lt;percentage&gt; ]* | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#auto-restore"><b>7.24.2 auto-restore</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_multi-switch" class="el">fo:multi-switch</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#azimuth"><b>7.7.1 azimuth</b></a></td><td class="propindex" align="left" valign="top">&lt;angle&gt; | [[ left-side | far-left | <a href="#left" class="property">left</a>
| center-left | center | center-right | <a href="#right" class="property">right</a> | far-right | right-side
] || behind ] | leftwards | rightwards | inherit</td><td class="propindex" align="left" valign="top">center</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background"><b>7.32.1 background</b></a></td><td class="propindex" align="left" valign="top">[&lt;<a href="#background-color" class="property">background-color</a>&gt; ||
&lt;<a href="#background-image" class="property">background-image</a>&gt;
|| &lt;<a href="#background-repeat" class="property">background-repeat</a>&gt; || &lt;<a href="#background-attachment" class="property">background-attachment</a>&gt; || &lt;<a href="#background-position" class="property">background-position</a>&gt;
]] | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-attachment"><b>7.8.1 background-attachment</b></a></td><td class="propindex" align="left" valign="top">scroll | fixed | inherit</td><td class="propindex" align="left" valign="top">scroll</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-color"><b>7.8.2 background-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">transparent</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-image"><b>7.8.3 background-image</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-position"><b>7.32.2 background-position</b></a></td><td class="propindex" align="left" valign="top">[ [&lt;percentage&gt; | &lt;length&gt; ]{1,2} |
[ [top | center | <a href="#bottom" class="property">bottom</a>] || [<a href="#left" class="property">left</a> | center | <a href="#right" class="property">right</a>] ] ] | inherit</td><td class="propindex" align="left" valign="top">0% 0%</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-position-horizontal"><b>7.8.4 background-position-horizontal</b></a></td><td class="propindex" align="left" valign="top">&lt;percentage&gt; | &lt;length&gt; |
<a href="#left" class="property">left</a> | center | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">0%</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-position-vertical"><b>7.8.5 background-position-vertical</b></a></td><td class="propindex" align="left" valign="top">&lt;percentage&gt; | &lt;length&gt; |
top | center | <a href="#bottom" class="property">bottom</a> | inherit</td><td class="propindex" align="left" valign="top">0%</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#background-repeat"><b>7.8.6 background-repeat</b></a></td><td class="propindex" align="left" valign="top">repeat | repeat-x | repeat-y | no-repeat | inherit</td><td class="propindex" align="left" valign="top">repeat</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: no-repeat</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a></td><td class="propindex" align="left" valign="top">baseline | sub | super | &lt;percentage&gt; | &lt;length&gt;
| inherit</td><td class="propindex" align="left" valign="top">baseline</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#blank-or-not-blank"><b>7.28.1 blank-or-not-blank</b></a></td><td class="propindex" align="left" valign="top">blank | not-blank | any | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;length&gt; | &lt;percentage&gt; | &lt;length-range&gt;
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border"><b>7.32.3 border</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-color"><b>7.8.7 border-after-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-style"><b>7.8.8 border-after-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-after-width"><b>7.8.9 border-after-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-color"><b>7.8.10 border-before-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-style"><b>7.8.11 border-before-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-before-width"><b>7.8.12 border-before-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom"><b>7.32.4 border-bottom</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom-color"><b>7.8.13 border-bottom-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom-style"><b>7.8.14 border-bottom-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-bottom-width"><b>7.8.15 border-bottom-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-collapse"><b>7.29.3 border-collapse</b></a></td><td class="propindex" align="left" valign="top">collapse | collapse-with-precedence | separate | inherit</td><td class="propindex" align="left" valign="top">collapse</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-color"><b>7.32.5 border-color</b></a></td><td class="propindex" align="left" valign="top">[ &lt;color&gt; | transparent ]{1,4} | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-color"><b>7.8.16 border-end-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-style"><b>7.8.17 border-end-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-end-width"><b>7.8.18 border-end-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left"><b>7.32.6 border-left</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left-color"><b>7.8.19 border-left-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left-style"><b>7.8.20 border-left-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-left-width"><b>7.8.21 border-left-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right"><b>7.32.7 border-right</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right-color"><b>7.8.22 border-right-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right-style"><b>7.8.23 border-right-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-right-width"><b>7.8.24 border-right-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-separation"><b>7.29.5 border-separation</b></a></td><td class="propindex" align="left" valign="top">&lt;length-bp-ip-direction&gt; | inherit</td><td class="propindex" align="left" valign="top">.block-progression-direction="0pt" .inline-progression-direction="0pt"</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-spacing"><b>7.32.8 border-spacing</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; &lt;length&gt;? | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-color"><b>7.8.25 border-start-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a></td><td class="propindex" align="left" valign="top">force | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top"><a href="#fo_table" class="el">fo:table</a>: 6, <a href="#fo_table-cell" class="el">fo:table-cell</a>: 5, <a href="#fo_table-column" class="el">fo:table-column</a>: 4,
<a href="#fo_table-row" class="el">fo:table-row</a>: 3, <a href="#fo_table-body" class="el">fo:table-body</a>: 2, <a href="#fo_table-header" class="el">fo:table-header</a>: 1, <a href="#fo_table-footer" class="el">fo:table-footer</a>: 0
</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-style"><b>7.8.26 border-start-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-start-width"><b>7.8.27 border-start-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-style"><b>7.32.9 border-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt;{1,4} | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top"><b>7.32.10 border-top</b></a></td><td class="propindex" align="left" valign="top">[ &lt;<a href="#border-width" class="property">border-width</a>&gt; || &lt;<a href="#border-style" class="property">border-style</a>&gt;
|| [ &lt;color&gt; | transparent ] ] | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top-color"><b>7.8.28 border-top-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | transparent | inherit</td><td class="propindex" align="left" valign="top">the value of the '<a href="#color" class="property">color</a>' property</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top-style"><b>7.8.29 border-top-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-top-width"><b>7.8.30 border-top-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#border-width"><b>7.32.11 border-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt;{1,4} | inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#bottom"><b>7.6.2 bottom</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#absolute-position" class="property">absolute-position</a>, <a href="#relative-position" class="property">relative-position</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#break-after"><b>7.21.1 break-after</b></a></td><td class="propindex" align="left" valign="top">auto | column | page | even-page | odd-page | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#break-before"><b>7.21.2 break-before</b></a></td><td class="propindex" align="left" valign="top">auto | column | page | even-page | odd-page | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#caption-side"><b>7.29.7 caption-side</b></a></td><td class="propindex" align="left" valign="top">before | after | start | end | top | <a href="#bottom" class="property">bottom</a> | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">before</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#case-name"><b>7.24.3 case-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_multi-switch" class="el">fo:multi-switch</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#case-title"><b>7.24.4 case-title</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_multi-switch" class="el">fo:multi-switch</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-class"><b>7.31.1 change-bar-class</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-color"><b>7.31.2 change-bar-color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt;</td><td class="propindex" align="left" valign="top">the value of the <a href="#color" class="property">color</a> property</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-offset"><b>7.31.3 change-bar-offset</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;</td><td class="propindex" align="left" valign="top">6pt</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-placement"><b>7.31.4 change-bar-placement</b></a></td><td class="propindex" align="left" valign="top">start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | alternate</td><td class="propindex" align="left" valign="top">start</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-style"><b>7.31.5 change-bar-style</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-style" class="property">border-style</a>&gt;</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#change-bar-width"><b>7.31.6 change-bar-width</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#border-width" class="property">border-width</a>&gt;</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, <a href="#fo_change-bar-end" class="el">fo:change-bar-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#character"><b>7.18.1 character</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt;</td><td class="propindex" align="left" valign="top">N/A, value is required</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#clear"><b>7.20.1 clear</b></a></td><td class="propindex" align="left" valign="top">start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | both | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_float" class="el">fo:float</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#clip"><b>7.22.1 clip</b></a></td><td class="propindex" align="left" valign="top">&lt;shape&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#color"><b>7.19.1 color</b></a></td><td class="propindex" align="left" valign="top">&lt;color&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#color-profile-name"><b>7.19.2 color-profile-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt; | inherit</td><td class="propindex" align="left" valign="top">N/A, value is required</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_color-profile" class="el">fo:color-profile</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-count"><b>7.28.2 column-count</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-gap"><b>7.28.3 column-gap</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">12.0pt</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#column-count" class="property">column-count</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-number"><b>7.29.8 column-number</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#column-width"><b>7.29.9 column-width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#content-height"><b>7.16.4 content-height</b></a></td><td class="propindex" align="left" valign="top">auto | scale-to-fit | scale-down-to-fit | scale-up-to-fit |
&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#content-type"><b>7.31.7 content-type</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt; | auto</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#content-width"><b>7.16.5 content-width</b></a></td><td class="propindex" align="left" valign="top">auto | scale-to-fit | scale-down-to-fit | scale-up-to-fit |
&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#country"><b>7.10.1 country</b></a></td><td class="propindex" align="left" valign="top">none | &lt;<a href="#country" class="property">country</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#cue"><b>7.32.12 cue</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#cue-before" class="property">cue-before</a>&gt; || &lt;<a href="#cue-after" class="property">cue-after</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#cue-after"><b>7.7.2 cue-after</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | none | inherit </td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#cue-before"><b>7.7.3 cue-before</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | none | inherit </td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#destination-placement-offset"><b>7.24.5 destination-placement-offset</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#direction"><b>7.30.1 direction</b></a></td><td class="propindex" align="left" valign="top">ltr | rtl | inherit</td><td class="propindex" align="left" valign="top">ltr</td><td class="propindex" align="left" valign="top">See prose. </td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#display-align"><b>7.15.5 display-align</b></a></td><td class="propindex" align="left" valign="top">auto | before | center | after
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a></td><td class="propindex" align="left" valign="top">auto | use-script | no-change | reset-size
| ideographic | alphabetic | hanging | mathematical
| central | middle | text-after-edge | text-before-edge
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#elevation"><b>7.7.4 elevation</b></a></td><td class="propindex" align="left" valign="top">&lt;angle&gt; | below | level | above | higher
| lower | inherit</td><td class="propindex" align="left" valign="top">level</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#empty-cells"><b>7.29.10 empty-cells</b></a></td><td class="propindex" align="left" valign="top">show | hide | inherit</td><td class="propindex" align="left" valign="top">show</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#end-indent"><b>7.11.1 end-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#ends-row"><b>7.29.11 ends-row</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#extent"><b>7.28.5 extent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0.0pt</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_region-before" class="el">fo:region-before</a>, <a href="#fo_region-after" class="el">fo:region-after</a>, <a href="#fo_region-start" class="el">fo:region-start</a>, and <a href="#fo_region-end" class="el">fo:region-end</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#external-destination"><b>7.24.6 external-destination</b></a></td><td class="propindex" align="left" valign="top">empty string | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">empty string</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#float"><b>7.20.2 float</b></a></td><td class="propindex" align="left" valign="top">before | start | end | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inside | outside | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_float" class="el">fo:float</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-map-name"><b>7.28.6 flow-map-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_flow-map" class="el">fo:flow-map</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-map-reference"><b>7.28.7 flow-map-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_flow-map" class="el">fo:flow-map</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-name"><b>7.28.8 flow-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#flow-name-reference"><b>7.28.9 flow-name-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_flow-map" class="el">fo:flow-map</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font"><b>7.32.13 font</b></a></td><td class="propindex" align="left" valign="top">[ [ &lt;<a href="#font-style" class="property">font-style</a>&gt; || &lt;<a href="#font-variant" class="property">font-variant</a>&gt;
|| &lt;<a href="#font-weight" class="property">font-weight</a>&gt; ]? &lt;<a href="#font-size" class="property">font-size</a>&gt; [ / &lt;<a href="#line-height" class="property">line-height</a>&gt;]? &lt;<a href="#font-family" class="property">font-family</a>&gt;
] | caption | icon | menu | message-box | small-caption | status-bar
| inherit</td><td class="propindex" align="left" valign="top">see individual properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-family"><b>7.9.2 font-family</b></a></td><td class="propindex" align="left" valign="top">[[ &lt;family-name&gt; | &lt;generic-family&gt;
],]* [&lt;family-name&gt; | &lt;generic-family&gt;] | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-selection-strategy"><b>7.9.3 font-selection-strategy</b></a></td><td class="propindex" align="left" valign="top">auto | character-by-character | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-size"><b>7.9.4 font-size</b></a></td><td class="propindex" align="left" valign="top">&lt;absolute-size&gt; | &lt;relative-size&gt; | &lt;length&gt;
| &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-size-adjust"><b>7.9.5 font-size-adjust</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-stretch"><b>7.9.6 font-stretch</b></a></td><td class="propindex" align="left" valign="top">normal | wider | narrower | ultra-condensed
| extra-condensed | condensed | semi-condensed | semi-expanded |
expanded | extra-expanded | ultra-expanded | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-style"><b>7.9.7 font-style</b></a></td><td class="propindex" align="left" valign="top">normal | italic | oblique | backslant | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-variant"><b>7.9.8 font-variant</b></a></td><td class="propindex" align="left" valign="top">normal | small-caps | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#font-weight"><b>7.9.9 font-weight</b></a></td><td class="propindex" align="left" valign="top">normal | bold | bolder | lighter | 100 | 200
| 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Font selection</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#force-page-count"><b>7.28.10 force-page-count</b></a></td><td class="propindex" align="left" valign="top">auto | even | odd | end-on-even | end-on-odd | no-force
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: no-force</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#format"><b>7.27.1 format</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#glyph-orientation-horizontal"><b>7.30.2 glyph-orientation-horizontal</b></a></td><td class="propindex" align="left" valign="top">&lt;angle&gt; | inherit</td><td class="propindex" align="left" valign="top">0deg</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#glyph-orientation-vertical"><b>7.30.3 glyph-orientation-vertical</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;angle&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt;</td><td class="propindex" align="left" valign="top">no separator</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: no separator</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#grouping-size"><b>7.27.3 grouping-size</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">no grouping</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: no grouping</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#height"><b>7.16.6 height</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenate"><b>7.10.2 hyphenate</b></a></td><td class="propindex" align="left" valign="top">false | true | inherit</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-character"><b>7.10.3 hyphenation-character</b></a></td><td class="propindex" align="left" valign="top">&lt;<a href="#character" class="property">character</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">The Unicode hyphen <a href="#character" class="property">character</a> U+2010</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#hyphenate" class="property">hyphenate</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-keep"><b>7.17.1 hyphenation-keep</b></a></td><td class="propindex" align="left" valign="top">auto | column | page | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#hyphenate" class="property">hyphenate</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-ladder-count"><b>7.17.2 hyphenation-ladder-count</b></a></td><td class="propindex" align="left" valign="top">no-limit | &lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">no-limit</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#hyphenate" class="property">hyphenate</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-push-character-count"><b>7.10.4 hyphenation-push-character-count</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#hyphenate" class="property">hyphenate</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#hyphenation-remain-character-count"><b>7.10.5 hyphenation-remain-character-count</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#hyphenate" class="property">hyphenate</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#id"><b>7.31.8 id</b></a></td><td class="propindex" align="left" valign="top"> &lt;<a href="#id" class="property">id</a>&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#index-class"><b>7.25.1 index-class</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">empty string</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#index-key"><b>7.25.2 index-key</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#indicate-destination"><b>7.24.7 indicate-destination</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#initial-page-number"><b>7.28.11 initial-page-number</b></a></td><td class="propindex" align="left" valign="top">auto | auto-odd | auto-even | &lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;length&gt; | &lt;percentage&gt; | &lt;length-range&gt;
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#internal-destination"><b>7.24.8 internal-destination</b></a></td><td class="propindex" align="left" valign="top">empty string | &lt;idref&gt;</td><td class="propindex" align="left" valign="top">empty string</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#intrinsic-scale-value"><b>7.31.9 intrinsic-scale-value</b></a></td><td class="propindex" align="left" valign="top">&lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">100%</td><td class="propindex" align="left" valign="top">Refine</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a></td><td class="propindex" align="left" valign="top">auto | none | line | indent | block | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: none</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#keep-together"><b>7.21.3 keep-together</b></a></td><td class="propindex" align="left" valign="top">&lt;keep&gt; | inherit</td><td class="propindex" align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a></td><td class="propindex" align="left" valign="top">&lt;keep&gt; | inherit</td><td class="propindex" align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a></td><td class="propindex" align="left" valign="top">&lt;keep&gt; | inherit</td><td class="propindex" align="left" valign="top">.within-line=auto, .within-column=auto, .within-page=auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#language"><b>7.10.6 language</b></a></td><td class="propindex" align="left" valign="top">none | &lt;language&gt; | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#last-line-end-indent"><b>7.17.3 last-line-end-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-alignment"><b>7.23.1 leader-alignment</b></a></td><td class="propindex" align="left" valign="top">none | reference-area | page | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-length"><b>7.23.4 leader-length</b></a></td><td class="propindex" align="left" valign="top">&lt;length-range&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">leader-length.minimum=0pt, .optimum=12.0pt, .maximum=100% </td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-pattern"><b>7.23.2 leader-pattern</b></a></td><td class="propindex" align="left" valign="top">space | rule | dots | use-content | inherit</td><td class="propindex" align="left" valign="top">space</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#leader-pattern-width"><b>7.23.3 leader-pattern-width</b></a></td><td class="propindex" align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">use-font-metrics </td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#left"><b>7.6.3 left</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#absolute-position" class="property">absolute-position</a>, <a href="#relative-position" class="property">relative-position</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a></td><td class="propindex" align="left" valign="top">normal | &lt;length&gt; | &lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#letter-value"><b>7.27.4 letter-value</b></a></td><td class="propindex" align="left" valign="top">auto | alphabetic | traditional</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#linefeed-treatment"><b>7.17.7 linefeed-treatment</b></a></td><td class="propindex" align="left" valign="top">ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit</td><td class="propindex" align="left" valign="top">treat-as-space</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#line-height"><b>7.17.4 line-height</b></a></td><td class="propindex" align="left" valign="top">normal | &lt;length&gt; | &lt;number&gt; | &lt;percentage&gt; | &lt;space&gt;
| inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#line-height-shift-adjustment"><b>7.17.5 line-height-shift-adjustment</b></a></td><td class="propindex" align="left" valign="top">consider-shifts | disregard-shifts | inherit</td><td class="propindex" align="left" valign="top">consider-shifts</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#line-stacking-strategy"><b>7.17.6 line-stacking-strategy</b></a></td><td class="propindex" align="left" valign="top"><a href="#line-height" class="property">line-height</a> | font-height | <a href="#max-height" class="property">max-height</a> | inherit</td><td class="propindex" align="left" valign="top"><a href="#max-height" class="property">max-height</a></td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin"><b>7.32.14 margin</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt;{1,4} | inherit </td><td class="propindex" align="left" valign="top">not defined for shorthand properties </td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-bottom"><b>7.11.2 margin-bottom</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-left"><b>7.11.3 margin-left</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-right"><b>7.11.4 margin-right</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#margin-top"><b>7.11.5 margin-top</b></a></td><td class="propindex" align="left" valign="top">&lt;margin-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#marker-class-name"><b>7.26.1 marker-class-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_marker" class="el">fo:marker</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#master-name"><b>7.28.12 master-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#master-reference"><b>7.28.13 master-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#max-height"><b>7.16.8 max-height</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | none | inherit </td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#maximum-repeats"><b>7.28.14 maximum-repeats</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | no-limit | inherit</td><td class="propindex" align="left" valign="top">no-limit</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a> and <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#max-width"><b>7.16.9 max-width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#media-usage"><b>7.28.15 media-usage</b></a></td><td class="propindex" align="left" valign="top">auto | paginate | bounded-in-one-dimension | unbounded</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#merge-pages-across-index-key-references"><b>7.25.6 merge-pages-across-index-key-references</b></a></td><td class="propindex" align="left" valign="top">merge | leave-separate</td><td class="propindex" align="left" valign="top">merge</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#merge-ranges-across-index-key-references"><b>7.25.4 merge-ranges-across-index-key-references</b></a></td><td class="propindex" align="left" valign="top">merge | leave-separate</td><td class="propindex" align="left" valign="top">merge</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#merge-sequential-page-numbers"><b>7.25.5 merge-sequential-page-numbers</b></a></td><td class="propindex" align="left" valign="top">merge | leave-separate</td><td class="propindex" align="left" valign="top">merge</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#min-height"><b>7.16.10 min-height</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit </td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#min-width"><b>7.16.11 min-width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on UA</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#number-columns-repeated"><b>7.29.12 number-columns-repeated</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#number-columns-spanned"><b>7.29.13 number-columns-spanned</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#number-rows-spanned"><b>7.29.14 number-rows-spanned</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt;</td><td class="propindex" align="left" valign="top">1</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#odd-or-even"><b>7.28.16 odd-or-even</b></a></td><td class="propindex" align="left" valign="top">odd | even | any | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#orphans"><b>7.21.6 orphans</b></a></td><td class="propindex" align="left" valign="top">&lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#overflow"><b>7.22.2 overflow</b></a></td><td class="propindex" align="left" valign="top">visible | hidden | scroll | error-if-overflow | repeat | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding"><b>7.32.15 padding</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt;{1,4} | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-after"><b>7.8.31 padding-after</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-before"><b>7.8.32 padding-before</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-bottom"><b>7.8.33 padding-bottom</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-end"><b>7.8.34 padding-end</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-left"><b>7.8.35 padding-left</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-right"><b>7.8.36 padding-right</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-start"><b>7.8.37 padding-start</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | &lt;length-conditional&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting and Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#padding-top"><b>7.8.38 padding-top</b></a></td><td class="propindex" align="left" valign="top">&lt;padding-width&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-break-after"><b>7.32.16 page-break-after</b></a></td><td class="propindex" align="left" valign="top">auto | always | avoid | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-break-before"><b>7.32.17 page-break-before</b></a></td><td class="propindex" align="left" valign="top">auto | always | avoid | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-break-inside"><b>7.32.18 page-break-inside</b></a></td><td class="propindex" align="left" valign="top">avoid | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-citation-strategy"><b>7.31.10 page-citation-strategy</b></a></td><td class="propindex" align="left" valign="top">[ all | normal | non-blank | inherit</td><td class="propindex" align="left" valign="top">all</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-height"><b>7.28.17 page-height</b></a></td><td class="propindex" align="left" valign="top">auto | indefinite | &lt;length&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-number-treatment"><b>7.25.3 page-number-treatment</b></a></td><td class="propindex" align="left" valign="top">link | no-link</td><td class="propindex" align="left" valign="top">no-link</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-position"><b>7.28.18 page-position</b></a></td><td class="propindex" align="left" valign="top">only | first | last | rest | any | inherit</td><td class="propindex" align="left" valign="top">any</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#page-width"><b>7.28.19 page-width</b></a></td><td class="propindex" align="left" valign="top">auto | indefinite | &lt;length&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pause"><b>7.32.19 pause</b></a></td><td class="propindex" align="left" valign="top">[&lt;time&gt; | &lt;percentage&gt;]{1,2} | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pause-after"><b>7.7.5 pause-after</b></a></td><td class="propindex" align="left" valign="top">&lt;time&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pause-before"><b>7.7.6 pause-before</b></a></td><td class="propindex" align="left" valign="top">&lt;time&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pitch"><b>7.7.7 pitch</b></a></td><td class="propindex" align="left" valign="top">&lt;frequency&gt; | x-low | low | medium | high
| x-high | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#pitch-range"><b>7.7.8 pitch-range</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">50</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#play-during"><b>7.7.9 play-during</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; mix? repeat? | auto | none | inherit </td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#position"><b>7.32.20 position</b></a></td><td class="propindex" align="left" valign="top">static | relative | absolute | fixed | inherit</td><td class="propindex" align="left" valign="top">static</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#precedence"><b>7.28.20 precedence</b></a></td><td class="propindex" align="left" valign="top">true | false | inherit</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_region-before" class="el">fo:region-before</a> and <a href="#fo_region-after" class="el">fo:region-after</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#provisional-distance-between-starts"><b>7.31.11 provisional-distance-between-starts</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">24.0pt</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#provisional-label-separation"><b>7.31.12 provisional-label-separation</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">6.0pt</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a></td><td class="propindex" align="left" valign="top"> 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit</td><td class="propindex" align="left" valign="top">0</td><td class="propindex" align="left" valign="top">See prose. </td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#ref-id"><b>7.31.13 ref-id</b></a></td><td class="propindex" align="left" valign="top">&lt;idref&gt; | inherit</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_page-number-citation" class="el">fo:page-number-citation</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#ref-index-key"><b>7.25.7 ref-index-key</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt;</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#region-name"><b>7.28.21 region-name</b></a></td><td class="propindex" align="left" valign="top">xsl-region-body | xsl-region-start | xsl-region-end
| xsl-region-before | xsl-region-after |
&lt;name&gt;</td><td class="propindex" align="left" valign="top">see prose</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#region-name-reference"><b>7.28.22 region-name-reference</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">none, a value is required</td><td class="propindex" align="left" valign="top">Specification</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_flow-map" class="el">fo:flow-map</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#relative-align"><b>7.15.9 relative-align</b></a></td><td class="propindex" align="left" valign="top">before | baseline
| inherit</td><td class="propindex" align="left" valign="top">before</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#relative-position"><b>7.13.4 relative-position</b></a></td><td class="propindex" align="left" valign="top">static | relative | inherit</td><td class="propindex" align="left" valign="top">static</td><td class="propindex" align="left" valign="top">See prose. </td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#rendering-intent"><b>7.19.3 rendering-intent</b></a></td><td class="propindex" align="left" valign="top">auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_color-profile" class="el">fo:color-profile</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-boundary"><b>7.26.4 retrieve-boundary</b></a></td><td class="propindex" align="left" valign="top">page | page-sequence | document</td><td class="propindex" align="left" valign="top">page-sequence</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-boundary-within-table"><b>7.26.2 retrieve-boundary-within-table</b></a></td><td class="propindex" align="left" valign="top">table | table-fragment | page</td><td class="propindex" align="left" valign="top">table</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-class-name"><b>7.26.3 retrieve-class-name</b></a></td><td class="propindex" align="left" valign="top">&lt;name&gt;</td><td class="propindex" align="left" valign="top">an empty name</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-position"><b>7.26.5 retrieve-position</b></a></td><td class="propindex" align="left" valign="top">first-starting-within-page | first-including-carryover |
last-starting-within-page | last-ending-within-page</td><td class="propindex" align="left" valign="top">first-starting-within-page</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#retrieve-position-within-table"><b>7.26.6 retrieve-position-within-table</b></a></td><td class="propindex" align="left" valign="top">first-starting | first-including-carryover |
last-starting | last-ending</td><td class="propindex" align="left" valign="top">first-starting</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#richness"><b>7.7.10 richness</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">50</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#right"><b>7.6.4 right</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#absolute-position" class="property">absolute-position</a>, <a href="#relative-position" class="property">relative-position</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#role"><b>7.5.2 role</b></a></td><td class="propindex" align="left" valign="top">&lt;string&gt; | &lt;uri-specification&gt; | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#rule-style"><b>7.23.5 rule-style</b></a></td><td class="propindex" align="left" valign="top">none | dotted | dashed | solid | double | groove
| ridge | inherit</td><td class="propindex" align="left" valign="top">solid</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#rule-thickness"><b>7.23.6 rule-thickness</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;</td><td class="propindex" align="left" valign="top">1.0pt</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#scale-option"><b>7.31.14 scale-option</b></a></td><td class="propindex" align="left" valign="top"><a href="#width" class="property">width</a> | <a href="#height" class="property">height</a> | inherit</td><td class="propindex" align="left" valign="top"><a href="#width" class="property">width</a></td><td class="propindex" align="left" valign="top">Refine</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#scaling"><b>7.16.12 scaling</b></a></td><td class="propindex" align="left" valign="top">uniform | non-uniform | inherit</td><td class="propindex" align="left" valign="top">uniform</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#scaling-method"><b>7.16.13 scaling-method</b></a></td><td class="propindex" align="left" valign="top">auto | integer-pixels | resample-any-method | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#score-spaces"><b>7.31.15 score-spaces</b></a></td><td class="propindex" align="left" valign="top">true | false | inherit</td><td class="propindex" align="left" valign="top">true</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#script"><b>7.10.7 script</b></a></td><td class="propindex" align="left" valign="top">none | auto | &lt;<a href="#script" class="property">script</a>&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: none</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#show-destination"><b>7.24.9 show-destination</b></a></td><td class="propindex" align="left" valign="top">replace | new</td><td class="propindex" align="left" valign="top">replace</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#size"><b>7.32.21 size</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt;{1,2} | auto | landscape | portrait
| inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#source-document"><b>7.5.1 source-document</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; [&lt;uri-specification&gt;]* | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-after"><b>7.11.6 space-after</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-before"><b>7.11.7 space-before</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-end"><b>7.12.5 space-end</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#space-start"><b>7.12.6 space-start</b></a></td><td class="propindex" align="left" valign="top">&lt;space&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">space.minimum=0pt, .optimum=0pt, .maximum=0pt,
.conditionality=discard, .<a href="#precedence" class="property">precedence</a>=0</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#span"><b>7.22.4 span</b></a></td><td class="propindex" align="left" valign="top">none | all | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak"><b>7.7.11 speak</b></a></td><td class="propindex" align="left" valign="top">normal | none | spell-out | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak-header"><b>7.7.12 speak-header</b></a></td><td class="propindex" align="left" valign="top">once | always | inherit</td><td class="propindex" align="left" valign="top">once</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak-numeral"><b>7.7.13 speak-numeral</b></a></td><td class="propindex" align="left" valign="top">digits | continuous | inherit</td><td class="propindex" align="left" valign="top">continuous</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speak-punctuation"><b>7.7.14 speak-punctuation</b></a></td><td class="propindex" align="left" valign="top">code | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#speech-rate"><b>7.7.15 speech-rate</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | x-slow | slow | medium | fast
| x-fast | faster | slower | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#src"><b>7.31.16 src</b></a></td><td class="propindex" align="left" valign="top">&lt;uri-specification&gt; | inherit</td><td class="propindex" align="left" valign="top">none, value required</td><td class="propindex" align="left" valign="top">Reference</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#start-indent"><b>7.11.8 start-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#starting-state"><b>7.24.10 starting-state</b></a></td><td class="propindex" align="left" valign="top">show | hide</td><td class="propindex" align="left" valign="top">show</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_multi-switch" class="el">fo:multi-switch</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#starts-row"><b>7.29.15 starts-row</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#stress"><b>7.7.16 stress</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | inherit</td><td class="propindex" align="left" valign="top">50</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#suppress-at-line-break"><b>7.18.3 suppress-at-line-break</b></a></td><td class="propindex" align="left" valign="top">auto | suppress | retain | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#switch-to"><b>7.24.11 switch-to</b></a></td><td class="propindex" align="left" valign="top">xsl-preceding | xsl-following | xsl-any | &lt;name&gt;[ &lt;name&gt;]*</td><td class="propindex" align="left" valign="top">xsl-any</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_multi-switch" class="el">fo:multi-switch</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#table-layout"><b>7.29.16 table-layout</b></a></td><td class="propindex" align="left" valign="top">auto | fixed | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: fixed</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#table-omit-footer-at-break"><b>7.29.17 table-omit-footer-at-break</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#table-omit-header-at-break"><b>7.29.18 table-omit-header-at-break</b></a></td><td class="propindex" align="left" valign="top">true | false</td><td class="propindex" align="left" valign="top">false</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#target-presentation-context"><b>7.24.12 target-presentation-context</b></a></td><td class="propindex" align="left" valign="top">use-target-processing-context | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">use-target-processing-context</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#target-processing-context"><b>7.24.13 target-processing-context</b></a></td><td class="propindex" align="left" valign="top">document-root | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">document-root</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#target-stylesheet"><b>7.24.14 target-stylesheet</b></a></td><td class="propindex" align="left" valign="top">use-normal-stylesheet | &lt;uri-specification&gt;</td><td class="propindex" align="left" valign="top">use-normal-stylesheet</td><td class="propindex" align="left" valign="top">Action</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A use fallback for <a href="#fo_basic-link" class="el">fo:basic-link</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-align"><b>7.17.8 text-align</b></a></td><td class="propindex" align="left" valign="top">start | center | end | justify | inside | outside
| <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | &lt;string&gt; | inherit</td><td class="propindex" align="left" valign="top">start</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-align-last"><b>7.17.9 text-align-last</b></a></td><td class="propindex" align="left" valign="top">relative | start | center | end | justify | inside
| outside | <a href="#left" class="property">left</a> | <a href="#right" class="property">right</a> | inherit</td><td class="propindex" align="left" valign="top">relative</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-altitude"><b>7.30.4 text-altitude</b></a></td><td class="propindex" align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">use-font-metrics</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-decoration"><b>7.18.4 text-decoration</b></a></td><td class="propindex" align="left" valign="top">none | [ [ underline | no-underline] || [ overline | no-overline ]
|| [ line-through | no-line-through ] || [ blink | no-blink ] ]
| inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">See prose. </td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-depth"><b>7.30.5 text-depth</b></a></td><td class="propindex" align="left" valign="top">use-font-metrics | &lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">use-font-metrics</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-indent"><b>7.17.10 text-indent</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | inherit</td><td class="propindex" align="left" valign="top">0pt</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-shadow"><b>7.18.5 text-shadow</b></a></td><td class="propindex" align="left" valign="top">none | [&lt;color&gt; || &lt;length&gt; &lt;length&gt; &lt;length&gt;?
,]* [&lt;color&gt; || &lt;length&gt; &lt;length&gt; &lt;length&gt;?] | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#text-transform"><b>7.18.6 text-transform</b></a></td><td class="propindex" align="left" valign="top">capitalize | uppercase | lowercase | none | inherit</td><td class="propindex" align="left" valign="top">none</td><td class="propindex" align="left" valign="top">Refine</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#top"><b>7.6.5 top</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#absolute-position" class="property">absolute-position</a>, <a href="#relative-position" class="property">relative-position</a></p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#treat-as-word-space"><b>7.18.7 treat-as-word-space</b></a></td><td class="propindex" align="left" valign="top">auto | true | false | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#unicode-bidi"><b>7.30.6 unicode-bidi</b></a></td><td class="propindex" align="left" valign="top">normal | embed | bidi-override | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: See prose</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#vertical-align"><b>7.32.22 vertical-align</b></a></td><td class="propindex" align="left" valign="top">baseline | middle | sub | super | text-top |
text-bottom | &lt;percentage&gt; | &lt;length&gt; | top | <a href="#bottom" class="property">bottom</a> | inherit</td><td class="propindex" align="left" valign="top">baseline</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#visibility"><b>7.31.17 visibility</b></a></td><td class="propindex" align="left" valign="top">visible | hidden | collapse | inherit</td><td class="propindex" align="left" valign="top">visible</td><td class="propindex" align="left" valign="top">Magic</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#voice-family"><b>7.7.17 voice-family</b></a></td><td class="propindex" align="left" valign="top">[[&lt;specific-voice&gt; | &lt;generic-voice&gt;
],]* [&lt;specific-voice&gt; | &lt;generic-voice&gt; ] | inherit</td><td class="propindex" align="left" valign="top">depends on user agent</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#volume"><b>7.7.18 volume</b></a></td><td class="propindex" align="left" valign="top">&lt;number&gt; | &lt;percentage&gt; | silent | x-soft
| soft | medium | loud | x-loud | inherit</td><td class="propindex" align="left" valign="top">medium</td><td class="propindex" align="left" valign="top">Rendering</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#white-space"><b>7.32.23 white-space</b></a></td><td class="propindex" align="left" valign="top">normal | pre | nowrap | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#white-space-collapse"><b>7.17.11 white-space-collapse</b></a></td><td class="propindex" align="left" valign="top">false | true | inherit</td><td class="propindex" align="left" valign="top">true</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#white-space-treatment"><b>7.17.12 white-space-treatment</b></a></td><td class="propindex" align="left" valign="top">ignore | preserve | ignore-if-before-linefeed |
ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit</td><td class="propindex" align="left" valign="top">ignore-if-surrounding-linefeed</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#widows"><b>7.21.7 widows</b></a></td><td class="propindex" align="left" valign="top">&lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top">2</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#width"><b>7.16.14 width</b></a></td><td class="propindex" align="left" valign="top">&lt;length&gt; | &lt;percentage&gt; | auto | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></td><td class="propindex" align="left" valign="top">normal | &lt;length&gt; | &lt;space&gt; | inherit</td><td class="propindex" align="left" valign="top">normal</td><td class="propindex" align="left" valign="top">Disappears</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: Initial value</p></td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></td><td class="propindex" align="left" valign="top">no-wrap | wrap | inherit</td><td class="propindex" align="left" valign="top">wrap</td><td class="propindex" align="left" valign="top">Formatting</td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></td><td class="propindex" align="left" valign="top">lr-tb |
rl-tb |
tb-rl |
tb-lr |
bt-lr |
bt-rl |
lr-bt |
rl-bt |
lr-alternating-rl-bt |
lr-alternating-rl-tb |
lr-inverting-rl-bt |
lr-inverting-rl-tb |
tb-lr-in-lr-pairs |
lr |
rl |
tb |
inherit</td><td class="propindex" align="left" valign="top">lr-tb</td><td class="propindex" align="left" valign="top">See prose. </td><td class="propindex" align="left" valign="top">Basic</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#xml.lang"><b>7.32.24 xml:lang</b></a></td><td class="propindex" align="left" valign="top">&lt;language-country&gt; | inherit</td><td class="propindex" align="left" valign="top">not defined for shorthand properties</td><td class="propindex" align="left" valign="top">Shorthand</td><td class="propindex" align="left" valign="top">Complete</td></tr><tr valign="baseline" align="left"><td class="propindex" align="left" valign="top"><a href="#z-index"><b>7.31.18 z-index</b></a></td><td class="propindex" align="left" valign="top">auto | &lt;integer&gt; | inherit</td><td class="propindex" align="left" valign="top">auto</td><td class="propindex" align="left" valign="top">Value change</td><td class="propindex" align="left" valign="top"><p>Extended.</p><p>Fallback: N/A due to fallback for <a href="#fo_block-container" class="el">fo:block-container</a></p></td></tr></tbody></table></div><div class="div2">
<h3><a name="prapply" id="prapply"/>B.4 Properties and the FOs they apply to</h3><p>For each property the formatting objects it applies to is
listed. It should be noted, however, that for some formatting objects
there are qualifications on applicability or values permitted.</p><p>Property <a href="#absolute-position" class="property">absolute-position</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>.</p><p>Property <a href="#active-state" class="property">active-state</a> applies to:
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>.</p><p>Property <a href="#alignment-adjust" class="property">alignment-adjust</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#alignment-baseline" class="property">alignment-baseline</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#allowed-height-scale" class="property">allowed-height-scale</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#allowed-width-scale" class="property">allowed-width-scale</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#auto-restore" class="property">auto-restore</a> applies to:
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>.</p><p>Property <a href="#azimuth" class="property">azimuth</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#background-attachment" class="property">background-attachment</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#background-color" class="property">background-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#background-image" class="property">background-image</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#background-position-horizontal" class="property">background-position-horizontal</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#background-position-vertical" class="property">background-position-vertical</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#background-repeat" class="property">background-repeat</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#baseline-shift" class="property">baseline-shift</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#blank-or-not-blank" class="property">blank-or-not-blank</a> applies to:
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>.</p><p>Property <a href="#block-progression-dimension" class="property">block-progression-dimension</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#border-after-color" class="property">border-after-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-after-precedence" class="property">border-after-precedence</a> applies to:
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#border-after-style" class="property">border-after-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-after-width" class="property">border-after-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-before-color" class="property">border-before-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-before-precedence" class="property">border-before-precedence</a> applies to:
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#border-before-style" class="property">border-before-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-before-width" class="property">border-before-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-bottom-color" class="property">border-bottom-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-bottom-style" class="property">border-bottom-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-bottom-width" class="property">border-bottom-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-collapse" class="property">border-collapse</a> applies to:
<a href="#fo_table" class="el">fo:table</a>.</p><p>Property <a href="#border-end-color" class="property">border-end-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-end-precedence" class="property">border-end-precedence</a> applies to:
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#border-end-style" class="property">border-end-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-end-width" class="property">border-end-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-left-color" class="property">border-left-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-left-style" class="property">border-left-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-left-width" class="property">border-left-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-right-color" class="property">border-right-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-right-style" class="property">border-right-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-right-width" class="property">border-right-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-separation" class="property">border-separation</a> applies to:
<a href="#fo_table" class="el">fo:table</a>.</p><p>Property <a href="#border-start-color" class="property">border-start-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-start-precedence" class="property">border-start-precedence</a> applies to:
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#border-start-style" class="property">border-start-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-start-width" class="property">border-start-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-top-color" class="property">border-top-color</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-top-style" class="property">border-top-style</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#border-top-width" class="property">border-top-width</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#bottom" class="property">bottom</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>.</p><p>Property <a href="#bottom" class="property">bottom</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#break-after" class="property">break-after</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#break-before" class="property">break-before</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#caption-side" class="property">caption-side</a> applies to:
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>.</p><p>Property <a href="#case-name" class="property">case-name</a> applies to:
<a href="#fo_multi-case" class="el">fo:multi-case</a>.</p><p>Property <a href="#case-title" class="property">case-title</a> applies to:
<a href="#fo_multi-case" class="el">fo:multi-case</a>.</p><p>Property <a href="#change-bar-class" class="property">change-bar-class</a> applies to:
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#change-bar-color" class="property">change-bar-color</a> applies to:
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>Property <a href="#change-bar-offset" class="property">change-bar-offset</a> applies to:
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>Property <a href="#change-bar-placement" class="property">change-bar-placement</a> applies to:
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>Property <a href="#change-bar-style" class="property">change-bar-style</a> applies to:
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>Property <a href="#change-bar-width" class="property">change-bar-width</a> applies to:
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p><p>Property <a href="#character" class="property">character</a> applies to:
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#clear" class="property">clear</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_float" class="el">fo:float</a>.</p><p>Property <a href="#clip" class="property">clip</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>, and
<a href="#fo_inline-container" class="el">fo:inline-container</a>.</p><p>Property <a href="#color" class="property">color</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>, and
<a href="#fo_bookmark-title" class="el">fo:bookmark-title</a>.</p><p>Property <a href="#color-profile-name" class="property">color-profile-name</a> applies to:
<a href="#fo_color-profile" class="el">fo:color-profile</a>.</p><p>Property <a href="#column-count" class="property">column-count</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>.</p><p>Property <a href="#column-gap" class="property">column-gap</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>.</p><p>Property <a href="#column-number" class="property">column-number</a> applies to:
<a href="#fo_table-column" class="el">fo:table-column</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#column-width" class="property">column-width</a> applies to:
<a href="#fo_table-column" class="el">fo:table-column</a>.</p><p>Property <a href="#content-height" class="property">content-height</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#content-type" class="property">content-type</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#content-width" class="property">content-width</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#country" class="property">country</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#cue-after" class="property">cue-after</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#cue-before" class="property">cue-before</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#destination-placement-offset" class="property">destination-placement-offset</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#direction" class="property">direction</a> applies to:
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>.</p><p>Property <a href="#display-align" class="property">display-align</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#dominant-baseline" class="property">dominant-baseline</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#elevation" class="property">elevation</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#empty-cells" class="property">empty-cells</a> applies to:
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#end-indent" class="property">end-indent</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#ends-row" class="property">ends-row</a> applies to:
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#extent" class="property">extent</a> applies to:
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>, and
<a href="#fo_region-end" class="el">fo:region-end</a>.</p><p>Property <a href="#external-destination" class="property">external-destination</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>, and
<a href="#fo_bookmark" class="el">fo:bookmark</a>.</p><p>Property <a href="#float" class="property">float</a> applies to:
<a href="#fo_float" class="el">fo:float</a>.</p><p>Property <a href="#flow-map-name" class="property">flow-map-name</a> applies to:
<a href="#fo_flow-map" class="el">fo:flow-map</a>.</p><p>Property <a href="#flow-map-reference" class="property">flow-map-reference</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><p>Property <a href="#flow-name" class="property">flow-name</a> applies to:
<a href="#fo_flow" class="el">fo:flow</a>, and
<a href="#fo_static-content" class="el">fo:static-content</a>.</p><p>Property <a href="#flow-name-reference" class="property">flow-name-reference</a> applies to:
<a href="#fo_flow-name-specifier" class="el">fo:flow-name-specifier</a>.</p><p>Property <a href="#font-family" class="property">font-family</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-selection-strategy" class="property">font-selection-strategy</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-size" class="property">font-size</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-size-adjust" class="property">font-size-adjust</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-stretch" class="property">font-stretch</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-style" class="property">font-style</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-variant" class="property">font-variant</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#font-weight" class="property">font-weight</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#force-page-count" class="property">force-page-count</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><p>Property <a href="#format" class="property">format</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#glyph-orientation-horizontal" class="property">glyph-orientation-horizontal</a> applies to:
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#glyph-orientation-vertical" class="property">glyph-orientation-vertical</a> applies to:
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#grouping-separator" class="property">grouping-separator</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#grouping-size" class="property">grouping-size</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#height" class="property">height</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#hyphenate" class="property">hyphenate</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#hyphenation-character" class="property">hyphenation-character</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#hyphenation-keep" class="property">hyphenation-keep</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#hyphenation-ladder-count" class="property">hyphenation-ladder-count</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#hyphenation-push-character-count" class="property">hyphenation-push-character-count</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#hyphenation-remain-character-count" class="property">hyphenation-remain-character-count</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#id" class="property">id</a> applies to:
<a href="#fo_root" class="el">fo:root</a>,
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
<a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>,
<a href="#fo_flow" class="el">fo:flow</a>,
<a href="#fo_static-content" class="el">fo:static-content</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>,
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>,
<a href="#fo_multi-case" class="el">fo:multi-case</a>,
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>,
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>,
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>,
<a href="#fo_float" class="el">fo:float</a>,
<a href="#fo_footnote" class="el">fo:footnote</a>,
<a href="#fo_footnote-body" class="el">fo:footnote-body</a>, and
<a href="#fo_wrapper" class="el">fo:wrapper</a>.</p><p>Property <a href="#index-class" class="property">index-class</a> applies to:
<a href="#fo_root" class="el">fo:root</a>,
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
<a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>,
<a href="#fo_flow" class="el">fo:flow</a>,
<a href="#fo_static-content" class="el">fo:static-content</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>,
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>,
<a href="#fo_multi-case" class="el">fo:multi-case</a>,
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>,
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>,
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>,
<a href="#fo_float" class="el">fo:float</a>,
<a href="#fo_footnote" class="el">fo:footnote</a>,
<a href="#fo_footnote-body" class="el">fo:footnote-body</a>, and
<a href="#fo_wrapper" class="el">fo:wrapper</a>.</p><p>Property <a href="#index-key" class="property">index-key</a> applies to:
<a href="#fo_root" class="el">fo:root</a>,
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
<a href="#fo_page-sequence-wrapper" class="el">fo:page-sequence-wrapper</a>,
<a href="#fo_flow" class="el">fo:flow</a>,
<a href="#fo_static-content" class="el">fo:static-content</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>,
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>,
<a href="#fo_multi-case" class="el">fo:multi-case</a>,
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>,
<a href="#fo_multi-property-set" class="el">fo:multi-property-set</a>,
<a href="#fo_index-range-begin" class="el">fo:index-range-begin</a>,
<a href="#fo_float" class="el">fo:float</a>,
<a href="#fo_footnote" class="el">fo:footnote</a>,
<a href="#fo_footnote-body" class="el">fo:footnote-body</a>, and
<a href="#fo_wrapper" class="el">fo:wrapper</a>.</p><p>Property <a href="#indicate-destination" class="property">indicate-destination</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#initial-page-number" class="property">initial-page-number</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>.</p><p>Property <a href="#inline-progression-dimension" class="property">inline-progression-dimension</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#internal-destination" class="property">internal-destination</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>, and
<a href="#fo_bookmark" class="el">fo:bookmark</a>.</p><p>Property <a href="#intrinsic-scale-value" class="property">intrinsic-scale-value</a> applies to:
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#intrusion-displace" class="property">intrusion-displace</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#keep-together" class="property">keep-together</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>,
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#keep-with-next" class="property">keep-with-next</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#keep-with-previous" class="property">keep-with-previous</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#language" class="property">language</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#last-line-end-indent" class="property">last-line-end-indent</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#leader-alignment" class="property">leader-alignment</a> applies to:
<a href="#fo_leader" class="el">fo:leader</a>.</p><p>Property <a href="#leader-length" class="property">leader-length</a> applies to:
<a href="#fo_leader" class="el">fo:leader</a>.</p><p>Property <a href="#leader-pattern" class="property">leader-pattern</a> applies to:
<a href="#fo_leader" class="el">fo:leader</a>.</p><p>Property <a href="#leader-pattern-width" class="property">leader-pattern-width</a> applies to:
<a href="#fo_leader" class="el">fo:leader</a>.</p><p>Property <a href="#left" class="property">left</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>.</p><p>Property <a href="#left" class="property">left</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#letter-spacing" class="property">letter-spacing</a> applies to:
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#letter-value" class="property">letter-value</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#linefeed-treatment" class="property">linefeed-treatment</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#line-height" class="property">line-height</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#line-height-shift-adjustment" class="property">line-height-shift-adjustment</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#line-stacking-strategy" class="property">line-stacking-strategy</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#margin-bottom" class="property">margin-bottom</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#margin-bottom" class="property">margin-bottom</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#margin-left" class="property">margin-left</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#margin-left" class="property">margin-left</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#margin-right" class="property">margin-right</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#margin-right" class="property">margin-right</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#margin-top" class="property">margin-top</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#margin-top" class="property">margin-top</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#marker-class-name" class="property">marker-class-name</a> applies to:
<a href="#fo_marker" class="el">fo:marker</a>.</p><p>Property <a href="#master-name" class="property">master-name</a> applies to:
<a href="#fo_page-sequence-master" class="el">fo:page-sequence-master</a>, and
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>.</p><p>Property <a href="#master-reference" class="property">master-reference</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
<a href="#fo_single-page-master-reference" class="el">fo:single-page-master-reference</a>,
<a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>, and
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>.</p><p>Property <a href="#maximum-repeats" class="property">maximum-repeats</a> applies to:
<a href="#fo_repeatable-page-master-reference" class="el">fo:repeatable-page-master-reference</a>, and
<a href="#fo_repeatable-page-master-alternatives" class="el">fo:repeatable-page-master-alternatives</a>.</p><p>Property <a href="#media-usage" class="property">media-usage</a> applies to:
<a href="#fo_root" class="el">fo:root</a>.</p><p>Property <a href="#merge-pages-across-index-key-references" class="property">merge-pages-across-index-key-references</a> applies to:
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>.</p><p>Property <a href="#merge-ranges-across-index-key-references" class="property">merge-ranges-across-index-key-references</a> applies to:
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>.</p><p>Property <a href="#merge-sequential-page-numbers" class="property">merge-sequential-page-numbers</a> applies to:
<a href="#fo_index-page-citation-list" class="el">fo:index-page-citation-list</a>.</p><p>Property <a href="#number-columns-repeated" class="property">number-columns-repeated</a> applies to:
<a href="#fo_table-column" class="el">fo:table-column</a>.</p><p>Property <a href="#number-columns-spanned" class="property">number-columns-spanned</a> applies to:
<a href="#fo_table-column" class="el">fo:table-column</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#number-rows-spanned" class="property">number-rows-spanned</a> applies to:
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#odd-or-even" class="property">odd-or-even</a> applies to:
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>.</p><p>Property <a href="#orphans" class="property">orphans</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#overflow" class="property">overflow</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>, and
<a href="#fo_inline-container" class="el">fo:inline-container</a>.</p><p>Property <a href="#padding-after" class="property">padding-after</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-before" class="property">padding-before</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-bottom" class="property">padding-bottom</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-end" class="property">padding-end</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-left" class="property">padding-left</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-right" class="property">padding-right</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-start" class="property">padding-start</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#padding-top" class="property">padding-top</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#page-citation-strategy" class="property">page-citation-strategy</a> applies to:
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>.</p><p>Property <a href="#page-height" class="property">page-height</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>.</p><p>Property <a href="#page-number-treatment" class="property">page-number-treatment</a> applies to:
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p><p>Property <a href="#page-position" class="property">page-position</a> applies to:
<a href="#fo_conditional-page-master-reference" class="el">fo:conditional-page-master-reference</a>.</p><p>Property <a href="#page-width" class="property">page-width</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>.</p><p>Property <a href="#pause-after" class="property">pause-after</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#pause-before" class="property">pause-before</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#pitch" class="property">pitch</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#pitch-range" class="property">pitch-range</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#play-during" class="property">play-during</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#precedence" class="property">precedence</a> applies to:
<a href="#fo_region-before" class="el">fo:region-before</a>, and
<a href="#fo_region-after" class="el">fo:region-after</a>.</p><p>Property <a href="#provisional-distance-between-starts" class="property">provisional-distance-between-starts</a> applies to:
<a href="#fo_list-block" class="el">fo:list-block</a>.</p><p>Property <a href="#provisional-label-separation" class="property">provisional-label-separation</a> applies to:
<a href="#fo_list-block" class="el">fo:list-block</a>.</p><p>Property <a href="#reference-orientation" class="property">reference-orientation</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>, and
<a href="#fo_inline-container" class="el">fo:inline-container</a>.</p><p>Property <a href="#ref-id" class="property">ref-id</a> applies to:
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_index-range-end" class="el">fo:index-range-end</a>.</p><p>Property <a href="#ref-index-key" class="property">ref-index-key</a> applies to:
<a href="#fo_index-key-reference" class="el">fo:index-key-reference</a>.</p><p>Property <a href="#region-name" class="property">region-name</a> applies to:
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>, and
<a href="#fo_region-end" class="el">fo:region-end</a>.</p><p>Property <a href="#region-name-reference" class="property">region-name-reference</a> applies to:
<a href="#fo_region-name-specifier" class="el">fo:region-name-specifier</a>.</p><p>Property <a href="#relative-align" class="property">relative-align</a> applies to:
<a href="#fo_table-cell" class="el">fo:table-cell</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#relative-position" class="property">relative-position</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#rendering-intent" class="property">rendering-intent</a> applies to:
<a href="#fo_color-profile" class="el">fo:color-profile</a>.</p><p>Property <a href="#retrieve-boundary" class="property">retrieve-boundary</a> applies to:
<a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>.</p><p>Property <a href="#retrieve-boundary-within-table" class="property">retrieve-boundary-within-table</a> applies to:
<a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p>Property <a href="#retrieve-class-name" class="property">retrieve-class-name</a> applies to:
<a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>, and
<a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p>Property <a href="#retrieve-position" class="property">retrieve-position</a> applies to:
<a href="#fo_retrieve-marker" class="el">fo:retrieve-marker</a>.</p><p>Property <a href="#retrieve-position-within-table" class="property">retrieve-position-within-table</a> applies to:
<a href="#fo_retrieve-table-marker" class="el">fo:retrieve-table-marker</a>.</p><p>Property <a href="#richness" class="property">richness</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#right" class="property">right</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>.</p><p>Property <a href="#right" class="property">right</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#role" class="property">role</a> applies to:
<a href="#fo_root" class="el">fo:root</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>,
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>,
<a href="#fo_multi-case" class="el">fo:multi-case</a>,
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>,
<a href="#fo_multi-properties" class="el">fo:multi-properties</a>,
<a href="#fo_bookmark" class="el">fo:bookmark</a>,
<a href="#fo_bookmark-title" class="el">fo:bookmark-title</a>,
<a href="#fo_footnote" class="el">fo:footnote</a>,
<a href="#fo_footnote-body" class="el">fo:footnote-body</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#rule-style" class="property">rule-style</a> applies to:
<a href="#fo_leader" class="el">fo:leader</a>.</p><p>Property <a href="#rule-thickness" class="property">rule-thickness</a> applies to:
<a href="#fo_leader" class="el">fo:leader</a>.</p><p>Property <a href="#scale-option" class="property">scale-option</a> applies to:
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#scaling" class="property">scaling</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#scaling-method" class="property">scaling-method</a> applies to:
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>, and
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>.</p><p>Property <a href="#score-spaces" class="property">score-spaces</a> applies to:
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#script" class="property">script</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#show-destination" class="property">show-destination</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#source-document" class="property">source-document</a> applies to:
<a href="#fo_root" class="el">fo:root</a>,
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_list-item-body" class="el">fo:list-item-body</a>,
<a href="#fo_list-item-label" class="el">fo:list-item-label</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_multi-switch" class="el">fo:multi-switch</a>,
<a href="#fo_multi-case" class="el">fo:multi-case</a>,
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>,
<a href="#fo_multi-properties" class="el">fo:multi-properties</a>,
<a href="#fo_bookmark" class="el">fo:bookmark</a>,
<a href="#fo_bookmark-title" class="el">fo:bookmark-title</a>,
<a href="#fo_footnote" class="el">fo:footnote</a>,
<a href="#fo_footnote-body" class="el">fo:footnote-body</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#space-after" class="property">space-after</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#space-before" class="property">space-before</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#space-end" class="property">space-end</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#space-start" class="property">space-start</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#span" class="property">span</a> applies to:
<a href="#fo_block" class="el">fo:block</a>, and
<a href="#fo_block-container" class="el">fo:block-container</a>.</p><p>Property <a href="#speak" class="property">speak</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#speak-header" class="property">speak-header</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#speak-numeral" class="property">speak-numeral</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#speak-punctuation" class="property">speak-punctuation</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#speech-rate" class="property">speech-rate</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#src" class="property">src</a> applies to:
<a href="#fo_color-profile" class="el">fo:color-profile</a>, and
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>.</p><p>Property <a href="#start-indent" class="property">start-indent</a> applies to:
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>, and
<a href="#fo_list-item" class="el">fo:list-item</a>.</p><p>Property <a href="#starting-state" class="property">starting-state</a> applies to:
<a href="#fo_multi-case" class="el">fo:multi-case</a>, and
<a href="#fo_bookmark" class="el">fo:bookmark</a>.</p><p>Property <a href="#starts-row" class="property">starts-row</a> applies to:
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#stress" class="property">stress</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#suppress-at-line-break" class="property">suppress-at-line-break</a> applies to:
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#switch-to" class="property">switch-to</a> applies to:
<a href="#fo_multi-toggle" class="el">fo:multi-toggle</a>.</p><p>Property <a href="#table-layout" class="property">table-layout</a> applies to:
<a href="#fo_table" class="el">fo:table</a>.</p><p>Property <a href="#table-omit-footer-at-break" class="property">table-omit-footer-at-break</a> applies to:
<a href="#fo_table" class="el">fo:table</a>.</p><p>Property <a href="#table-omit-header-at-break" class="property">table-omit-header-at-break</a> applies to:
<a href="#fo_table" class="el">fo:table</a>.</p><p>Property <a href="#target-presentation-context" class="property">target-presentation-context</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#target-processing-context" class="property">target-processing-context</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#target-stylesheet" class="property">target-stylesheet</a> applies to:
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#text-align" class="property">text-align</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>, and
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>.</p><p>Property <a href="#text-align-last" class="property">text-align-last</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#text-altitude" class="property">text-altitude</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#text-decoration" class="property">text-decoration</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#text-depth" class="property">text-depth</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#text-indent" class="property">text-indent</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#text-shadow" class="property">text-shadow</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#text-transform" class="property">text-transform</a> applies to:
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#top" class="property">top</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>.</p><p>Property <a href="#top" class="property">top</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>, and
<a href="#fo_basic-link" class="el">fo:basic-link</a>.</p><p>Property <a href="#treat-as-word-space" class="property">treat-as-word-space</a> applies to:
<a href="#fo_character" class="el">fo:character</a>.</p><p>Property <a href="#unicode-bidi" class="property">unicode-bidi</a> applies to:
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>.</p><p>Property <a href="#visibility" class="property">visibility</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-column" class="el">fo:table-column</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>, and
<a href="#fo_table-row" class="el">fo:table-row</a>.</p><p>Property <a href="#voice-family" class="property">voice-family</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#volume" class="property">volume</a> applies to:
<a href="#fo_title" class="el">fo:title</a>,
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>,
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>,
<a href="#fo_table-and-caption" class="el">fo:table-and-caption</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>,
<a href="#fo_table-header" class="el">fo:table-header</a>,
<a href="#fo_table-footer" class="el">fo:table-footer</a>,
<a href="#fo_table-body" class="el">fo:table-body</a>,
<a href="#fo_table-row" class="el">fo:table-row</a>,
<a href="#fo_table-cell" class="el">fo:table-cell</a>,
<a href="#fo_list-block" class="el">fo:list-block</a>,
<a href="#fo_list-item" class="el">fo:list-item</a>,
<a href="#fo_basic-link" class="el">fo:basic-link</a>,
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>, and
<a href="#fo_change-bar-end" class="el">fo:change-bar-end</a>.</p><p>Property <a href="#white-space-collapse" class="property">white-space-collapse</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#white-space-treatment" class="property">white-space-treatment</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#widows" class="property">widows</a> applies to:
<a href="#fo_block" class="el">fo:block</a>.</p><p>Property <a href="#width" class="property">width</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_external-graphic" class="el">fo:external-graphic</a>,
<a href="#fo_instream-foreign-object" class="el">fo:instream-foreign-object</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>,
<a href="#fo_table" class="el">fo:table</a>,
<a href="#fo_table-caption" class="el">fo:table-caption</a>, and
<a href="#fo_table-cell" class="el">fo:table-cell</a>.</p><p>Property <a href="#word-spacing" class="property">word-spacing</a> applies to:
<a href="#fo_bidi-override" class="el">fo:bidi-override</a>,
<a href="#fo_character" class="el">fo:character</a>,
<a href="#fo_initial-property-set" class="el">fo:initial-property-set</a>,
<a href="#fo_leader" class="el">fo:leader</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#wrap-option" class="property">wrap-option</a> applies to:
<a href="#fo_block" class="el">fo:block</a>,
<a href="#fo_inline" class="el">fo:inline</a>,
<a href="#fo_page-number" class="el">fo:page-number</a>,
<a href="#fo_page-number-citation" class="el">fo:page-number-citation</a>,
<a href="#fo_page-number-citation-last" class="el">fo:page-number-citation-last</a>, and
<a href="#fo_scaling-value-citation" class="el">fo:scaling-value-citation</a>.</p><p>Property <a href="#writing-mode" class="property">writing-mode</a> applies to:
<a href="#fo_page-sequence" class="el">fo:page-sequence</a>,
<a href="#fo_simple-page-master" class="el">fo:simple-page-master</a>,
<a href="#fo_region-body" class="el">fo:region-body</a>,
<a href="#fo_region-before" class="el">fo:region-before</a>,
<a href="#fo_region-after" class="el">fo:region-after</a>,
<a href="#fo_region-start" class="el">fo:region-start</a>,
<a href="#fo_region-end" class="el">fo:region-end</a>,
<a href="#fo_block-container" class="el">fo:block-container</a>,
<a href="#fo_inline-container" class="el">fo:inline-container</a>, and
<a href="#fo_table" class="el">fo:table</a>.</p><p>Property <a href="#z-index" class="property">z-index</a> applies to:
<a href="#fo_block-container" class="el">fo:block-container</a>, and
<a href="#fo_change-bar-begin" class="el">fo:change-bar-begin</a>.</p></div></div><div class="div1">
<h2><a name="d2e72986" id="d2e72986"/>C References</h2><div class="div2">
<h3><a name="d2e72989" id="d2e72989"/>C.1 Normative References</h3><dl><dt class="label"><a name="XML" id="XML"/>XML</dt><dd>World Wide Web Consortium. <em>Extensible
Markup Language (XML) 1.0.</em> W3C Recommendation.
(See <a href="http://www.w3.org/TR/REC-xml/">http://www.w3.org/TR/REC-xml/</a>.)</dd><dt class="label"><a name="XML11" id="XML11"/>XML 1.1</dt><dd>World Wide Web Consortium. <em>Extensible
Markup Language (XML) 1.1.</em> W3C Recommendation.
(See <a href="http://www.w3.org/TR/xml11/">http://www.w3.org/TR/xml11/</a>.)</dd><dt class="label"><a name="XMLNAMES" id="XMLNAMES"/>XML Names</dt><dd>World Wide Web
Consortium. <em>Namespaces in XML.</em> W3C Recommendation.
(See <a href="http://www.w3.org/TR/REC-xml-names/">http://www.w3.org/TR/REC-xml-names/</a>.)</dd><dt class="label"><a name="XMLNAMES11" id="XMLNAMES11"/>XML Names 1.1</dt><dd>World Wide Web
Consortium. <em>Namespaces in XML 1.1.</em> W3C Recommendation.
(See <a href="http://www.w3.org/TR/xml-names11/">http://www.w3.org/TR/xml-names11/</a>.)</dd><dt class="label"><a name="XSLT" id="XSLT"/>XSLT</dt><dd>World Wide Web Consortium. <em>
XSL Transformations (XSLT).
</em> W3C Recommendation.
(See <a href="http://www.w3.org/TR/xslt">http://www.w3.org/TR/xslt</a>.)</dd><dt class="label"><a name="XPATH" id="XPATH"/>XPath</dt><dd>World Wide Web Consortium. <em>XML Path
Language.</em> W3C Recommendation.
(See <a href="http://www.w3.org/TR/xpath">http://www.w3.org/TR/xpath</a>.)</dd><dt class="label"><a name="RDF" id="RDF"/>RDF</dt><dd>World Wide Web Consortium.
<em>Resource Description Framework (RDF) Model and Syntax Specification</em>.
W3C Recommendation.
(See <a href="http://www.w3.org/TR/REC-rdf-syntax/">http://www.w3.org/TR/REC-rdf-syntax/</a>.)</dd><dt class="label"><a name="CIE15" id="CIE15"/>CIE15</dt><dd>International Commission on Illumination (CIE). <em>Colorimetry</em>, 3rd Edition. Publication CIE 15:2004, ISBN 3-901-906-33-9 Available at http://www.cie.co.at/publ/abst/15-2004.html (See <a href="http://www.cie.co.at/publ/abst/15-2004.html">http://www.cie.co.at/publ/abst/15-2004.html</a>.)</dd><dt class="label"><a name="IEEE754" id="IEEE754"/>IEEE 754</dt><dd>Institute of Electrical and
Electronics Engineers. <em>IEEE Standard for Binary Floating-Point
Arithmetic</em>. ANSI/IEEE Std 754-1985.</dd><dt class="label"><a name="ISO31" id="ISO31"/>ISO31</dt><dd>International Organization
for Standardization.
<em>ISO 31:1992, Amended 1998. Quantities and units</em>
International Standard.</dd><dt class="label"><a name="ISO639" id="ISO639"/>ISO639</dt><dd>International Organization
for Standardization.
<em>ISO 639:1998. Code for the representation of names of languages</em>
International Standard.</dd><dt class="label"><a name="ISO639-2" id="ISO639-2"/>ISO639-2</dt><dd>International Organization
for Standardization.
<em>ISO 639-2:1998. Codes for the representation of names of languages — Part 2: Alpha-3 code</em>.
International Standard.</dd><dt class="label"><a name="ISO3166-1" id="ISO3166-1"/>ISO3166-1</dt><dd>International Organization
for Standardization.
<em>ISO 3166-1:1997. Codes for the representation of names of countries and their subdivisions — Part 1: Country codes</em>.
International Standard.</dd><dt class="label"><a name="ISO3166-2" id="ISO3166-2"/>ISO3166-2</dt><dd>International Organization
for Standardization.
<em>ISO 3166-2:1998. Codes for the representation of names of countries and their subdivisions — Part 2: Country subdivision code</em>.
International Standard.</dd><dt class="label"><a name="ISO3166-3" id="ISO3166-3"/>ISO3166-3</dt><dd>International Organization
for Standardization.
<em>ISO 3166-3:1999. Codes for the representation of names of countries and their subdivisions — Part 3: Code for formerly used names of countries</em>.
International Standard.</dd><dt class="label"><a name="ISO15924" id="ISO15924"/>ISO15924</dt><dd>International Organization
for Standardization.
<em>ISO 15924:1998. Code for the representation of names of
scripts</em>. Draft International Standard.</dd><dt class="label"><a name="ISO10646" id="ISO10646"/>ISO10646</dt><dd>International Organization
for Standardization, International Electrotechnical Commission.
<em>ISO/IEC 10646:2000.
Information technology — Universal Multiple-Octet Coded Character Set (UCS) —Part 1: Architecture and Basic Multilingual Plane</em>.
International Standard.</dd><dt class="label"><a name="RFC2070" id="RFC2070"/>RFC2070</dt><dd>IETF.
<em>RFC 2070. Internationalization of the Hypertext Markup Language</em>.
(See <a href="http://www.ietf.org/rfc/rfc2070.txt">http://www.ietf.org/rfc/rfc2070.txt</a>.)</dd><dt class="label"><a name="RFC2119" id="RFC2119"/>RFC2119</dt><dd>IETF.
<em>RFC 2119. Key words for use in RFCs to Indicate Requirement Levels</em>.
(See <a href="http://www.ietf.org/rfc/rfc2119.txt">http://www.ietf.org/rfc/rfc2119.txt</a>.)</dd><dt class="label"><a name="RFC3066" id="RFC3066"/>RFC3066</dt><dd>IETF.
<em>RFC 3066. Tags for the Identification of Languages</em>.
(See <a href="http://www.ietf.org/rfc/rfc3066.txt">http://www.ietf.org/rfc/rfc3066.txt</a>.)</dd><dt class="label"><a name="RFC3987" id="RFC3987"/>RFC3987</dt><dd>IETF.
<em>RFC 3987. Internationalized Resource Identifiers (IRIs)</em>.
(See <a href="http://www.ietf.org/rfc/rfc3987.txt">http://www.ietf.org/rfc/rfc3987.txt</a>.)</dd><dt class="label"><a name="UNICODE-TR9" id="UNICODE-TR9"/>UNICODE UAX #9</dt><dd>Unicode Consortium.
<em>The Unicode Standard, Version 3.1.0.
Unicode Standard Annex #9:
The Bidirectional Algorithm.</em>
(See <a href="http://www.unicode.org/unicode/reports/tr9/">http://www.unicode.org/unicode/reports/tr9/</a>.)</dd><dt class="label"><a name="UNICODE-CD" id="UNICODE-CD"/>UNICODE Character Database</dt><dd>Unicode Consortium.
Unicode Character Database.
(See <a href="http://www.unicode.org/Public/UNIDATA/">http://www.unicode.org/Public/UNIDATA/</a>.)</dd><dt class="label"><a name="sRGB" id="sRGB"/>sRGB</dt><dd>Anderson, M., Motta, R., Chandrasekar, S., and
Stokes, M.
<em>A Standard Default Color Space for the Internet - sRGB.</em>
(See <a href="http://www.w3.org/Graphics/Color/sRGB.html">http://www.w3.org/Graphics/Color/sRGB.html</a>.)</dd><dt class="label"><a name="ICC" id="ICC"/>ICC</dt><dd>International Color Consortium.
<em>Specification ICC.1:1998-09, File Format for Color Profiles</em>.
(See <a href="http://www.color.org/ICC-1_1998-09.PDF">http://www.color.org/ICC-1_1998-09.PDF</a>.)</dd></dl></div><div class="div2">
<h3><a name="d2e73117" id="d2e73117"/>C.2 Other References</h3><dl><dt class="label"><a name="XSL1.0" id="XSL1.0"/>XSL 1.0</dt><dd>World Wide Web Consortium.
<em>Extensible Stylesheet Language (XSL).</em>
W3C Recommendation.
(See <a href="http://www.w3.org/TR/2001/REC-xsl-20011015/">http://www.w3.org/TR/2001/REC-xsl-20011015/</a>.)</dd><dt class="label"><a name="XSL1.1" id="XSL1.1"/>XSL 1.1</dt><dd>World Wide Web Consortium.
<em>Extensible Stylesheet Language (XSL).</em>
W3C Recommendation.
(See <a href="http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>.)</dd><dt class="label"><a name="XSL2.0REQ" id="XSL2.0REQ"/>XSL 2.0 Requirements</dt><dd>World Wide Web Consortium.
<em>XSL Requirements, Version 2.0.</em>
W3C Recommendation.
(See <a href="http://www.w3.org/TR/xslfo20-req/">http://www.w3.org/TR/xslfo20-req/</a>.)</dd><dt class="label"><a name="CSS2" id="CSS2"/>CSS2</dt><dd>World Wide Web Consortium. <em>Cascading
Style Sheets, level 2 (CSS2)</em>, as amended by Errata document 2001/04/04.
W3C Recommendation.
(See <a href="http://www.w3.org/TR/1998/REC-CSS2-19980512/">http://www.w3.org/TR/1998/REC-CSS2-19980512/</a>.)</dd><dt class="label"><a name="DSSSL" id="DSSSL"/>DSSSL</dt><dd>International Organization
for Standardization, International Electrotechnical Commission.
<em>ISO/IEC 10179:1996. Document Style Semantics and Specification
Language (DSSSL)</em>. International Standard.</dd><dt class="label"><a name="UNICODE-TR10" id="UNICODE-TR10"/>UNICODE TR10</dt><dd>Unicode Consortium.
Davis, Mark and Whistler, Ken.
<em>Unicode Technical Standard #10: Unicode Collation Algorithm.</em>
Unicode Technical Standard.
(See <a href="http://www.unicode.org/unicode/reports/tr10/">http://www.unicode.org/unicode/reports/tr10/</a>.)</dd><dt class="label"><a name="UNICODE-TR20" id="UNICODE-TR20"/>UNICODE TR20</dt><dd>Unicode Consortium.
ürst, Martin and Freytag, Asmus.
<em>Unicode Technical Report #20. Unicode in XML and other Markup Languages</em>
Unicode Technical Report.
(See <a href="http://www.unicode.org/unicode/reports/tr20/">http://www.unicode.org/unicode/reports/tr20/</a>.)</dd><dt class="label"><a name="OpenType" id="OpenType"/>OpenType</dt><dd>Microsoft, Adobe.
<em>OpenType specification v.1.2</em>.
(See <a href="http://www.microsoft.com/truetype/tt/tt.htm">http://www.microsoft.com/truetype/tt/tt.htm</a>.)</dd><dt class="label"><a name="XMLSTYLE" id="XMLSTYLE"/>XML Stylesheet</dt><dd>World Wide Web
Consortium. <em>Associating stylesheets with XML documents.</em>
W3C Recommendation.
(See <a href="http://www.w3.org/TR/xml-stylesheet/">http://www.w3.org/TR/xml-stylesheet/</a>.)</dd><dt class="label"><a name="JLS" id="JLS"/>JLS</dt><dd>J. Gosling, B. Joy, and G. Steele. <em>The
Java Language Specification</em>.
(See <a href="http://java.sun.com/docs/books/jls/index.html">http://java.sun.com/docs/books/jls/index.html</a>.)</dd></dl></div></div><div class="div1">
<h2><a name="d2e73171" id="d2e73171"/>D Property Index</h2><ul><li><p><a href="#absolute-position"><b>7.6.1 absolute-position</b></a></p></li><li><p><a href="#active-state"><b>7.24.1 active-state</b></a></p></li><li><p><a href="#alignment-adjust"><b>7.15.1 alignment-adjust</b></a></p></li><li><p><a href="#alignment-baseline"><b>7.15.2 alignment-baseline</b></a></p></li><li><p><a href="#allowed-height-scale"><b>7.16.1 allowed-height-scale</b></a></p></li><li><p><a href="#allowed-width-scale"><b>7.16.2 allowed-width-scale</b></a></p></li><li><p><a href="#auto-restore"><b>7.24.2 auto-restore</b></a></p></li><li><p><a href="#azimuth"><b>7.7.1 azimuth</b></a></p></li><li><p><a href="#background"><b>7.32.1 background</b></a></p></li><li><p><a href="#background-attachment"><b>7.8.1 background-attachment</b></a></p></li><li><p><a href="#background-color"><b>7.8.2 background-color</b></a></p></li><li><p><a href="#background-image"><b>7.8.3 background-image</b></a></p></li><li><p><a href="#background-position"><b>7.32.2 background-position</b></a></p></li><li><p><a href="#background-position-horizontal"><b>7.8.4 background-position-horizontal</b></a></p></li><li><p><a href="#background-position-vertical"><b>7.8.5 background-position-vertical</b></a></p></li><li><p><a href="#background-repeat"><b>7.8.6 background-repeat</b></a></p></li><li><p><a href="#baseline-shift"><b>7.15.4 baseline-shift</b></a></p></li><li><p><a href="#blank-or-not-blank"><b>7.28.1 blank-or-not-blank</b></a></p></li><li><p><a href="#block-progression-dimension"><b>7.16.3 block-progression-dimension</b></a></p></li><li><p><a href="#border"><b>7.32.3 border</b></a></p></li><li><p><a href="#border-after-color"><b>7.8.7 border-after-color</b></a></p></li><li><p><a href="#border-after-precedence"><b>7.29.1 border-after-precedence</b></a></p></li><li><p><a href="#border-after-style"><b>7.8.8 border-after-style</b></a></p></li><li><p><a href="#border-after-width"><b>7.8.9 border-after-width</b></a></p></li><li><p><a href="#border-before-color"><b>7.8.10 border-before-color</b></a></p></li><li><p><a href="#border-before-precedence"><b>7.29.2 border-before-precedence</b></a></p></li><li><p><a href="#border-before-style"><b>7.8.11 border-before-style</b></a></p></li><li><p><a href="#border-before-width"><b>7.8.12 border-before-width</b></a></p></li><li><p><a href="#border-bottom"><b>7.32.4 border-bottom</b></a></p></li><li><p><a href="#border-bottom-color"><b>7.8.13 border-bottom-color</b></a></p></li><li><p><a href="#border-bottom-style"><b>7.8.14 border-bottom-style</b></a></p></li><li><p><a href="#border-bottom-width"><b>7.8.15 border-bottom-width</b></a></p></li><li><p><a href="#border-collapse"><b>7.29.3 border-collapse</b></a></p></li><li><p><a href="#border-color"><b>7.32.5 border-color</b></a></p></li><li><p><a href="#border-end-color"><b>7.8.16 border-end-color</b></a></p></li><li><p><a href="#border-end-precedence"><b>7.29.4 border-end-precedence</b></a></p></li><li><p><a href="#border-end-style"><b>7.8.17 border-end-style</b></a></p></li><li><p><a href="#border-end-width"><b>7.8.18 border-end-width</b></a></p></li><li><p><a href="#border-left"><b>7.32.6 border-left</b></a></p></li><li><p><a href="#border-left-color"><b>7.8.19 border-left-color</b></a></p></li><li><p><a href="#border-left-style"><b>7.8.20 border-left-style</b></a></p></li><li><p><a href="#border-left-width"><b>7.8.21 border-left-width</b></a></p></li><li><p><a href="#border-right"><b>7.32.7 border-right</b></a></p></li><li><p><a href="#border-right-color"><b>7.8.22 border-right-color</b></a></p></li><li><p><a href="#border-right-style"><b>7.8.23 border-right-style</b></a></p></li><li><p><a href="#border-right-width"><b>7.8.24 border-right-width</b></a></p></li><li><p><a href="#border-separation"><b>7.29.5 border-separation</b></a></p></li><li><p><a href="#border-spacing"><b>7.32.8 border-spacing</b></a></p></li><li><p><a href="#border-start-color"><b>7.8.25 border-start-color</b></a></p></li><li><p><a href="#border-start-precedence"><b>7.29.6 border-start-precedence</b></a></p></li><li><p><a href="#border-start-style"><b>7.8.26 border-start-style</b></a></p></li><li><p><a href="#border-start-width"><b>7.8.27 border-start-width</b></a></p></li><li><p><a href="#border-style"><b>7.32.9 border-style</b></a></p></li><li><p><a href="#border-top"><b>7.32.10 border-top</b></a></p></li><li><p><a href="#border-top-color"><b>7.8.28 border-top-color</b></a></p></li><li><p><a href="#border-top-style"><b>7.8.29 border-top-style</b></a></p></li><li><p><a href="#border-top-width"><b>7.8.30 border-top-width</b></a></p></li><li><p><a href="#border-width"><b>7.32.11 border-width</b></a></p></li><li><p><a href="#bottom"><b>7.6.2 bottom</b></a></p></li><li><p><a href="#break-after"><b>7.21.1 break-after</b></a></p></li><li><p><a href="#break-before"><b>7.21.2 break-before</b></a></p></li><li><p><a href="#caption-side"><b>7.29.7 caption-side</b></a></p></li><li><p><a href="#case-name"><b>7.24.3 case-name</b></a></p></li><li><p><a href="#case-title"><b>7.24.4 case-title</b></a></p></li><li><p><a href="#change-bar-class"><b>7.31.1 change-bar-class</b></a></p></li><li><p><a href="#change-bar-color"><b>7.31.2 change-bar-color</b></a></p></li><li><p><a href="#change-bar-offset"><b>7.31.3 change-bar-offset</b></a></p></li><li><p><a href="#change-bar-placement"><b>7.31.4 change-bar-placement</b></a></p></li><li><p><a href="#change-bar-style"><b>7.31.5 change-bar-style</b></a></p></li><li><p><a href="#change-bar-width"><b>7.31.6 change-bar-width</b></a></p></li><li><p><a href="#character"><b>7.18.1 character</b></a></p></li><li><p><a href="#clear"><b>7.20.1 clear</b></a></p></li><li><p><a href="#clip"><b>7.22.1 clip</b></a></p></li><li><p><a href="#color"><b>7.19.1 color</b></a></p></li><li><p><a href="#color-profile-name"><b>7.19.2 color-profile-name</b></a></p></li><li><p><a href="#column-count"><b>7.28.2 column-count</b></a></p></li><li><p><a href="#column-gap"><b>7.28.3 column-gap</b></a></p></li><li><p><a href="#column-number"><b>7.29.8 column-number</b></a></p></li><li><p><a href="#column-width"><b>7.29.9 column-width</b></a></p></li><li><p><a href="#content-height"><b>7.16.4 content-height</b></a></p></li><li><p><a href="#content-type"><b>7.31.7 content-type</b></a></p></li><li><p><a href="#content-width"><b>7.16.5 content-width</b></a></p></li><li><p><a href="#country"><b>7.10.1 country</b></a></p></li><li><p><a href="#cue"><b>7.32.12 cue</b></a></p></li><li><p><a href="#cue-after"><b>7.7.2 cue-after</b></a></p></li><li><p><a href="#cue-before"><b>7.7.3 cue-before</b></a></p></li><li><p><a href="#destination-placement-offset"><b>7.24.5 destination-placement-offset</b></a></p></li><li><p><a href="#direction"><b>7.30.1 direction</b></a></p></li><li><p><a href="#display-align"><b>7.15.5 display-align</b></a></p></li><li><p><a href="#dominant-baseline"><b>7.15.8 dominant-baseline</b></a></p></li><li><p><a href="#elevation"><b>7.7.4 elevation</b></a></p></li><li><p><a href="#empty-cells"><b>7.29.10 empty-cells</b></a></p></li><li><p><a href="#end-indent"><b>7.11.1 end-indent</b></a></p></li><li><p><a href="#ends-row"><b>7.29.11 ends-row</b></a></p></li><li><p><a href="#extent"><b>7.28.5 extent</b></a></p></li><li><p><a href="#external-destination"><b>7.24.6 external-destination</b></a></p></li><li><p><a href="#float"><b>7.20.2 float</b></a></p></li><li><p><a href="#flow-map-name"><b>7.28.6 flow-map-name</b></a></p></li><li><p><a href="#flow-map-reference"><b>7.28.7 flow-map-reference</b></a></p></li><li><p><a href="#flow-name"><b>7.28.8 flow-name</b></a></p></li><li><p><a href="#flow-name-reference"><b>7.28.9 flow-name-reference</b></a></p></li><li><p><a href="#font"><b>7.32.13 font</b></a></p></li><li><p><a href="#font-family"><b>7.9.2 font-family</b></a></p></li><li><p><a href="#font-selection-strategy"><b>7.9.3 font-selection-strategy</b></a></p></li><li><p><a href="#font-size"><b>7.9.4 font-size</b></a></p></li><li><p><a href="#font-size-adjust"><b>7.9.5 font-size-adjust</b></a></p></li><li><p><a href="#font-stretch"><b>7.9.6 font-stretch</b></a></p></li><li><p><a href="#font-style"><b>7.9.7 font-style</b></a></p></li><li><p><a href="#font-variant"><b>7.9.8 font-variant</b></a></p></li><li><p><a href="#font-weight"><b>7.9.9 font-weight</b></a></p></li><li><p><a href="#force-page-count"><b>7.28.10 force-page-count</b></a></p></li><li><p><a href="#format"><b>7.27.1 format</b></a></p></li><li><p><a href="#glyph-orientation-horizontal"><b>7.30.2 glyph-orientation-horizontal</b></a></p></li><li><p><a href="#glyph-orientation-vertical"><b>7.30.3 glyph-orientation-vertical</b></a></p></li><li><p><a href="#grouping-separator"><b>7.27.2 grouping-separator</b></a></p></li><li><p><a href="#grouping-size"><b>7.27.3 grouping-size</b></a></p></li><li><p><a href="#height"><b>7.16.6 height</b></a></p></li><li><p><a href="#hyphenate"><b>7.10.2 hyphenate</b></a></p></li><li><p><a href="#hyphenation-character"><b>7.10.3 hyphenation-character</b></a></p></li><li><p><a href="#hyphenation-keep"><b>7.17.1 hyphenation-keep</b></a></p></li><li><p><a href="#hyphenation-ladder-count"><b>7.17.2 hyphenation-ladder-count</b></a></p></li><li><p><a href="#hyphenation-push-character-count"><b>7.10.4 hyphenation-push-character-count</b></a></p></li><li><p><a href="#hyphenation-remain-character-count"><b>7.10.5 hyphenation-remain-character-count</b></a></p></li><li><p><a href="#id"><b>7.31.8 id</b></a></p></li><li><p><a href="#index-class"><b>7.25.1 index-class</b></a></p></li><li><p><a href="#index-key"><b>7.25.2 index-key</b></a></p></li><li><p><a href="#indicate-destination"><b>7.24.7 indicate-destination</b></a></p></li><li><p><a href="#initial-page-number"><b>7.28.11 initial-page-number</b></a></p></li><li><p><a href="#inline-progression-dimension"><b>7.16.7 inline-progression-dimension</b></a></p></li><li><p><a href="#internal-destination"><b>7.24.8 internal-destination</b></a></p></li><li><p><a href="#intrinsic-scale-value"><b>7.31.9 intrinsic-scale-value</b></a></p></li><li><p><a href="#intrusion-displace"><b>7.20.3 intrusion-displace</b></a></p></li><li><p><a href="#keep-together"><b>7.21.3 keep-together</b></a></p></li><li><p><a href="#keep-with-next"><b>7.21.4 keep-with-next</b></a></p></li><li><p><a href="#keep-with-previous"><b>7.21.5 keep-with-previous</b></a></p></li><li><p><a href="#language"><b>7.10.6 language</b></a></p></li><li><p><a href="#last-line-end-indent"><b>7.17.3 last-line-end-indent</b></a></p></li><li><p><a href="#leader-alignment"><b>7.23.1 leader-alignment</b></a></p></li><li><p><a href="#leader-length"><b>7.23.4 leader-length</b></a></p></li><li><p><a href="#leader-pattern"><b>7.23.2 leader-pattern</b></a></p></li><li><p><a href="#leader-pattern-width"><b>7.23.3 leader-pattern-width</b></a></p></li><li><p><a href="#left"><b>7.6.3 left</b></a></p></li><li><p><a href="#letter-spacing"><b>7.18.2 letter-spacing</b></a></p></li><li><p><a href="#letter-value"><b>7.27.4 letter-value</b></a></p></li><li><p><a href="#linefeed-treatment"><b>7.17.7 linefeed-treatment</b></a></p></li><li><p><a href="#line-height"><b>7.17.4 line-height</b></a></p></li><li><p><a href="#line-height-shift-adjustment"><b>7.17.5 line-height-shift-adjustment</b></a></p></li><li><p><a href="#line-stacking-strategy"><b>7.17.6 line-stacking-strategy</b></a></p></li><li><p><a href="#margin"><b>7.32.14 margin</b></a></p></li><li><p><a href="#margin-bottom"><b>7.11.2 margin-bottom</b></a></p></li><li><p><a href="#margin-left"><b>7.11.3 margin-left</b></a></p></li><li><p><a href="#margin-right"><b>7.11.4 margin-right</b></a></p></li><li><p><a href="#margin-top"><b>7.11.5 margin-top</b></a></p></li><li><p><a href="#marker-class-name"><b>7.26.1 marker-class-name</b></a></p></li><li><p><a href="#master-name"><b>7.28.12 master-name</b></a></p></li><li><p><a href="#master-reference"><b>7.28.13 master-reference</b></a></p></li><li><p><a href="#max-height"><b>7.16.8 max-height</b></a></p></li><li><p><a href="#maximum-repeats"><b>7.28.14 maximum-repeats</b></a></p></li><li><p><a href="#max-width"><b>7.16.9 max-width</b></a></p></li><li><p><a href="#media-usage"><b>7.28.15 media-usage</b></a></p></li><li><p><a href="#merge-pages-across-index-key-references"><b>7.25.6 merge-pages-across-index-key-references</b></a></p></li><li><p><a href="#merge-ranges-across-index-key-references"><b>7.25.4 merge-ranges-across-index-key-references</b></a></p></li><li><p><a href="#merge-sequential-page-numbers"><b>7.25.5 merge-sequential-page-numbers</b></a></p></li><li><p><a href="#min-height"><b>7.16.10 min-height</b></a></p></li><li><p><a href="#min-width"><b>7.16.11 min-width</b></a></p></li><li><p><a href="#number-columns-repeated"><b>7.29.12 number-columns-repeated</b></a></p></li><li><p><a href="#number-columns-spanned"><b>7.29.13 number-columns-spanned</b></a></p></li><li><p><a href="#number-rows-spanned"><b>7.29.14 number-rows-spanned</b></a></p></li><li><p><a href="#odd-or-even"><b>7.28.16 odd-or-even</b></a></p></li><li><p><a href="#orphans"><b>7.21.6 orphans</b></a></p></li><li><p><a href="#overflow"><b>7.22.2 overflow</b></a></p></li><li><p><a href="#padding"><b>7.32.15 padding</b></a></p></li><li><p><a href="#padding-after"><b>7.8.31 padding-after</b></a></p></li><li><p><a href="#padding-before"><b>7.8.32 padding-before</b></a></p></li><li><p><a href="#padding-bottom"><b>7.8.33 padding-bottom</b></a></p></li><li><p><a href="#padding-end"><b>7.8.34 padding-end</b></a></p></li><li><p><a href="#padding-left"><b>7.8.35 padding-left</b></a></p></li><li><p><a href="#padding-right"><b>7.8.36 padding-right</b></a></p></li><li><p><a href="#padding-start"><b>7.8.37 padding-start</b></a></p></li><li><p><a href="#padding-top"><b>7.8.38 padding-top</b></a></p></li><li><p><a href="#page-break-after"><b>7.32.16 page-break-after</b></a></p></li><li><p><a href="#page-break-before"><b>7.32.17 page-break-before</b></a></p></li><li><p><a href="#page-break-inside"><b>7.32.18 page-break-inside</b></a></p></li><li><p><a href="#page-citation-strategy"><b>7.31.10 page-citation-strategy</b></a></p></li><li><p><a href="#page-height"><b>7.28.17 page-height</b></a></p></li><li><p><a href="#page-number-treatment"><b>7.25.3 page-number-treatment</b></a></p></li><li><p><a href="#page-position"><b>7.28.18 page-position</b></a></p></li><li><p><a href="#page-width"><b>7.28.19 page-width</b></a></p></li><li><p><a href="#pause"><b>7.32.19 pause</b></a></p></li><li><p><a href="#pause-after"><b>7.7.5 pause-after</b></a></p></li><li><p><a href="#pause-before"><b>7.7.6 pause-before</b></a></p></li><li><p><a href="#pitch"><b>7.7.7 pitch</b></a></p></li><li><p><a href="#pitch-range"><b>7.7.8 pitch-range</b></a></p></li><li><p><a href="#play-during"><b>7.7.9 play-during</b></a></p></li><li><p><a href="#position"><b>7.32.20 position</b></a></p></li><li><p><a href="#precedence"><b>7.28.20 precedence</b></a></p></li><li><p><a href="#provisional-distance-between-starts"><b>7.31.11 provisional-distance-between-starts</b></a></p></li><li><p><a href="#provisional-label-separation"><b>7.31.12 provisional-label-separation</b></a></p></li><li><p><a href="#reference-orientation"><b>7.22.3 reference-orientation</b></a></p></li><li><p><a href="#ref-id"><b>7.31.13 ref-id</b></a></p></li><li><p><a href="#ref-index-key"><b>7.25.7 ref-index-key</b></a></p></li><li><p><a href="#region-name"><b>7.28.21 region-name</b></a></p></li><li><p><a href="#region-name-reference"><b>7.28.22 region-name-reference</b></a></p></li><li><p><a href="#relative-align"><b>7.15.9 relative-align</b></a></p></li><li><p><a href="#relative-position"><b>7.13.4 relative-position</b></a></p></li><li><p><a href="#rendering-intent"><b>7.19.3 rendering-intent</b></a></p></li><li><p><a href="#retrieve-boundary"><b>7.26.4 retrieve-boundary</b></a></p></li><li><p><a href="#retrieve-boundary-within-table"><b>7.26.2 retrieve-boundary-within-table</b></a></p></li><li><p><a href="#retrieve-class-name"><b>7.26.3 retrieve-class-name</b></a></p></li><li><p><a href="#retrieve-position"><b>7.26.5 retrieve-position</b></a></p></li><li><p><a href="#retrieve-position-within-table"><b>7.26.6 retrieve-position-within-table</b></a></p></li><li><p><a href="#richness"><b>7.7.10 richness</b></a></p></li><li><p><a href="#right"><b>7.6.4 right</b></a></p></li><li><p><a href="#role"><b>7.5.2 role</b></a></p></li><li><p><a href="#rule-style"><b>7.23.5 rule-style</b></a></p></li><li><p><a href="#rule-thickness"><b>7.23.6 rule-thickness</b></a></p></li><li><p><a href="#scale-option"><b>7.31.14 scale-option</b></a></p></li><li><p><a href="#scaling"><b>7.16.12 scaling</b></a></p></li><li><p><a href="#scaling-method"><b>7.16.13 scaling-method</b></a></p></li><li><p><a href="#score-spaces"><b>7.31.15 score-spaces</b></a></p></li><li><p><a href="#script"><b>7.10.7 script</b></a></p></li><li><p><a href="#show-destination"><b>7.24.9 show-destination</b></a></p></li><li><p><a href="#size"><b>7.32.21 size</b></a></p></li><li><p><a href="#source-document"><b>7.5.1 source-document</b></a></p></li><li><p><a href="#space-after"><b>7.11.6 space-after</b></a></p></li><li><p><a href="#space-before"><b>7.11.7 space-before</b></a></p></li><li><p><a href="#space-end"><b>7.12.5 space-end</b></a></p></li><li><p><a href="#space-start"><b>7.12.6 space-start</b></a></p></li><li><p><a href="#span"><b>7.22.4 span</b></a></p></li><li><p><a href="#speak"><b>7.7.11 speak</b></a></p></li><li><p><a href="#speak-header"><b>7.7.12 speak-header</b></a></p></li><li><p><a href="#speak-numeral"><b>7.7.13 speak-numeral</b></a></p></li><li><p><a href="#speak-punctuation"><b>7.7.14 speak-punctuation</b></a></p></li><li><p><a href="#speech-rate"><b>7.7.15 speech-rate</b></a></p></li><li><p><a href="#src"><b>7.31.16 src</b></a></p></li><li><p><a href="#start-indent"><b>7.11.8 start-indent</b></a></p></li><li><p><a href="#starting-state"><b>7.24.10 starting-state</b></a></p></li><li><p><a href="#starts-row"><b>7.29.15 starts-row</b></a></p></li><li><p><a href="#stress"><b>7.7.16 stress</b></a></p></li><li><p><a href="#suppress-at-line-break"><b>7.18.3 suppress-at-line-break</b></a></p></li><li><p><a href="#switch-to"><b>7.24.11 switch-to</b></a></p></li><li><p><a href="#table-layout"><b>7.29.16 table-layout</b></a></p></li><li><p><a href="#table-omit-footer-at-break"><b>7.29.17 table-omit-footer-at-break</b></a></p></li><li><p><a href="#table-omit-header-at-break"><b>7.29.18 table-omit-header-at-break</b></a></p></li><li><p><a href="#target-presentation-context"><b>7.24.12 target-presentation-context</b></a></p></li><li><p><a href="#target-processing-context"><b>7.24.13 target-processing-context</b></a></p></li><li><p><a href="#target-stylesheet"><b>7.24.14 target-stylesheet</b></a></p></li><li><p><a href="#text-align"><b>7.17.8 text-align</b></a></p></li><li><p><a href="#text-align-last"><b>7.17.9 text-align-last</b></a></p></li><li><p><a href="#text-altitude"><b>7.30.4 text-altitude</b></a></p></li><li><p><a href="#text-decoration"><b>7.18.4 text-decoration</b></a></p></li><li><p><a href="#text-depth"><b>7.30.5 text-depth</b></a></p></li><li><p><a href="#text-indent"><b>7.17.10 text-indent</b></a></p></li><li><p><a href="#text-shadow"><b>7.18.5 text-shadow</b></a></p></li><li><p><a href="#text-transform"><b>7.18.6 text-transform</b></a></p></li><li><p><a href="#top"><b>7.6.5 top</b></a></p></li><li><p><a href="#treat-as-word-space"><b>7.18.7 treat-as-word-space</b></a></p></li><li><p><a href="#unicode-bidi"><b>7.30.6 unicode-bidi</b></a></p></li><li><p><a href="#vertical-align"><b>7.32.22 vertical-align</b></a></p></li><li><p><a href="#visibility"><b>7.31.17 visibility</b></a></p></li><li><p><a href="#voice-family"><b>7.7.17 voice-family</b></a></p></li><li><p><a href="#volume"><b>7.7.18 volume</b></a></p></li><li><p><a href="#white-space"><b>7.32.23 white-space</b></a></p></li><li><p><a href="#white-space-collapse"><b>7.17.11 white-space-collapse</b></a></p></li><li><p><a href="#white-space-treatment"><b>7.17.12 white-space-treatment</b></a></p></li><li><p><a href="#widows"><b>7.21.7 widows</b></a></p></li><li><p><a href="#width"><b>7.16.14 width</b></a></p></li><li><p><a href="#word-spacing"><b>7.18.8 word-spacing</b></a></p></li><li><p><a href="#wrap-option"><b>7.17.13 wrap-option</b></a></p></li><li><p><a href="#writing-mode"><b>7.30.7 writing-mode</b></a></p></li><li><p><a href="#xml.lang"><b>7.32.24 xml:lang</b></a></p></li><li><p><a href="#z-index"><b>7.31.18 z-index</b></a></p></li></ul></div><div class="div1">
<h2><a name="change11" id="change11"/>E Changes from XSL 1.1 (Non-Normative)</h2><p>This section lists all non-editorial changes that have been
made:</p><ul><li><p>No errata has been added. </p></li><li><p>New functionality has been added to support:</p><ul><li><p>Feathering and vertical alignment across pages and columns</p></li><li><p>An initial capital formatting object</p></li><li><p>A more general page-master</p></li><li><p>Extension regions in the start and end directions</p></li><li><p>Formatter feedback is being incorporated, e.g. for copyfitting</p></li><li><p>Non-rectangular regions</p></li><li><p>Marginalia</p></li><li><p>Area alignment for block level formatting objects</p></li><li><p>Trim and bleed boxes</p></li><li><p>Added <a href="#" class="property">xml:base</a> and <a href="#output-base-uri" class="property">output-base-uri</a> properties </p></li><li><p>Additional color functions</p></li></ul></li></ul></div><div class="div1">
<h2><a name="d2e74068" id="d2e74068"/>F Acknowledgements (Non-Normative)</h2><p>This specification was developed and approved for publication by the
W3C XSL Working Group (WG). WG approval of this specification does not
necessarily imply that all WG members voted for its approval.</p><p>During the development of XSL 2.0 the members of the XSL FO Subgroup were:</p><p>TBC
</p></div></div></body></html>