XSL is a language for expressing stylesheets. It consists of two
parts:
a language for transforming XML documents, and
an XML vocabulary for specifying formatting
semantics.
An XSL stylesheet specifies the presentation of a class of XML
documents by describing how an instance of the class is transformed
into an XML document that uses the formatting vocabulary.
This is a W3C Working Draft for review by W3C members and other
interested parties. This adds additional functionality to what was
described in the previous draft. It is a draft document and
may be
updated, replaced, or obsoleted by other documents at any time. The
XSL Working Group will not allow early implementation to constrain its
ability to make changes to this specification prior to final release.
It is inappropriate to use W3C Working Drafts as reference material or
to cite them as other than "work in progress". A list of
current W3C working drafts can be found at http://www.w3.org/TR.
Comments may be sent to xsl-editors@w3.org. Public
discussion of XSL takes place on the XSL-List
mailing list.
- 1. Introduction and Overview
- 1.1 Processing a Stylesheet
- 1.1.1 Tree Transformations
- 1.1.2
Formatting
- 1.2 Why XSL?
- 1.2.1 More Powerful "Selectors" and "Tree
Construction"
- 1.2.2
Provision for an Extensible Page Layout Model
- 1.2.3 An Extended Formatting Model
- 1.2.4 Internationalization and Writing-Modes
- 1.2.5 Linking
- 1.3 How-to Read this Document
- 1.4 The Definitions of Formatting
Objects
- 2. Tree Construction
- 3. Common Mechanisms
- 3.1 Specified, Computed, and Actual
Values and Inheritance
- 3.1.1 Specified values
- 3.1.2 Computed values
- 3.1.3 Actual values
- 3.2 Inheritance
- 3.3 Computing the values of Corresponding
Properties
- 3.3.1 Properties with a Simple Correspondance
- 3.3.2 Space and Margin Properties
- 3.3.3 Start-indent and End-indent
- 3.4 Formatting Model
- 3.4.1 Introduction
- 3.4.2 Rectangular areas
- 3.4.3 Display-spaces
- 3.4.4 Inline-spaces
- 3.4.5 Area-containers
- 3.4.6 Block-areas
- 3.4.7 Line-areas
- 3.4.8 Inline-areas
- 3.4.9 Inline-area placement within a line-area
- 3.4.10 Line-area placement within a block-area
- 3.4.11 Block-area placement
- 3.4.12 Area-container placement
- 3.5 Formatting Expressions
- 3.5.1 Datatypes
- 3.5.2 Expressions
- 3.6 Property Datatypes
- 3.6.1 Name
- 3.6.2 ID
- 3.6.3 IDREF
- 3.6.4 Boolean
- 3.6.5 Char
- 3.6.6 Signed Length
- 3.6.7 Unsigned Length
- 3.6.8 Positive Length
- 3.6.9 Signed Integer
- 3.6.10 Unsigned Integer
- 3.6.11 Positive Integer
- 3.6.12 Percent
- 3.6.13 Color
- 3.6.14 Signed Real
- 3.6.15 Unsigned Real
- 3.6.16 Positive Real
- 3.6.17 Space Specifier
- 3.6.18 URI
- 3.6.19 Language
- 3.6.20 Country
- 3.6.21 Font Name
- 3.6.22 Font List
- 3.6.23 Enumeration
- 3.6.24 String
- 4. Formatting Objects
- 4.1 Overview
- 4.1.1 Pagination and Layout Formatting Objects
- 4.1.2 Block Formatting Objects
- 4.1.3 Inline Formatting Objects
- 4.1.4 Formatting Objects for Tables
- 4.1.5 Formatting Objects for Lists
- 4.1.6 Link and Multi Formatting Objects
- 4.1.7 Out-of-Line Formatting Objects
- 4.2 Formatting Objects Summary
- 4.3 Pagination and Layout Formatting Objects
- 4.3.1 fo:root
- 4.3.2 fo:page-sequence
- 4.3.3 fo:sequence-specification
- 4.3.4 fo:sequence-specifier-single
- 4.3.5 fo:sequence-specifier-alternating
- 4.3.6 fo:sequence-specifier-repeating
- 4.3.7 fo:layout-master-set
- 4.3.8 fo:simple-page-master
- 4.3.9 fo:region-body
- 4.3.10 fo:region-before
- 4.3.11 fo:region-after
- 4.3.12 fo:region-start
- 4.3.13 fo:region-end
- 4.3.14 fo:flow
- 4.3.15 fo:static-content
- 4.4 Block Formatting Objects
- 4.4.1 fo:block
- 4.4.2 fo:display-graphic
- 4.4.3 fo:display-included-container
- 4.4.4 fo:display-rule
- 4.4.5 fo:display-sequence
- 4.5 Inline Formatting Objects
- 4.5.1 fo:bidi-override
- 4.5.2 fo:character
- 4.5.3 fo:first-line-marker
- 4.5.4 fo:inline-graphic
- 4.5.5 fo:inline-included-container
- 4.5.6 fo:inline-rule
- 4.5.7 fo:inline-sequence
- 4.5.8 fo:page-number
- 4.5.9 fo:page-number-citation
- 4.6 Formatting Objects for Tables
- 4.6.1 fo:table-and-caption
- 4.6.2 fo:table
- 4.6.3 fo:table-column
- 4.6.4 fo:table-caption
- 4.6.5 fo:table-header
- 4.6.6 fo:table-footer
- 4.6.7 fo:table-body
- 4.6.8 fo:table-row
- 4.6.9 fo:table-cell
- 4.7 Formatting Objects for Lists
- 4.7.1 fo:list-block
- 4.7.2 fo:list-item
- 4.7.3 fo:list-item-body
- 4.7.4 fo:list-item-label
- 4.8 Link and Multi Formatting Objects
- 4.8.1 fo:simple-link
- 4.8.2 fo:multi-switch
- 4.8.3 fo:multi-case
- 4.8.4 fo:multi-toggle
- 4.8.5 fo:multi-properties
- 4.8.6 fo:multi-property-set
- 4.9 Out-of-Line Formatting Objects
- 4.9.1 fo:float
- 4.9.2 fo:footnote
- 4.9.3 fo:footnote-citation
- 5. Formatting Properties
- 5.1 Description of Property Groups
- 5.2 Common Absolute Position Properties
- 5.2.1 position
- 5.2.2 top
- 5.2.3 right
- 5.2.4 bottom
- 5.2.5 left
- 5.3 Common Aural Properties
- 5.3.1 azimuth
- 5.3.2 cue
- 5.3.3 cue-after
- 5.3.4 cue-before
- 5.3.5 elevation
- 5.3.6 pause
- 5.3.7 pause-after
- 5.3.8 pause-before
- 5.3.9 pitch
- 5.3.10 pitch-range
- 5.3.11 play-during
- 5.3.12 richness
- 5.3.13 speak
- 5.3.14 speak-header
- 5.3.15 speak-numeral
- 5.3.16 speak-punctuation
- 5.3.17 speech-rate
- 5.3.18 stress
- 5.3.19 voice-family
- 5.3.20 volume
- 5.4 Common Border, Padding, and Background
Properties
- 5.4.1 background
- 5.4.2 background-attachment
- 5.4.3 background-color
- 5.4.4 background-image
- 5.4.5 background-repeat
- 5.4.6 background-position
- 5.4.7 border-before-color
- 5.4.8 border-before-style
- 5.4.9 border-before-width
- 5.4.10 border-after-color
- 5.4.11 border-after-style
- 5.4.12 border-after-width
- 5.4.13 border-start-color
- 5.4.14 border-start-style
- 5.4.15 border-start-width
- 5.4.16 border-end-color
- 5.4.17 border-end-style
- 5.4.18 border-end-width
- 5.4.19 border-top-color
- 5.4.20 border-top-style
- 5.4.21 border-top-width
- 5.4.22 border-bottom-color
- 5.4.23 border-bottom-style
- 5.4.24 border-bottom-width
- 5.4.25 border-left-color
- 5.4.26 border-left-style
- 5.4.27 border-left-width
- 5.4.28 border-right-color
- 5.4.29 border-right-style
- 5.4.30 border-right-width
- 5.4.31 border
- 5.4.32 border-top
- 5.4.33 border-bottom
- 5.4.34 border-left
- 5.4.35 border-right
- 5.4.36 border-color
- 5.4.37 border-style
- 5.4.38 border-width
- 5.4.39 padding-before
- 5.4.40 padding-after
- 5.4.41 padding-start
- 5.4.42 padding-end
- 5.4.43 padding-top
- 5.4.44 padding-bottom
- 5.4.45 padding-left
- 5.4.46 padding-right
- 5.4.47 padding
- 5.5 Common Font Properties
- 5.5.1 font
- 5.5.2 font-family
- 5.5.3 font-size
- 5.5.4 font-stretch
- 5.5.5 font-size-adjust
- 5.5.6 font-style
- 5.5.7 font-variant
- 5.5.8 font-weight
- 5.6 Common Hyphenation Properties
- 5.6.1 country
- 5.6.2 hyphenate
- 5.6.3 hyphenation-char
- 5.6.4 hyphenation-push-char-count
- 5.6.5 hyphenation-remain-char-count
- 5.6.6 language
- 5.6.7 script
- 5.7 Common Keeps and Breaks Properties
- 5.7.1 break-after
- 5.7.2 break-before
- 5.7.3 keep-with-next
- 5.7.4 keep-with-previous
- 5.8 Common Margin Properties-Block
- 5.8.1 margin-top
- 5.8.2 margin-bottom
- 5.8.3 margin-left
- 5.8.4 margin-right
- 5.8.5 margin
- 5.8.6 space-before
- 5.8.7 space-after
- 5.8.8 start-indent
- 5.8.9 end-indent
- 5.9 Common Margin Properties-Inline
- 5.9.1 space-end
- 5.9.2 space-start
- 5.10 Pagination and Layout Properties
- 5.10.1 column-count
- 5.10.2 column-gap
- 5.10.3 extent
- 5.10.4 flow-name
- 5.10.5 initial-page-number
- 5.10.6 page-master-blank-even
- 5.10.7 page-master-even
- 5.10.8 page-master-first
- 5.10.9 page-master-last-even
- 5.10.10 page-master-last-odd
- 5.10.11 page-master-name
- 5.10.12 page-master-odd
- 5.10.13 page-master-repeating
- 5.10.14 page-height
- 5.10.15 page-width
- 5.10.16 precedence
- 5.11 Table Properties
- 5.11.1 caption-side
- 5.11.2 table-layout
- 5.11.3 border-collapse
- 5.11.4 border-spacing
- 5.11.5 empty-cells
- 5.11.6 table-width
- 5.11.7 table-height
- 5.11.8 table-omit-middle-header
- 5.11.9 table-omit-middle-footer
- 5.11.10 column-number
- 5.11.11 n-columns-spanned
- 5.11.12 n-rows-spanned
- 5.11.13 column-width
- 5.11.14 n-columns-repeated
- 5.11.15 caption-width
- 5.11.16 row-height
- 5.11.17 may-break-after-row
- 5.11.18 may-break-before-row
- 5.11.19 ends-row
- 5.11.20 starts-row
- 5.11.21 cell-height
- 5.12 Character Properties
- 5.12.1 character
- 5.12.2 letter-spacing
- 5.12.3 word-spacing
- 5.12.4 text-decoration
- 5.12.5 text-shadow
- 5.12.6 text-transform
- 5.13 Rule Properties
- 5.13.1 rule-orientation
- 5.13.2 rule-style
- 5.13.3 rule-thickness
- 5.13.4 length
- 5.14 Page-related Properties
- 5.14.1 page-break-inside
- 5.14.2 orphans
- 5.14.3 widows
- 5.15 Horizontal Float-related Properties
- 5.15.1 float
- 5.15.2 clear
- 5.16 Properties for Number to String Conversion
- 5.16.1 format
- 5.16.2 letter-value
- 5.16.3 digit-group-sep
- 5.16.4 n-digits-per-group
- 5.16.5 sequence-src
- 5.17 Properties for Links
- 5.17.1 external-destination
- 5.17.2 internal-destination
- 5.17.3 show-destination
- 5.17.4 indicate-destination
- 5.17.5 space-above-destination-start
- 5.17.6 space-above-destination-block
- 5.17.7 auto-restore
- 5.17.8 initial
- 5.17.9 name
- 5.17.10 title
- 5.17.11 switch-to
- 5.17.12 state
- 5.18 Miscellaneous Properties
- 5.18.1 clip
- 5.18.2 color
- 5.18.3 direction
- 5.18.4 font-height-override-after
- 5.18.5 font-height-override-before
- 5.18.6 href
- 5.18.7 hyphenation-keep
- 5.18.8 hyphenation-ladder-count
- 5.18.9 id
- 5.18.10 inhibit-line-breaks
- 5.18.11 last-line-end-indent
- 5.18.12 line-height-shift-adjustment
- 5.18.13 line-height
- 5.18.14 line-stacking-strategy
- 5.18.15 min-width
- 5.18.16 max-width
- 5.18.17 height
- 5.18.18 min-height
- 5.18.19 max-height
- 5.18.20 overflow
- 5.18.21 ref-id
- 5.18.22 provisional-label-separation
- 5.18.23 provisional-distance-between-starts
- 5.18.24 space-between-list-rows
- 5.18.25 reference-orientation
- 5.18.26 scale
- 5.18.27 score-spaces
- 5.18.28 size
- 5.18.29 span
- 5.18.30 width
- 5.18.31 text-align
- 5.18.32 text-align-last
- 5.18.33 text-indent
- 5.18.34 vertical-align
- 5.18.35 visibility
- 5.18.36 wrap-option
- 5.18.37 white-space-treatment
- 5.18.38 writing-mode
- 5.18.39 z-index
- 6. Defined Terms
Appendices
- A. DTD for XSL Formatting Objects
- B. References
- B.1 Normative References
- B.2 Other References
- C. Acknowledgements (Non-Normative)