# Conformance

Abstract

xmlroff Conformance to XSL 1.0 Recommendation

The XSL Recommendation defines the behaviors of two classes of formatters based on their media type: visual and aural. It further divides the class of visual formatters into interactive media and non-interactive media formatters.

xmlroff is a visual formatter for non-interactive media.

xmlroff implements a range of formatting objects and properties from the Basic, Extended, and Complete conformance levels.

xmlroff does not claim Basic conformance to the XSL Recommendation since it does not yet implement all of the Basic level formatting objects and properties.

xmlroff supports both "lr-tb" and "rl-tb" values of the writing-mode property (and the "lr" and "rl" shorthands).

### Conformance Levels

From Section 8, Conformance, of the XSL Recommendation:

> This specification defines three levels of conformance, in order of completeness:

> Level | Description
> --- | ---
> Basic | Includes the set of formatting objects and properties needed to support a minimum level of pagination or aural rendering.
> Extended | Includes everything else, except for shorthands. It is intended for applications whose goal is to provide sophisticated pagination.
> Complete | Includes everything.

> Conformance to this specification is expressed in terms of conformance to any of the above levels.

> 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.

Conformance for visual and aural XSL formatters is defined separately for each formatting object. For example, implementing fo:page-number is necessary for Basic level conformance for a visual formatter, but only necessary for Extended level conformance for an aural formatter.

In contrast, formatting object properties only have one defined conformance level, but there are also some properties that apply to only one class of formatter. For example, page-height and voice-family are both in the set of properties for Basic level conformance, but page-height applies only to visual media and voice-family applies only to aural media.

Appendix B and Section C.3 of the XSL Recommendation list a proposed fallback treatment for each Extended level formatting object and property. The fallbacks are defined "[i]n order to ensure interoperability." Also, "[c]orrect processing of fallbacks does not constitute conformance."

All formatting objects are assigned to either Basic or Extended level conformance. There are no Complete level formatting objects.

Some formatting objects are specific to Extended level conformant interactive media formatters. Non-interactive media formatters such as xmlroff, however, must, for Extended level conformance, implement the proposed fallback treatment of the Extended level interactive media formatting objects.

### Stated Conformance

The stated conformance also has three levels:

Level | Description
--- | ---
Yes | xmlroff implements the formatting object, property, or fallback behaviour, possibly with some caveats.
No | xmlroff does not implement the formatting object, property, or fallback behaviour, but a workaround may also be suggested.
N/A | xmlroff does not need to formatting object, property, or fallback behaviour. For example, xmlroff does not implement properties for aural or interactive presentation, and it does not implement fallback behaviour for implemented formatting objects.

### Formatting Objects

All the formatting object specified by the XSL 1.0 Recommendation are accepted. Not all are supported, however.

The following tables are based on the tables in Appendix B of the XSL Recommendation. The conformance level and proposed fallback treatment for visual processors are shown along with an indication of whether xmlroff implements the formatting object or the fallback treatment. Conformance level and fallbacks for aural processors are not shown.

#### Declaration and Pagination and Layout Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:root | Basic | Yes | - | N/A
fo:page-sequence | Basic | Yes | - | N/A
fo:page-sequence-master | Basic | Yes | - | N/A
fo:single-page-master-reference | Basic | No | - | N/A
fo:repeatable-page-master-reference | Basic | No | - | N/A
fo:repeatable-page-master-alternatives | Extended | No | Use the page-master referenced in the first fo:conditional-page-master-reference child | No
fo:conditional-page-master-reference | Extended | No | Use the page-master referenced in the first fo:conditional-page-master-reference child | No
fo:layout-master-set | Basic | Yes | - | N/A
fo:simple-page-master | Basic | Yes | - | N/A
fo:region-body | Basic | Yes | - | N/A
fo:region-before | Extended | No | Include after content of body region is placed | No
fo:region-after | Extended | No | Include after content of body region is placed. | No
fo:region-start | Extended | No | Include after content of body region is placed | No
fo:region-end | Extended | No | Include after content of body region is placed | No
fo:declarations | Basic | Yes | - | N/A
fo:color-profile | Extended | No | Ignore, use the sRGB fallback of the rgb-icc function | No
fo:flow | Basic | Yes | - | N/A
fo:static-content | Extended | No | Include after content of body region is placed | No
fo:title | Extended | No | Include before content of body region is placed | No

#### Block Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:block | Basic | Yes | - | N/A
fo:block-container | Extended | No | Display indication that content cannot be correctly rendered | No

#### Inline Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:bidi-override | Extended | Yes | Display indication that content cannot be correctly rendered. | N/A
fo:character | Basic | Yes | - | N/A
fo:initial-property-set | Extended | No | Ignore any properties specified on this object. | Yes
fo:external-graphic | Basic | Yes. Supported formats determined by underlying graphics library. | - | N/A
fo:instream-foreign-object | Extended | No | Display an indication that content cannot be correctly rendered. | No
fo:inline | Basic | Yes | - | N/A
fo:inline-container | Extended | No | Display indication that content cannot be correctly rendered. | No
fo:leader | Basic | No | - | N/A
fo:page-number | Basic | No | - | N/A
fo:page-number-citation | Extended | No | Display an indication that content cannot be correctly rendered. | No

#### Table Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:table-and-caption | Basic | No | - | N/A
fo:table | Basic | Yes | - | N/A
fo:table-column | Basic | Yes | - | N/A

fo:table-caption

Extended

No

- caption-side="start" becomes caption-side="before"

- caption-side="end" becomes caption-side="after"

- caption-side="left" becomes caption-side="before"

- caption-side="right" becomes caption-side="after"

No

fo:table-header | Basic | No | - | N/A
fo:table-footer | Extended | No | Place at end of table. | No
fo:table-body | Basic | Yes | - | N/A
fo:table-row | Basic | Yes | - | N/A
fo:table-cell | Basic | Yes | - | N/A

#### List Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:list-block | Basic | Yes | - | N/A
fo:list-item | Basic | Yes | - | N/A
fo:list-item-body | Basic | Yes | - | N/A
fo:list-item-label | Extended | Yes | Labels that break across multiple lines are treated as separate blocks before list-item-body. | N/A

#### Link and Multi Formatting Objects

xmlroff is a non-interactive media formatter. Only the fallback treatment for the interactive media formatting objects will be implemented.

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:basic-link | Extended | No | Promote content to parent formatting object. | No
fo:multi-switch | Extended. Need not be implemented for extended conformance for non-interactive media | No | For basic conformance and extended conformance for non-interactive media: utilize the contents of the first eligible multi-case formatting object. | No
fo:multi-case | Basic Needed as wrapper for fallback for multi-switch | No | - | N/A
fo:multi-toggle | Extended. Need not be implemented for extended conformance for non-interactive media | No | For basic conformance and extended conformance for non-interactive media: promote content to parent formatting object. | No
fo:multi-properties | Extended. Need not be implemented for extended conformance for non-interactive media | No | For basic conformance and extended conformance for non-interactive media: promote content to parent formatting object. | No
fo:multi-property-set | Extended. Need not be implemented for extended conformance for non-interactive media | No | For basic conformance and extended conformance for non-interactive media: ignore. | No

#### Out-of-line Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:float | Extended | No | Place inline. | No
fo:footnote | Extended | No | Place inline. | No
fo:footnote-body | Extended | No | Place inline. | No

#### Other Formatting Objects

Formatting Object | Level | xmlroff | Fallback | xmlroff
--- | --- | --- | --- | ---
fo:wrapper | Basic | Yes | - | N/A
fo:marker | Extended | No | Ignore. | Yes
fo:retrieve-marker | Extended | No | Display indication that content cannot be correctly rendered. | No

### Properties

Property | Values | Level | xmlroff
--- | --- | --- | ---
absolute-position | auto | absolute | fixed | inherit | Complete | No
active-state | link | visited | active | hover | focus | Extended | N/A
alignment-adjust | auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | <percentage> | <length> | inherit | Basic | Yes
alignment-baseline | auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit | Basic | Yes
auto-restore | true | false | Extended | N/A
azimuth | <angle> | [[ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards | inherit | Basic | N/A
background | [<background-color> || <background-image> || <background-repeat> || <background-attachment> || <background-position> ]] | inherit | Complete | No
background-attachment | scroll | fixed | inherit | Extended | No
background-color | <color> | transparent | inherit | Basic | Yes
background-image | <uri-specification> | none | inherit | Extended | No
background-position | [ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit | Complete | No
background-position-horizontal | <percentage> | <length> | left | center | right | inherit | Extended | No
background-position-vertical | <percentage> | <length> | top | center | bottom | inherit | Extended | No
background-repeat | repeat | repeat-x | repeat-y | no-repeat | inherit | Extended | No
baseline-shift | baseline | sub | super | <percentage> | <length> | inherit | Basic | Yes
blank-or-not-blank | blank | not-blank | any | inherit | Extended | No
block-progression-dimension | auto | <length> | <percentage> | <length-range> | inherit | Basic | Yes
border | [ <border-width> || <border-style> || <color> ] | inherit | Complete | No. Use individual properties instead.
border-after-color | <color> | inherit | Basic | Yes
border-after-precedence | force | <integer> | inherit | Basic | No
border-after-style | <border-style> | inherit | Basic | Yes
border-after-width | <border-width> | <length-conditional> | inherit | Basic | Yes
border-before-color | <color> | inherit | Basic | Yes
border-before-precedence | force | <integer> | inherit | Basic | No
border-before-style | <border-style> | inherit | Basic | Yes
border-before-width | <border-width> | <length-conditional> | inherit | Basic | Yes
border-bottom | [ <border-width> || <border-style> || <color> ] | inherit | Complete | No. Use individual properties instead.
border-bottom-color | <color> | inherit | Basic | Yes
border-bottom-style | <border-style> | inherit | Basic | Yes
border-bottom-width | <border-width> | inherit | Basic | Yes
border-collapse | collapse | collapse-with-precedence | separate | inherit | Extended | No
border-color | [ <color> | transparent ]{1,4} | inherit | Complete | No. Use individual properties instead.
border-end-color | <color> | inherit | Basic | Yes
border-end-precedence | force | <integer> | inherit | Basic | No
border-end-style | <border-style> | inherit | Basic | Yes
border-end-width | <border-width> | <length-conditional> | inherit | Basic | Yes
border-left | [ <border-width> || <border-style> || <color> ] | inherit | Complete | No. Use individual properties instead.
border-left-color | <color> | inherit | Basic | Yes
border-left-style | <border-style> | inherit | Basic | Yes
border-left-width | <border-width> | inherit | Basic | Yes
border-right | [ <border-width> || <border-style> || <color> ] | inherit | Complete | No. Use individual properties instead.
border-right-color | <color> | inherit | Basic | Yes
border-right-style | <border-style> | inherit | Basic | Yes
border-right-width | <border-width> | inherit | Basic | Yes
border-separation | <length-bp-ip-direction> | inherit | Extended | No
border-spacing | <length> <length>? | inherit | Complete | No
border-start-color | <color> | inherit | Basic | Yes
border-start-precedence | force | <integer> | inherit | Basic | No
border-start-style | <border-style> | inherit | Basic | Yes
border-start-width | <border-width> | <length-conditional> | inherit | Basic | Yes
border-style | <border-style>{1,4} | inherit | Complete | No. Use individual properties instead.
border-top | [ <border-width> || <border-style> || <color> ] | inherit | Complete | No. Use individual properties instead.
border-top-color | <color> | inherit | Basic | Yes
border-top-style | <border-style> | inherit | Basic | Yes
border-top-width | <border-width> | inherit | Basic | Yes
border-width | <border-width>{1,4} | inherit | Complete | No. Use individual properties instead.
bottom | <length> | <percentage> | auto | inherit | Extended | No. Use individual properties instead.
break-after | auto | column | page | even-page | odd-page | inherit | Basic | Yes
break-before | auto | column | page | even-page | odd-page | inherit | Basic | Yes
caption-side | before | after | start | end | top | bottom | left | right | inherit | Complete | No
case-name | <name> | Extended | N/A
case-title | <string> | Extended | N/A
character | <character> | Basic | Yes
clear | start | end | left | right | both | none | inherit | Extended | No
clip | <shape> | auto | inherit | Extended | No
color | <color> | inherit | Basic | Yes
color-profile-name | <name> | inherit | Extended | No
column-count | <number> | inherit | Extended | No
column-gap | <length> | <percentage> | inherit | Extended | No
column-number | <number> | Basic | Yes
column-width | <length> | <percentage> | Basic | Yes
content-height | auto | scale-to-fit | <length> | <percentage> | inherit | Extended | No
content-type | <string> | auto | Extended | No. Content type is detected automatically by the image library.
content-width | auto | scale-to-fit | <length> | <percentage> | inherit | Extended | No
country | none | <country> | inherit | Extended | No
cue | <cue-before> || <cue-after> | inherit | Complete | N/A
cue-after | <uri-specification> | none | inherit | Basic | N/A
cue-before | <uri-specification> | none | inherit | Basic | N/A
destination-placement-offset | <length> | Extended | No
direction | ltr | rtl | inherit | Basic | Yes
display-align | auto | before | center | after | inherit | Extended | No
dominant-baseline | auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge | inherit | Basic | Yes
elevation | <angle> | below | level | above | higher | lower | inherit | Basic | N/A
empty-cells | show | hide | inherit | Extended | No
end-indent | <length> | <percentage> | inherit | Basic | Yes
ends-row | true | false | Extended | No
extent | <length> | <percentage> | inherit | Extended | No
external-destination | <uri-specification> | Extended | No
float | before | start | end | left | right | none | inherit | Extended | No
flow-name | <name> | Basic | Yes
font | [ [ <font-style> || <font-variant> || <font-weight> ]? <font-size> [ / <line-height>]? <font-family> ] | caption | icon | menu | message-box | small-caption | status-bar | inherit | Complete | No. Use individual properties instead.
font-family | [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>] | inherit | Basic | Yes
font-selection-strategy | auto | character-by-character | inherit | Complete | No
font-size | <absolute-size> | <relative-size> | <length> | <percentage> | inherit | Basic | Yes
font-size-adjust | <number> | none | inherit | Extended | No
font-stretch | normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit | Extended | Yes
font-style | normal | italic | oblique | backslant | inherit | Basic | Yes
font-variant | normal | small-caps | inherit | Basic | Yes
font-weight | normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit | Basic | Yes
force-page-count | auto | even | odd | end-on-even | end-on-odd | no-force | inherit | Extended | No
format | <string> | Basic | Yes
glyph-orientation-horizontal | <angle> | inherit | Extended | No
glyph-orientation-vertical | auto | <angle> | inherit | Extended | No
grouping-separator | <character> | Extended | Yes
grouping-size | <number> | Extended | Yes
height | <length> | <percentage> | auto | inherit | Basic | Yes
hyphenate | false | true | inherit | Extended | No
hyphenation-character | <character> | inherit | Extended | No
hyphenation-keep | auto | column | page | inherit | Extended | No
hyphenation-ladder-count | no-limit | <number> | inherit | Extended | No
hyphenation-push-character-count | <number> | inherit | Extended | No
hyphenation-remain-character-count | <number> | inherit | Extended | No
id | <id> | Basic | Yes
indicate-destination | true | false | Extended | No
initial-page-number | auto | auto-odd | auto-even | <number> | inherit | Basic | Yes
inline-progression-dimension | auto | <length> | <percentage> | <length-range> | inherit | Basic | Yes
internal-destination | empty string | <idref> | Extended | No
intrusion-displace | auto | none | line | indent | block | inherit | Extended | No
keep-together | <keep> | inherit | Extended | Yes
keep-with-next | <keep> | inherit | Basic | Yes
keep-with-previous | <keep> | inherit | Basic | Yes
language | none | <language> | inherit | Extended | No
last-line-end-indent | <length> | <percentage> | inherit | Extended | No
leader-alignment | none | reference-area | page | inherit | Extended | No
leader-length | <length-range> | <percentage> | inherit | Basic | No
leader-pattern | space | rule | dots | use-content | inherit | Basic | No
leader-pattern-width | use-font-metrics | <length> | <percentage> | inherit | Extended | No
left | <length> | <percentage> | auto | inherit | Extended | No
letter-spacing | normal | <length> | <space> | inherit | Extended | No
letter-value | auto | alphabetic | traditional | Basic | Yes
linefeed-treatment | ignore | preserve | treat-as-space | treat-as-zero-width-space | inherit | Extended | No
line-height | normal | <length> | <number> | <percentage> | <space> | inherit | Basic | Yes
line-height-shift-adjustment | consider-shifts | disregard-shifts | inherit | Extended | No
line-stacking-strategy | line-height | font-height | max-height | inherit | Basic | Yes
margin | <margin-width>{1,4} | inherit | Complete | No. Use individual properties instead.
margin-bottom | <margin-width> | inherit | Basic | Yes
margin-left | <margin-width> | inherit | Basic | Yes
margin-right | <margin-width> | inherit | Basic | Yes
margin-top | <margin-width> | inherit | Basic | Yes
marker-class-name | <name> | Extended | No
master-name | <name> | Basic | Yes
master-reference | <name> | Basic | Yes
max-height | <length> | <percentage> | none | inherit | Complete | No
maximum-repeats | <number> | no-limit | inherit | Extended | No
max-width | <length> | <percentage> | none | inherit | Complete | No
media-usage | auto | paginate | bounded-in-one-dimension | unbounded | Extended | Yes
min-height | <length> | <percentage> | inherit | Complete | No
min-width | <length> | <percentage> | inherit | Complete | No
number-columns-repeated | <number> | Basic | Yes
number-columns-spanned | <number> | Basic | Yes
number-rows-spanned | <number> | Basic | Yes
odd-or-even | odd | even | any | inherit | Extended | No
orphans | <integer> | inherit | Basic | Yes
overflow | visible | hidden | scroll | error-if-overflow | auto | inherit | Basic | No
padding | <padding-width>{1,4} | inherit | Complete | Yes
padding-after | <padding-width> | <length-conditional> | inherit | Basic | Yes
padding-before | <padding-width> | <length-conditional> | inherit | Basic | Yes
padding-bottom | <padding-width> | inherit | Basic | Yes
padding-end | <padding-width> | <length-conditional> | inherit | Basic | Yes
padding-left | <padding-width> | inherit | Basic | Yes
padding-right | <padding-width> | inherit | Basic | Yes
padding-start | <padding-width> | <length-conditional> | inherit | Basic | Yes
padding-top | <padding-width> | inherit | Basic | Yes
page-break-after | auto | always | avoid | left | right | inherit | Complete | No
page-break-before | auto | always | avoid | left | right | inherit | Complete | No
page-break-inside | avoid | auto | inherit | Complete | No
page-height | auto | indefinite | <length> | inherit | Basic | Yes
page-position | first | last | rest | any | inherit | Extended | No
page-width | auto | indefinite | <length> | inherit | Basic | Yes
pause | [<time> | <percentage>]{1,2} | inherit | Complete | N/A
pause-after | <time> | <percentage> | inherit | Basic | N/A
pause-before | <time> | <percentage> | inherit | Basic | N/A
pitch | <frequency> | x-low | low | medium | high | x-high | inherit | Basic | N/A
pitch-range | <number> | inherit | Basic | N/A
play-during | <uri-specification> mix? repeat? | auto | none | inherit | Basic | N/A
position | static | relative | absolute | fixed | inherit | Complete | No
precedence | true | false | inherit | Extended | No
provisional-distance-between-starts | <length> | <percentage> | inherit | Basic | Yes
provisional-label-separation | <length> | <percentage> | inherit | Basic | Yes
reference-orientation | 0 | 90 | 180 | 270 | -90 | -180 | -270 | inherit | Extended | No
ref-id | <idref> | inherit | Extended | No
region-name | xsl-region-body | xsl-region-start | xsl-region-end | xsl-region-before | xsl-region-after | xsl-before-float-separator | xsl-footnote-separator | <name> | Basic | Yes
relative-align | before | baseline | inherit | Extended | No
relative-position | static | relative | inherit | Extended | No
rendering-intent | auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric | inherit | Extended | No
retrieve-boundary | page | page-sequence | document | Extended | No
retrieve-class-name | <name> | Extended | No
retrieve-position | first-starting-within-page | first-including-carryover | last-starting-within-page | last-ending-within-page | Extended | No
richness | <number> | inherit | Basic | N/A
right | <length> | <percentage> | auto | inherit | Extended | No
role | <string> | <uri-specification> | none | inherit | Basic | Yes
rule-style | none | dotted | dashed | solid | double | groove | ridge | inherit | Basic | No
rule-thickness | <length> | Basic | No
scaling | uniform | non-uniform | inherit | Extended | No
scaling-method | auto | integer-pixels | resample-any-method | inherit | Extended | No
score-spaces | true | false | inherit | Extended | No
script | none | auto | <script> | inherit | Extended | No
show-destination | replace | new | Extended | No
size | <length>{1,2} | auto | landscape | portrait | inherit | Complete | No
source-document | <uri-specification> [<uri-specification>]* | none | inherit | Basic | Yes
space-after | <space> | inherit | Basic | Yes
space-before | <space> | inherit | Basic | Yes
space-end | <space> | <percentage> | inherit | Basic | Yes
space-start | <space> | <percentage> | inherit | Basic | Yes
span | none | all | inherit | Extended | No
speak | normal | none | spell-out | inherit | Basic | N/A
speak-header | once | always | inherit | Basic | N/A
speak-numeral | digits | continuous | inherit | Basic | N/A
speak-punctuation | code | none | inherit | Basic | N/A
speech-rate | <number> | x-slow | slow | medium | fast | x-fast | faster | slower | inherit | Basic | N/A
src | <uri-specification> | inherit | Basic | Yes. Only local files are supported at present.
start-indent | <length> | <percentage> | inherit | Basic | Yes
starting-state | show | hide | Extended | No
starts-row | true | false | Extended | No
stress | <number> | inherit | Basic | N/A
suppress-at-line-break | auto | suppress | retain | inherit | Extended | No
switch-to | xsl-preceding | xsl-following | xsl-any | <name>[ <name>]* | Extended | No
table-layout | auto | fixed | inherit | Extended | 'fixed' only
table-omit-footer-at-break | true | false | Extended | No
table-omit-header-at-break | true | false | Extended | No
target-presentation-context | use-target-processing-context | <uri-specification> | Extended | No
target-processing-context | document-root | <uri-specification> | Extended | No
target-stylesheet | use-normal-stylesheet | <uri-specification> | Extended | No
text-align | start | center | end | justify | inside | outside | left | right | <string> | inherit | Basic | Yes
text-align-last | relative | start | center | end | justify | inside | outside | left | right | inherit | Extended | No
text-altitude | use-font-metrics | <length> | <percentage> | inherit | Extended | No
text-decoration | none | [ [ underline | no-underline] || [ overline | no-overline ] || [ line-through | no-line-through ] || [ blink | no-blink ] ] | inherit | Extended | No
text-depth | use-font-metrics | <length> | <percentage> | inherit | Extended | No
text-indent | <length> | <percentage> | inherit | Basic | Yes
text-shadow | none | [<color> || <length> <length> <length>? ,]* [<color> || <length> <length> <length>?] | inherit | Extended | No
text-transform | capitalize | uppercase | lowercase | none | inherit | Extended | No
top | <length> | <percentage> | auto | inherit | Extended | No
treat-as-word-space | auto | true | false | inherit | Extended | No
unicode-bidi | normal | embed | bidi-override | inherit | Extended | Yes
vertical-align | baseline | middle | sub | super | text-top | text-bottom | <percentage> | <length> | top | bottom | inherit | Complete | No
visibility | visible | hidden | collapse | inherit | Extended | No
voice-family | [[<specific-voice> | <generic-voice> ],]* [<specific-voice> | <generic-voice> ] | inherit | Basic | N/A
volume | <number> | <percentage> | silent | x-soft | soft | medium | loud | x-loud | inherit | Basic | N/A
white-space | normal | pre | nowrap | inherit | Complete | No
white-space-collapse | false | true | inherit | Extended | No
white-space-treatment | ignore | preserve | ignore-if-before-linefeed | ignore-if-after-linefeed | ignore-if-surrounding-linefeed | inherit | Extended | No
widows | <integer> | inherit | Basic | Yes
width | <length> | <percentage> | auto | inherit | Basic | No
word-spacing | normal | <length> | <space> | inherit | Extended | No
wrap-option | no-wrap | wrap | inherit | Basic | No
writing-mode | lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit | Basic | Yes
xml:lang | <country-language> | inherit | Complete | No
z-index | auto | <integer> | inherit | Extended | No