Extensions

XSL Formatter V3.4 provides you with numerous XSL proprietary extension elements and properties. When you use the extension elements or properties, please be sure to specify the namespace URL http://www.antennahouse.com/names/XSL/Extensions.

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">

Extended Elements

Element name Comments
axf:document-info Specifies the document information. This information is embedded into the PDF.
axf:output-volume-info Outputs PDF in Multi Separate Volume. no-LT
axf:space-after-punctuation Specifies the amount of space after the punctuation in European Typography. V3.4 no-LT
axf:space-before-punctuation Specifies the amount of space before the punctuation in European Typography. V3.4 no-LT
axf:space-between-digit-and-punctuation Specifies the amount of space between the digit and the punctuation in European Typography. V3.4 no-LT
axf:space-between-punctuation-and-digit Specifies the amount of space between the punctuation and digit in European Typography. V3.4 no-LT

Extended Properties

Property name Comments
axf:action-type Specifies the action of external link. no-LT
axf:annotation-contents Specifies the content of the annotation. no-LT
axf:annotation-color Specifies the color used for the background of the annotation. no-LT
axf:annotation-file-attachment Specifies the file with which file attachment annotation is related. no-LT
axf:annotation-flags Specifies the flag of the annotation. no-LT
axf:annotation-font-family Specifies the font family of the free text annotation. no-LT
axf:annotation-font-size Specifies the font size of the free text annotation. no-LT
axf:annotation-font-style Specifies whether to make the font of the free text annotation italic. no-LT
axf:annotation-font-weight Specifies the font weight of the free text annotation. no-LT
axf:annotation-height Specifies the height of the annotation. no-LT
axf:annotation-icon-name Specifies the name of the icon used for displaying the annotation. no-LT
axf:annotation-open Specifies the initial state of the annotation. no-LT
axf:annotation-position-horizontal Specifies the horizontal position of the annotation. no-LT
axf:annotation-position-vertical Specifies the vertical position of the annotation. no-LT
axf:annotation-text-color Specifies the color of the free text annotation. no-LT
axf:annotation-text-align Specifies the alignment of the free text annotation. no-LT
axf:annotation-title Specifies the title of the annotation. no-LT
axf:annotation-type Specifies the type of the annotation. no-LT
axf:annotation-width Specifies the width of the annotation. no-LT
axf:append-non-end-of-line-characters Specifies to append the non-end-of-line-characters. no-LT
axf:append-non-starter-characters Specifies to append the non-starter characters. no-LT
axf:assumed-page-number Specifies the assumed page number.
axf:assumed-page-number-prefix Specifies the assumed page number prefix.
axf:avoid-widow-words Specifies so that the last line of the paragraph does not become one word. V3.4 no-LT
axf:background-color Specifies the background color of the page.
axf:background-image Specifies the background image of the page.
axf:background-position-horizontal Specifies the the horizontal position of the background image of the page.
axf:background-position-vertical Specifies the the vertical position of the background image of the page.
axf:background-repeat Specifies whether the background image of the page is repeated, and how.
axf:base-uri Specifies the location which becomes the base of relative URI.
axf:bleed Specifies the width of the bleed region for cutting off. no-LT
axf:bleed-bottom Specifies the width of the bleed region on the bottom for cutting off. no-LT
axf:bleed-left Specifies the width of the bleed region on the left for cutting off. no-LT
axf:bleed-right Specifies the width of the bleed region on the right for cutting off. no-LT
axf:bleed-top Specifies the width of the bleed region on the top for cutting off. no-LT
axf:bookmark-include Specifies how to include bookmarks of PDF in Multi Separate Volume. no-LT
axf:border-bottom-left-radius Specifies the bottom left border of the radius. no-LT
axf:border-bottom-right-radius Specifies the bottom right border of the radius. no-LT
axf:border-radius Specifies the border of the radius. no-LT
axf:border-top-left-radius Specifies the top left border of the radius. no-LT
axf:border-top-right-radius Specifies the top right border of the radius. no-LT
axf:box-shadow Specifies the box shadow. no-LT
axf:column-count Specifies the column count of the block. no-LT
axf:column-gap Specifies the column gap of the block. no-LT
axf:column-number-format Specifies the format of column number.
axf:column-rule-align Specifies the alignment of the column rule.
axf:column-rule-color Specifies the color of the column rule.
axf:column-rule-length Specifies the length of the column rule.
axf:column-rule-style Specifies the style of the column rule.
axf:column-rule-width Specifies the width of the column rule.
axf:crop-offset Specifies the distance from the physical end to the trim size of the output medium. no-LT
axf:crop-offset-bottom Specifies the distance from the physical bottom edge to the trim size of the output medium. no-LT
axf:crop-offset-left Specifies the distance from the physical left edge to the trim size of the output medium. no-LT
axf:crop-offset-right Specifies the distance from the physical right edge to the trim size of the output medium. no-LT
axf:crop-offset-top Specifies the distance from the physical top edge to the trim size of the output medium. no-LT
axf:destination-type Specifies the type of destination for external links. no-LT
axf:diagonal-border-color Specifies the color of the diagonal border.
axf:diagonal-border-style Specifies the style of the diagonal border.
axf:diagonal-border-width Specifies the width of the diagonal border.
axf:except-non-end-of-line-characters Specifies to except the non-end-of-line-characters. no-LT
axf:except-non-starter-characters Specifies to except the non-starter characters. no-LT
axf:footnote-align Specifies the alignment of the footnote. no-LT
axf:footnote-position Specifies whether to layout the footnotes in each column or not.
axf:footnote-stacking Specifies the method to layout the footnote. no-LT
axf:hanging-punctuation Specifies whether to wrap punctuation characters or not. no-LT
axf:initial-volume-number Specifies the initial volume number of PDF in Multi Separate Volume. no-LT
axf:justify-nbsp Specifies whether to include NON-BREAKING SPACE for justification or not.
axf:kerning-mode Specifies whether to trim adjacent full width punctuations. no-LT
axf:line-break Specifies the method of line breaking. no-LT
axf:line-number Specifies whether to show line numbers. V3.4 no-LT
axf:line-number-background-color Specifies the background color of line numbers. V3.4 no-LT
axf:line-number-display-align Specifies the alignment of line numbers in the line area. V3.4 no-LT
axf:line-number-color Specifies the color of line numbers. V3.4 no-LT
axf:line-number-font-family Specifies the font family of line numbers. V3.4 no-LT
axf:line-number-font-size Specifies the font size of line numbers. V3.4 no-LT
axf:line-number-font-style Specifies whether to make the font style italic. V3.4 no-LT
axf:line-number-font-weight Specifies the font weight of line numbers. V3.4 no-LT
axf:line-number-format Specifies the format of line numbers. V3.4 no-LT
axf:line-number-initial Specifies the line number of the first line. V3.4 no-LT
axf:line-number-interval Specifies the spacing between line numbers. V3.4 no-LT
axf:line-number-offset Specifies the offset of line numbers. V3.4 no-LT
axf:line-number-position Specifies the position of line numbers. V3.4 no-LT
axf:line-number-reset Reset line numbering. V3.4 no-LT
axf:line-number-start Specifies the starting line numbers. V3.4 no-LT
axf:line-number-text-decoration Specifies the text decoration of line numbers. V3.4 no-LT
axf:number-type Specifies whether to output the page number or to output the column number.
axf:origin-id Specifies the origin of the page number.
axf:outline-color Specifies the color of the title for the PDF bookmark. no-LT
axf:outline-expand Specifies whether to display the lower hierarchy or not.
axf:outline-external-destination Sets the external link in the PDF bookmark. no-LT
axf:outline-font-style Specifies the font style of the title for the PDF bookmark. no-LT
axf:outline-font-weight Specifies the font weight of the title for the PDF bookmark. no-LT
axf:outline-group Groups bookmark items of PDF, and outputs them collectively.
axf:outline-internal-destination Sets the internal link in the PDF bookmark. no-LT
axf:outline-level This indicates the hierarchy level of bookmark items.
axf:outline-title A string which appears as a title for bookmarks.
axf:output-volume-break Separates the PDF in multi volume. no-LT
axf:output-volume-filename Specifies the document file name in multi volume. no-LT
axf:overflow-condense Specifies how to condense the overflowed text within the region.
axf:overflow-replace An alternative character string of the overflow text is specified.
axf:page-number-prefix Sets the prefix of page number.
axf:physical-page-number Gets the physical page number.
axf:printer-marks Specifies the printer marks, such as a crop mark. no-LT
axf:printer-marks-line-width Specifies the line width of the printer marks. no-LT
axf:punctuation-spacing Specifies the width of adjacent full width punctuations. no-LT
axf:punctuation-trim Specifies whether to treat full width punctuations as half width. no-LT
axf:reverse-diagonal-border-color Specifies the color of the reverse diagonal border.
axf:reverse-diagonal-border-style Specifies the style of the reverse diagonal border.
axf:reverse-diagonal-border-width Specifies the width of the reverse diagonal border.
axf:revision-bar-color Specifies the color of Revision Bar.
axf:revision-bar-offset Specifies the offset of Revision Bar.
axf:revision-bar-position Specifies the position of Revision Bar.
axf:revision-bar-style Specifies the style of Revision Bar.
axf:revision-bar-width Specifies the width of Revision Bar.
axf:soft-hyphen-treatment Specifies to output SOFT HYPHEN.
axf:suppress-duplicate-footnote Specifies to delete the duplicated footnotes.
axf:suppress-duplicate-page-number Specifies to delete the duplicated page numbers.
axf:text-autospace Specifies whether to add space surrounding ideographic glyphs or not. no-LT
axf:text-autospace-width Specifies the width for axf:text-autospace. no-LT
axf:text-kashida-space Specifies the percentage of Kashida in Arabic. no-LT
axf:vertical-underline-side Specifies the side for underline in vertical writing-mode. no-LT
axf:word-break Specifies whether to enable line breaking between word. no-LT

Extended Values

Property name Comments
border-style
border-*-style
Extended the dot-dash, dot-dot-dash, and wave properties defined in CSS3.
clear Extends the value of the clear property.
float Extends the value of the float property.
font-stretch Extends the value of the font-stretch property.
force-page-count Extends the value of the force-page-count property.
internal-destination Extends the value of the internal-destination property. no-LT
overflow Extends the value of the overflow property.
page-position Extends the value of the page-position property.

Other Extensions

  1. In the XSL Specification, the width of the padding or the border specified to fo:region-body or fo:region-before, etc. should be zero. XSL Formatter V3.4 can accept and process values other than zero. The following is sample code.

    <fo:region-body padding="1.5cm" border-color="red" border-style="solid" border-width="2pt" />

  2. In the XSL Specification, the value of the <script> specified in the script property is supposed to be regulated in ISO15924. XSL Formatter V3.4 allows to specify the following language codes which can be used for xml:lang, etc. by reason of supporting CJK.

    ja Japanese (includes Hiragana and Katakana)
    ko Korean (includes Hangul)
    zh-CN Chinese Simplified
    zh-TW Chinese Traditional

    For example, zh is the language code defined by ISO639 and CN is the country code defined by ISO3166.

    CAUTION: A country code called CHS is not in ISO3166. Therefore, zh-CHS cannot be specified. Please specify zh-TW instead.

Document Information for PDF Output

This section describes how to embed document information into PDF file.

<axf:document-info>

Document information such as an author and title can be embedded in the PDF. XSL Formatter V3.4 generates document information automatically by adding the following extended elements. The information that was embedded into PDF can be seen by Acrobat Reader.

Common Usage:

Specifies the document information. The information is not included in the generated areas. For example, this information is embedded into PDF.

Areas:

None.

Constraints:
<!ELEMENT axf:document-info EMPTY>
<!ATTLIST axf:document-info
  name   CDATA #REQUIRED
  value  CDATA #REQUIRED
>

The axf:document-info extension property can be placed in any position right under the fo:root and before fo:page-sequence. Its properties are "name" and "value", which are required. The value of 'name' must be one of the followings:

  • "title"

    Specifies the title of the document.

  • "subject"

    Specifies the subtitle of the document.

  • "author"

    Specifies the author of the document.

  • "keywords"

    Enumerates the comma-deliminated keyword.

  • "pagemode" V3.4

    Specifies the method of the display when the document is opened. The following one can be specified.

    • UseNone
      Neither document outline nor thumbnail images visible
    • UseOutlines
      Document outline visible
    • UseThumbs
      Thumbnail images visible
    • FullScreen
      Full-screen mode, with no menu bar, window controls, or any other window visible
    • UseOC
      Optional content group panel visible

    UseOC can be specified for PDF1.5 or later. The default is UseNone.

  • "openaction" V3.4

    Specifies the address displayed when the document is opened or the action executed. The value similar to <number-with-fragment> of internal-destination can be described here. Refer to Making Link too.

Contents:

EMPTY

Examples:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">
  <axf:document-info name="title" value="The document title"/>
  <axf:document-info name="subject" value="The document subject"/>
  <axf:document-info name="author" value="The author"/>
  <axf:document-info name="keywords" value="Comma separated keywords list"/>
...

axf:document-info as a child of fo:page-sequence is effective only for PDF output in multi separate volume. axf:document-info as a child of fo:page-sequence overwrites axf:document-info as a child of fo:root and is utilized for an information of the document when outputting in separate volume. Therefore the same document information is embedded in all the separate volumes unless axf:document-info is specified to fo:page-sequence.

"openaction" and "pagemode" cannot be specified for the multi separate volume. Only the specification of the right under of fo:root is effective. When the separate volume is output, it is specified for the first separate volume.

With XSL Formatter V3.4 Lite, axf:document-info specified to fo:page-sequence is ignored.


PDF Output in Multi Separate Volume

XSL Formatter V3.4 makes it possible to out put PDF in Multi Separate Volume. These functions are not available with XSL Formatter V3.4 Lite.

<axf:output-volume-info>

Common Usage:

Makes it possible to output PDF in separate volume per fo:page-sequence when outptting the formatted result.

Areas:

None.

Constraints:
<!ELEMENT axf:output-volume-info EMPTY>
<!ATTLIST axf:output-volume-info
  initial-volume-number  NUMBER "1"
  format                 CDATA  "1"
  bookmark-include (first|all|separate) separate
>

The axf:output-volume-info is placed as a child of fo:root. If it comes before fo:page-sequence appears, it is possible to put it in an arbitrary position under a child of fo:root.

Contents:

EMPTY

Examples:
<axf:output-volume-info
  initial-volume-number="2"
  format="-1"
  bookmark-include="separate"
/>

<fo:page-sequence>
  PAGE-SEQUENCE-1
  ...
</fo:page-sequence>
<fo:page-sequence>
  PAGE-SEQUENCE-2
  ...
</fo:page-sequence>
<fo:page-sequence axf:output-volume-break="true">
  PAGE-SEQUENCE-3
  ...
</fo:page-sequence>

Effective only when outputting to files. It’s not available for printing or stream output. At that time the file name should be given by GUI, command line parameter or etc. The file names of separate volumes are given automatically based on the output file names. This process is done by inputting the strings formatted by the format property right before the file extension of the output file name. In the above example, when document.pdf is given to the file name, PAGE-SEQUENCE-1 and PAGE-SEQUENCE-2 are outputted to document-2.pdf, PAGE-SEQUENCE-3 is outputted to document-3.pdf.

The numeric value applied to the format property can be given by the axf:initial-volume-number property as the initial value. The format property is the same as "7.24.1. format" in the XSL-FO specification.

The volume is separated by the axf:output-volume-break property specified to fo:page-sequence. If the axf:output-volume-filename property is specified, only the separated volumes can be outputted with the specified file name.

The book mark of PDF in multi separate volume can be set by the axf:bookmark-include from the following options.

  • Adds a bookmark to the first separate volume only.
  • Adds bookmarks to all the separate volumes.
  • Adds each bookmark to each separate volume.

The following conditions are required for the actual separate volume.

  • The <axf:output-volume-info> element should be included in FO.
  • The following items are set in each interface.
    GUI Multi Volume should be checked in the PDF Output Dialog.
    Command-line The –multivol parameter should be specified.
    .NET true should be specified to the MultiVolume property.
    COM true should be specified to the MultiVolume property.
    Java The separate volume should be specified by XfoObj::setMultiVolume().
    C++/C The separate volume should be specified by XfoObj::setMultiVolume().

axf:bookmark-include

Specifies how to include bookmarks in multi separate volume. no-LT

Value: first | all | separate
Initial: separate
Applies to: axf:output-volume-info
Inherited: no
Percentages: N/A

Values have the following meanings.

first

Adds a bookmark to the first separate volume.

all

Adds bookmarks to all the separate volumes.

separate

Adds each bookmark to each separate volume. Bookmarks are added to the volume where axf:outline-level="1" appears. The bookmark that goes across the volume is added to the previous volume. For that reason, the external link to the other volume may be included even though axf:bookmark-include="separate" is specified.

This property is not available with XSL Formatter V3.4 Lite.

axf:initial-volume-number

Specifies the initial volume number in multi separate volume. no-LT

Value: <number>
Initial: 1
Applies to: axf:output-volume-info
Inherited: no
Percentages: N/A

This value is applied for the format property and utilized for the PDF file name to output. In the following example, the file name of the separate volume is document-2.pdf, document-3.pdf, document-4.pdf,...

<axf:output-volume-info
  initial-volume-number="2"
  format="-1"
/>

This property is not available with XSL Formatter V3.4 Lite.

axf:output-volume-break

Separates the file in multi volume. no-LT

Value: true | false
Initial: false
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Values have the following meanings.

true

Separates the volume newly from this fo:page-sequence.

false

Do not separates the volume newly from this fo:page-sequence.

Specifies axf:output-volume-break="true" to fo:page-sequence where you want to start separating the volume. The document number increases one by one. When separating the volume, axf:output-volume-break="true" is regarded as always being specified to the first fo:page-sequence. If axf:output-volume-break="false" is specified explicitly, it is ignored.

This property is not available with XSL Formatter V3.4 Lite.

axf:output-volume-filename

Specifies the document file name in multi separate volume. no-LT

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

If nothing specified, the automatic file name using the format property is adopted. If this property is specified, the specified name is adopted. This property is effective only with the top fo:page-sequence or with the fo:page-sequence where axf:output-volume-break="true" is specified.

In the following example, suppose that if document.pdf is specified as the file name of the PDF output, the separated file names will be document-2.pdf, chapterX.pdf, document-4.pdf,...

<axf:output-volume-info
  initial-volume-number="2"
  format="-1"
/>

<fo:page-sequence>
  ...
</fo:page-sequence>
<fo:page-sequence axf:output-volume-break="true" axf:output-volume-filename="ChapterX.pdf">
  ...
</fo:page-sequence>
<fo:page-sequence axf:output-volume-break="true">
  ...
</fo:page-sequence>

The original PDF file name cannot be omitted even though axf:output-volume-filename is specified to all the fo:page-sequence. This property is not available with XSL Formatter V3.4 Lite.


Extension for European Rule

XSL Formatter V3.4 provides the extension for adjusting the amount of space before and after the punctuation in European Typography. These functions are not available with XSL Formatter V3.4 Lite. V3.4 no-LT

<axf:space-after-punctuation>

Specifies the amount of space after the punctuation.

<axf:space-before-punctuation>

Specifies the amount of space before the punctuation.

<axf:space-between-digit-and-punctuation>

Specifies the amount of space between the digit and the punctuation.

<axf:space-between-punctuation-and-digit>

Specifies the amount of space between the punctuation and the digit .

These extension elements are all empty element and can be put on the right under fo:declarations. The area is not generated. The following properties can be specified.

language

Specifies the language code (RFC3066). It is not possible to omit it.

Value: <language>
Initial: N/A
Inherited: no
Percentages: N/A

space

Specifies the amount of space. Specification is invalid when 0 or less.

Value: <length> | <percentage> | figure | punctuation | thin | hair
Initial: N/A
Inherited: no
Percentages: refer to the font size

Values have the following meanings.

figure

Indicates the same amount as U+2007.

punctuation

Indicates the same amount as U+2008.

thin

Indicates the same amount as U+2009.

hair

Indicates the same amount as U+200A.

code

Specifies the code point to be applied.

Value: <string>
Initial: empty string
Inherited: no
Percentages: N/A

language and space are applied to all the specified code points.

For instance, the following would be specified to format French.

<axf:space-before-punctuation code="?" space="1 div 3" language="fr"/>
<axf:space-before-punctuation code="!" space="1 div 3" language="fr"/>
<axf:space-before-punctuation code=";" space="1 div 3" language="fr"/>
<axf:space-before-punctuation code=":" space="1 div 4" language="fr"/>
<axf:space-before-punctuation code="&#xBB;" space="1 div 4" language="fr"/>
<axf:space-after-punctuation code="&#xAB;" space="1 div 4" language="fr"/>
<axf:space-between-punctuation-and-digit code="+" space="thin" language="fr"/>
<axf:space-between-punctuation-and-digit code="&#x2212;" space="thin" language="fr"/>
<axf:space-between-punctuation-and-digit code="&#xB1;" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="%" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="&#x2103;" space="thin" language="fr"/>
<axf:space-between-digit-and-punctuation code="&#x2109;" space="thin" language="fr"/>

These settings for European Typography can also be specified by the Option Setting File. The setting in FO overwrites it.


Bookmark and Link in PDF Output

This section describes how to create bookmark and link within the PDF file.

Making Bookmark

A PDF document has a function called bookmarks. Bookmarks consist of a tree-structured hierarchy which serve as a "visual table of contents," allowing the user to navigate to the target place by clicking on items.

PDF bookmark

XSL Formatter V3.4 generates bookmarks automatically by adding the extended properties to the objects to have bookmarks.

The following sample illustrates how to create the bookmark of the above picture.

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions">
...
<fo:block axf:outline-level="1"
          axf:outline-expand="false"
          axf:outline-title="Colophon">
  ...
</fo:block>
<fo:block axf:outline-level="1"
          axf:outline-expand="false"
          axf:outline-title="Table of Contents">
  ...
</fo:block>
<fo:block axf:outline-level="1"
          axf:outline-expand="true"
          axf:outline-title="1. Introduction and Overview">
  <fo:block axf:outline-level="2"
            axf:outline-expand="true"
            axf:outline-title="1.1. Processing a Stylesheet">
    <fo:block axf:outline-level="3"
              axf:outline-expand="false"
              axf:outline-title="1.1.1. Tree Transformations">
      ...
    </fo:block>
    <fo:block axf:outline-level="3"
              axf:outline-expand="false"
              axf:outline-title="1.1.2. Formatting">
      ...
    </fo:block>
  </fo:block>
  <fo:block axf:outline-level="2"
            axf:outline-expand="false"
            axf:outline-title="1.2. Benefits of XSL">
    ...
  </fo:block>
</fo:block>
<fo:block axf:outline-level="1"
          axf:outline-expand="false"
          axf:outline-title="2. XSL Transformation">
  ...
</fo:block>
...

axf:outline-expand

The axf:outline-expand specifies whether to display the lower hierarchy of bookmark items or not.

Value: true | false
Initial: true
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

True specifies to display the lower hierarchy in the expanded state. False specifies to display in the collapsed state.

axf:outline-group

The axf:outline-group groups bookmark items, and outputs them collectively.

Value: <string>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

If this property is omitted or specifies empty string, bookmark items are not grouped. If this specifies any string, the string is used as the name of group. The group with the same name is outputted collectively. The non-grouped bookmark is outputted as the group without the group name.

axf:outline-level

The axf:outline-level indicates the hierarchy level of bookmark items.

Value: <number>
Initial: 0
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

The <number> must be a non-negative integer. Initial value is zero and it means that bookmarks should not be created. The highest level of bookmarks is 1 and it becomes 2 or more according to the hierarchy level of the bookmarks.

axf:outline-title

The axf:outline-title specifies the string which appears as a title of bookmarks.

Value: <string>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

If this property is omitted or has an empty string, the text of the object to which the property is added will become the title. In other words, the following two samples create the same bookmark.

<fo:block axf:outline-level="2" axf:outline-title="1. Introduction">...
<fo:block axf:outline-level="2">1. Introduction</fo:block>

axf:outline-color

The axf:outline-color specifies the color which appears as a title of bookmarks. no-LT

Value: <color>
Initial: the value of the 'color' property
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

This property is effective with PDF 1.4 or later. This property is not available with XSL Formatter V3.4 Lite.

axf:outline-font-style

The axf:outline-font-style specifies the font style which appears as a title of bookmarks. no-LT

Value: normal | italic
Initial: normal
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

Values have the following meanings.

normal

Specifies normal style.

italic

Specifies italic.

This property is effective with PDF 1.4 or later. This property is not available with XSL Formatter V3.4 Lite.

axf:outline-font-weight

The axf:outline-font-weight specifies the font weight which appears as a title of bookmarks. no-LT

Value: normal | bold
Initial: normal
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

Values have the following meanings.

normal

Specifies normal weight.

bold

Specifies bold weight.

This property is effective with PDF 1.4 or later. This property is not available with XSL Formatter V3.4 Lite.

Remarks

  • These three object properties have to be created in block areas or inline areas. (fo:block, fo:inline ...) If you specify them in an fo:wrapper, for example, they are not effective.
  • When the language is not supported in Acrobat and the font that belongs to the unsupported language is specified for the bookmark, there may be a possibility of the font displaying incorrectly in Adobe Reader.

Making Link

PDF links can be created easily by using fo:basic-link .

PDF links are classified either as an internal link to a specified position in the PDF document, or as a external link to an external document. The internal-destination property of fo:basic-link indicates a link to a position in the same document. The external-destination property indicates a link to an external document. Below are the examples of both.

  • Internal Link
    <fo:block>
    Answer may be found in <fo:basic-link internal-destination="appendix-a">Appendix-A</fo:basic-link>.
    </fo:block>
    ...
    <fo:block id="appendix-a">
    Appendix-A
    </fo:block>
  • External Link
    <fo:block>
    Here is <fo:basic-link external-destination="http://www.w3.org/">W3C Home Page</fo:basic-link>.
    </fo:block>

The external link specified by the relative address is transformed into either 'Open the file' or 'World Wide Web link' by the use-launch-for-relative-uri property in PDF Output Setting. The external link specified by the absolute address is always transformed into 'World Wide Web link'.

Furthermore, it's possible to specify professional links as follows. For further understanding see also "PDF Reference Manual" by Adobe Systems Incorporated. The professional links are not available with XSL Formatter V3.4 Lite.

  • Specifies the following actions for the external link explicitly.
    • Moves the destination inside PDF (GoToR)
    • Opens the file (Launch)
    • World Wide Web link (URI)
  • Possible to specify ID for the external link in PDF as well as the internal link.
  • Possible to specify the page number for the expternal link in PDF.
  • Possible to specify the page number for the internal link.
  • Possible to specify the type of destination for the external link.
  • Possible to specify the external link in the bookmark.
  • Possible to specify the internal link in the bookmark.

The setting of external-destination for the external link in PDF conforms to the following specification of PDF parameters. Not all the parameters are effective with XSL Formatter V3.4. The invalid parameters are ignored.

This specification provides the following examples.

  • http://mydocs/doc.pdf#nameddest=Chapter6
  • http://mydocs/doc.pdf#page=3
  • http://mydocs/doc.pdf#page=3&zoom=200,250,100
  • http://mydocs/doc.pdf#zoom=50
  • http://mydocs/doc.pdf#page=72&view=fitH,100
  • http://mydocs/doc.pdf#view=fitb&nameddest=Chapter3
  • http://mydocs/doc.pdf#pagemode=none
  • http://mydocs/doc.pdf#pagemode=bookmarks&page=2
  • http://mydocs/doc.pdf#page=3&pagemode=thumbs

Only the following parameters are effective with XSL Formatter V3.4. The case sensitivity is ignored.

  • nameddest
  • page
  • zoom
  • view
  • viewrect

For example, it's invalid to specify fitH, fitR and fitBH for the external link. These are effective only with the internal link. If the required values for the PDF parameters are omitted in fitH, etc., the values are accounted as 0.

With the external link for PDF, it's possible to specify whether to open a new window by the show-destination property. A link destination except PDF is invalid. If show-destination="new" is specified, a new window will be opened and PDF will be displayed on the window. If show-destination="replace" is specified, a new window will not be opened but PDF will be displayed in the current window. When nothing specified, it depends on the operation of the PDF viewer application. Although it is defined as "replace" in the XSL-FO specification when the property is omitted, XSL Formatter V3.4 complies with the specification a little differently. show-destination property is invalid under the following conditions.

  • Other than the case that axf:action-type is specified as "gotor" or as "launch" when the link destination is PDF.
  • In the internal link. There may be a case that an internal link is embedded as an external link when separating the volume. show-destination specified to the internal link is effective only in that case.

XSL Formatter V3.4 provides the following extension properties for the professional link.

axf:action-type

Specifies the action of external link. no-LT

Value: gotor | launch | uri | auto
Initial: auto
Applies to: fo:basic-link
Inherited: no
Percentages: N/A

Values have the following meanings.

gotor

Opens the link destination by the "GoToR" action as PDF. The URI of the destination is regarded as PDF.

launch

Opens the link destination by the "Launch" action as the file.

uri

Opens the link destination by the "URI" action as URI (World Wide Web).

auto

Dependent on the system setting.

When the link destination is not a local file, such as http:, the action type is "URI" at any time. When axf:action-type="auto" specified, the external link specified by the relative address is transformed into either 'Open the file' or 'World Wide Web link' by the use-launch-for-relative-uri property in PDF Output Setting. The external link specified by the absolute address is always transformed into 'World Wide Web link'. This property is not available with XSL Formatter V3.4 Lite.

axf:destination-type

Specifies the type of destination for the external link. These are the types of destination for PDF as the external link. no-LT

Value: <string>
Initial: empty string
Applies to: block level formatting object
Inherited: no
Percentages: N/A

The destination type has the following options. If nothing specified, it's accounted as axf:destination-type="xyz-top". The case sensitivity is ignored.

Destination Type of PDF How to specify axf:destination-type
[page /XYZ left top zoom] XSL Formatter V3.4 calculates the value of left/top. However it's possible to specify null or non-null explicitly. The user can specify the arbitrary value for zoom.
axf:destination-type="xyz" Specifies left and top as null.
axf:destination-type="xyz-left" Specifies top as null.
axf:destination-type="xyz-top" Specifies left as null.
axf:destination-type="xyz-left-top"
If nothing is specified t zoom, it's accounted as null. Specifies % value to zoom as follows.
axf:destination-type="xyz-top 75"
If only the numbers are specified, the value is accounted for xyz-top.
axf:destination-type="75"
[page /Fit]
axf:destination-type="fit"
[page /FitH top] XSL Formatter V3.4 calculates the value of top. Effective only to specify in the internal link.
axf:destination-type="fith"
[page /FitV left] XSL Formatter V3.4 calculates the value of left.
axf:destination-type="fitv"
[page /FitR left bottom right top] XSL Formatter V3.4 calculates the value of left/bottom/right/top. Effective only to specify in the internal link.
axf:destination-type="fitr"
[page /FitB]
axf:destination-type="fitb"
[page /FitBH top] XSL Formatter V3.4 calculates the value of top. Effective only to specify in the internal link.
axf:destination-type="fitbh"
[page /FitBV left] XSL Formatter V3.4 calculates the value of left.
axf:destination-type="fitbv"

This property is not available with XSL Formatter V3.4 Lite.

axf:outline-external-destination

Sets the external link in the PDF bookmark. no-LT

Value: <uri-specification>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

Values have the following meanings.

<uri-specification>

Specifies the URI of the link destination.

This property is not available with XSL Formatter V3.4 Lite.

axf:outline-internal-destination

Sets the internal link in the PDF bookmark. no-LT

Value: empty string | <idref> | <number-with-fragment>
Initial: empty string
Applies to: block-level formatting objects
Inherited: no
Percentages: N/A

Values have the following meanings.

<idref>

Specifies the ID of the link destination.

<number-with-fragment>

Specifies the page number of the link destination. This string is simpe numeric characters or the following string that combines numeric characters and fragment with #.

123#string

This property is not available with XSL Formatter V3.4 Lite.

ID in the External Link

When specifying the ID in the external link, the type of the destination should be given to the ID of the link destination. Nameddest is only effective as the parameter in the URI. The type of the destination can be specified to the link destination.

  • Link origin:
    <fo:basic-link external-destination="http://mydocs/doc.pdf#nameddest=Chapter6"
                   axf:action-type="gotor">
    
  • Link destination:
    <fo:block id="Chapter6" axf:destination-type="xxxx">
    

ID in the Internal Link

When specifying the ID in the internal link, the type of the destination should be given to the ID of the link destination as well as the external link.

  • Link origin:
    <fo:basic-link internal-destination="Chapter6">
    
  • Link destination:
    <fo:block id="Chapter6" axf:destination-type="xxxx">
    

Page Number in the External Link

The page number can be accounted by the page parameter in the URI. If both page and nameddest are specified, nameddest takes priority. When specifying the page number, the destination information cannot be set to the link destination. Therefore the type of the destination is given by reading the parameter in the URI. The unreadable parameter is discarded.

<fo:basic-link external-destination="http://mydocs/doc.pdf#page=72&amp;view=fitH,100"
               axf:action-type="gotor">

When neither page nor nameddest are included in the parameter of the URI, it's accounted as page=1. The page number is accounted as physical in PDF.

Page Number in the Internal Link

Adds extension in order to specify the page number to the value of internal-destination.

<fo:basic-link internal-destination="72">

The type of the destination can be specified by adding the parameter of the external link URI.

<fo:basic-link internal-destination="72#view=fitH,100">

The page number is accounted as physical in PDF. If only the page number is specified, the type of the destination is accounted as view=fit.

Bookmark with the External Link

Specify the axf:outline-external-destination property as follows in order to specify the external link to the bookmark.

<fo:block axf:outline-level="1"
          axf:outline-title="Chapter 6"
          axf:outline-external-destination="http://mydocs/doc.pdf#nameddest=Chapter6"
          axf:action-type="gotor"
          show-destination="new">

At that time this bookmark becomes independent of the block such as fo:block, etc., which the bookmark belongs to.

Bookmark with the Internal Link

Specify the axf:outline-internal-destination property as follows in order to specify the internal link to the bookmark.

<fo:block axf:outline-level="1"
          axf:outline-title="Chapter 6"
          axf:outline-internal-destination="Chapter6">

At that time this bookmark becomes independent of the block such as fo:block, etc., which the bookmark belongs to.

Remarks

  • Specify either internal-destination or external-destination.
  • There may be a case that an internal link is accounted as an external link when separating the volume. At that time, the action type of the link is accounted as axf:action-type="gotor".

Annotation in PDF Output

Annotations can be added to PDF with XSL Formatter V3.4. See also "PDF Reference Manual" for more details. Annotations which can be specified here are a part of those defined in PDF reference manual. This function is not available with XSL Formatter V3.4 Lite.

axf:annotation-type

Specifies the type of the annotation. no-LT

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

Any of the following types of the annotation can be specified.

  • Empty string

    No annotations.

  • "Text"

    Text annotation.

  • "FreeText"

    Free text annotation.

  • "Stamp"

    Rubber stamp annotation.

  • "FileAttachment"

    File attachment annotation.

Charcter strings are case insensitive.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-title

Specifies the title of the annotation. no-LT

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-contents

Specifies the content of the annotation. no-LT

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

Specifies the character strings to be displayed when any of the following types of the annotations (axf:annotation-type) is specified.

  • "Text"
  • "FreeText"
  • "Stamp"
  • "FileAttachment"

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-color

Specifies the color used for the background of the annotation. no-LT

Value: <color> | none
Initial: none
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-flags

Specifies the flag of the annotation. no-LT

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

Specifies the following character sequences by enumlating using the white space. They are case insensitive.

  • Invisible
  • Hidden
  • Print
  • NoZoom
  • NoRotate
  • NoView
  • ReadOnly
  • Locked
  • ToggleNoView

See also "PDF Reference Manual" to learn more.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-open

Specifies the initial state of the annotation. no-LT

Value: true | false
Initial: false
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

Specifies whether it is displayed in the open state when the type of the annotation (axf:annotation-type) is as follows.

  • "Text"

Values have the following meanings.

true

Displays the annotation in the open state.

false

Displays the annotation in the closed state.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-icon-name

Specifies the name of the icon used for displaying the annotation. no-LT

Value: <string>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

Although arbitrary name can be specified for the icon used for the display of annotations, whether it can be displayed or not depends on the viewer application of a document. The annotation type (axf:annotation-type) snows the standard name which can be specified.

  • "Text"

    Standard names are as follows:

    • "Comment"
    • "Help"
    • "Insert"
    • "Key"
    • "NewParagraph"
    • "Note"
    • "Paragraph"

    Empty string is regarded as "None".

  • "Stamp"

    Standard names are as follows:

    • "Approved"
    • "AsIs"
    • "Confidential"
    • "Departmental"
    • "Draft"
    • "Experimental"
    • "Expired"
    • "Final"
    • "ForComment"
    • "ForPublicRelease"
    • "NotApproved"
    • "NotForPublicRelease"
    • "Sold"
    • "TopSecret"

    Empty string is regarded as "Draft".

  • "FileAttachment"

    Standard names are as follows:

    • "Graph"
    • "Paperclip"
    • "PushPin"
    • "Tag"

    Empty string is regarded as "PushPin".

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-position-horizontal

Specifies the horizontal position of the annotation. no-LT

Value: <length>
Initial: 0pt
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

The position specified is the distance from the left edge of the region and is used for the position of pop-up or icons and the position of rubber stamp annotations.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-position-vertical

Specifies the vertical position of the annotation. no-LT

Value: <length>
Initial: 0pt
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

The position specified is the distance from the top edge of the region and is used for the position of pop-up or icons and the position of rubber stamp annotations.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-width

Specifies the width of the annotation. no-LT

Value: <length> | auto
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is used for the width of pop-up and the width of rubber stamp annotations.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-height

Specifies the height of the annotation. no-LT

Value: <length> | auto
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is used for the height of pop-up and the height of rubber stamp annotations.

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-font-family

Specifies the font family of the free text annotation. no-LT

Value: <string>
Initial: depends on user agent
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-font-size

Specifies the font size of the free text annotation. no-LT

Value: <absolute-size> | <relative-size> | <length> | <percentage>
Initial: depends on user agent
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: refer to the font size

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-font-weight

Specifies the font weight of the free text annotation. no-LT

Value: normal | bold
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-font-style

Specifies whether to make the font of the free text annotation italic. no-LT

Value: normal | italic
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-text-color

Specifies the color of the free text annotation. no-LT

Value: <color>
Initial: depends on user agent
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-text-align

Specifies the alignment of the free text annotation. no-LT

Value: left | center | right
Initial: left
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:annotation-file-attachment

Specifies the file with which file attachment annotation is related. no-LT

Value: <uri-specification>
Initial: empty string
Applies to: all block-level and inline-level formatting objects
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.


Printer Marks

XSL Formatter V3.4 can draw printer marks in PDF etc. Since printer marks are drawn outside of the actual page size (trim size) specified with the page-width and page-height properties, they have no effect on the contents of the document. Although the length of a printer mark is 10mm in default, it can be adjusted in the Option Setting File. This function is not available with XSL Formatter V3.4 Lite.

Printer Marks

axf:crop-offset
axf:crop-offset-top
axf:crop-offset-bottom
axf:crop-offset-left
axf:crop-offset-right

Specifies the distance from the physical end to the trim size of the output medium. no-LT

Value: <length>
Initial: 0pt
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

The trim size is specified by the page-width and page-height properties. crop-offset is for specifying how much the space is taken outside the trim size. In order to specify the same values vertically and horizontally, axf:crop-offset can be used. In order to specify an individual value, axf:crop-offset-top, axf:crop-offset-bottom, axf:crop-offset-left, and axf:crop-offset-right can be used. When axf:crop-offset and others are specified simultaneously, axf:crop-offset takes priority.

These properties are not available with XSL Formatter V3.4 Lite.

axf:bleed
axf:bleed-top
axf:bleed-bottom
axf:bleed-left
axf:bleed-right

Specifies the width of the bleed region for cutting off. no-LT

Value: <length>
Initial: 0pt
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

The region of the bleed is taken outside the trim size. In order to specify the same values vertically and horizontally, axf:bleed can be used. In order to specify an individual value, axf:bleed-top, axf:bleed-bottom, axf:bleed-left, and axf:bleed-right can be used. When axf:bleed and others are specified simultaneously, axf:bleed takes priority.

These properties are not available with XSL Formatter V3.4 Lite.

axf:printer-marks

Specifies the Printing marks, such as a crop mark. Specifies the action of external link. no-LT

Value: [ crop || cross || <uri-specification> [<uri-specification>]* ] | none
Initial: none
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

Values have the following meanings.

crop

Outputs crop marks.

cross

Outputs cross marks, registration marks.

<uri-specification>

Original printer marks, color bars, etc. can be outputted by specifying images, such as SVG. Two or more URIs can be specified.

Crop marks becomes what unites the inner printer marks (crop marks) and the outside printer marks (bleed marks) when there is specification of axf:bleed. Also the printer marks are always output with the registration color. Please use SVG etc. when you want to use other colors.

This property is not available with XSL Formatter V3.4 Lite.

axf:printer-marks-line-width

Specifies the line width of printer marks. no-LT

Value: <length>
Initial: 0.2pt
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.


Page Number

XSL Formatter V3.4 provides extension properties to control the page number.

axf:suppress-duplicate-page-number

The axf:suppress-duplicate-page-number specifies to delete the duplicated page numbers.

Value: true | false
Initial: false
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

When formatting a index, generally several fo:page-number-citation line up for one index item. In such case, when fo:page-number-citation refers to the same page number of the index, page numbers are output repeatedly using the standard property.

For example:

When axf:suppress-duplicate-page-number is not specified.

<fo:block text-align-last="justify">
 <fo:block>bcd
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID1">
   <fo:page-number-citation ref-id="ID1"/>
  </fo:basic-link>
 <fo:/block>
 <fo:block>index
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID2">
   <fo:page-number-citation ref-id="ID2"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID3">
   <fo:page-number-citation ref-id="ID3"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID4">
   <fo:page-number-citation ref-id="ID4"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID5">
   <fo:page-number-citation ref-id="ID5"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID6">
   <fo:page-number-citation ref-id="ID6"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID7">
   <fo:page-number-citation ref-id="ID7"/>,
  </fo:basic-link>
 </fo:block>
</fo:block>

Format example of the above text is as follows.

Formatted result

When axf:suppress-duplicate-page-number is specified.

<fo:block text-align-last="justify" axf:suppress-duplicate-page-number="true">
 <fo:block>bcd
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID1">
   <fo:page-number-citation ref-id="ID1"/>
  </fo:basic-link>
 <fo:/block>
 <fo:block>index
  <fo:leader lender-pattern="dots"/>
  <fo:basic-link internal-destination="ID2">
   <fo:page-number-citation ref-id="ID2"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID3">
   <fo:page-number-citation ref-id="ID3"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID4">
   <fo:page-number-citation ref-id="ID4"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID5">
   <fo:page-number-citation ref-id="ID5"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID6">
   <fo:page-number-citation ref-id="ID6"/>,
  </fo:basic-link>
  <fo:basic-link internal-destination="ID7">
   <fo:page-number-citation ref-id="ID7"/>,
  </fo:basic-link>
 </fo:block>
</fo:block>

Format example of the above text is as follows.

Formatted result

axf:page-number-prefix

The axf:page-number-prefix sets the prefix of page number.

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Specifies the prefix for page numbers. Specified string will be outputted before the page number by fo:page-number and fo:page-number-citation. Also this string will be used as the page label in the PDF.

<fo:page-sequence axf:page-number-prefix="A-" format="i" initial-page-number="10">
  <fo:static-content ...>
   ...<fo:page-number/>...
  </fo:static-content>
  ...
</fo:page-sequence>

Arabic and Hebrew cannot be specified for the value of axf:page-number-prefix.

axf:physical-page-number

The axf:physical-page-number gets physical page number.

Value: true | false | inherit
Initial: false
Applies to: fo:page-number, fo:page-number-citation
Inherited: no
Percentages: N/A

The value of initial-page-number property is disregarded and the physical page number that is not affected by the page-sequence is obtained. In order to obtain the total number of pages, ID is given to the last page per the following example:

<fo:page-number-citation ref-id="lastpage" axf:physical-page-number="true"/>

axf:origin-id

Specifies the origin of the page number.

Value: <idref>
Initial: none
Applies to: fo:page-number-citation
Inherited: no
Percentages: N/A

ID for the origin of the page number can be specified in fo:page-number-citation. The output page number is as follows:

[ref-id page] - [origin-id page] + 1

If the specified Page is after the ref-id page, the value becomes 0.

axf:assumed-page-number

Specifies the assumed page number.

Value: <number>
Initial: N/A
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

When <fo:page-number-citation> appears, the reference area is sometimes undecided. In evaluation of <fo:page-number-citation>, the temporary area is secured first, and when a page number is decided, it is adjusted to the right contents. Since the size of an area may change at this time, the formatted result is sometimes not desirable. For example, when an area becomes narrow, it seems that there is an unnecessary line break, and condition that a character will overflow if an area becomes large appears. axf:assumed-page-number gives the assumed page number at that time.

XSL Formatter V3.4 expects the area of at least three-digit page number and formats temporarily. What is necessary will be just to specify axf:assumed-page-number="99" etc., when the page number is clearly less than that.

axf:assumed-page-number-prefix

Specifies the assumed page number prefix.

Value: <string>
Initial: N/A
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

When <fo:page-number-citation> appears, the reference area is sometimes undecided. It is unknown at this time whether the reference area is inside of the same <fo:page-sequence>. When the reference area is in the different <fo:page-sequence>, the values of axf:page-number-prefix may differ. Then the temporary area is secured first, and when a reference place appears, it is adjusted to the right contents. If axf:page-number-prefix is specified to the current <fo:page-sequence>, it will be assumed as a temporary area. Otherwise, a suitable short character string will be assumed. Since the size of an area may change at this time, the formatted result is sometimes not desirable. For example, when an area becomes narrow, it seems that there is an unnecessary line break, and condition that a character will overflow if an area becomes large appears. axf:assumed-page-number gives the assumed page number prefix at that time.

Even when axf:page-number-prefix is empty, it's not known whether it is empty at the time of the temporary formatting. Then a certain amount of the area will be secured. In order to deter this, please specify axf:assumed-page-number-prefix="''" to an suitable element. Since an area is not secured at this time, the setting of axf:page-number-prefix is ignored.

axf:number-type

The axf:number-type specifies whether to output the page number or to output the column number.

Value: page | column | page-and-column
Initial: page
Applies to: fo:page-number, fo:page-number-citation
Inherited: no
Percentages: N/A

Values have the following meanings.

page

Outputs the page number.

column

Outputs the column number.

page-and-column

Outputs both of the page number and the column number.

It can be specified to fo:page-number, etc. and the column number can be outputted instead of the page number. While format property is applied to the format of the page number, axf:column-number-format property is applied to the format of the column number. The column number is not outputted if multiple column is not specified by specifying of column-count="1" or span="all".

axf:column-number-format

The axf:column-number-format specifies the format of column number.

Value: <string>
Initial: A
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

It applies to the format of column number specified by axf:number-type property. It can be specified with the same way as format property.


Base URI

The axf:base-uri specifies the location which becomes the base of relative URI. The value of axf:base-uri is applied to all relative URIs in a document. When making links using fo:basic-link and specify relative URI, the location that is specified using axf:base-uri is interpreted to be base URI.

axf:base-uri

Value: <uri-specification>
Initial: empty string
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

In the case of the following example, it links to: "http://www.antennahouse.co.jp/xsl-info/Thai/THAI-BangKokNationalMuseum.pdf".

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
         xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions"
         axf:base-uri="http://www.antennahouse.co.jp/xsl-info/">
                  :
                  :
<fo:basic-link external-destination="Thai/THAI-BangKokNationalMuseum.pdf">
    ...
</fo:basic-link>

Output Glyph by SOFT HYPHEN

Generally SOFT HYPHEN (U+00AD) is displayed only when the line breaks and is not displayed when the line does not break. However in this processing, it is often the case that the glyph assigned to U+00AD may not be printed when the fonts such as pictographic characters are used.

XSL Formatter V3.4 implements the extension property axf:soft-hyphen-treatment whith makes it possible to eliminate this problem.

<fo:block axf:soft-hyphen-treatment="preserve" font-family="Wingdings">abc&#xAD;xyz

axf:soft-hyphen-treatment

Value: auto | preserve | inherit
Initial: auto
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

auto

SOFT HYPHEN is deleted except when needed for line breaking. (normal)

preserve

SOFT HYPHEN is not deleted and the target glyph is output.


Line Breaking

XSL Formatter V3.4 provides extension properties to control the line-breaking. Usually, the line-breaking complies with UAX#14: Line Breaking Properties.

axf:line-break

The axf:line-break specifies the method of line breaking. no-LT

Value: normal | strict | inherit
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

normal

Nonstarter characters in JIS X 4051 and other small Kana letters in Japanese (U+3095, U+3096, U+31F0 to U+31FF) are not treated as Nonstarter characters. Also, the properties of axf:append-non-starter-characters, axf:except-non-starter-characters, axf:append-non-end-of-line-characters, axf:except-non-end-of-line-characters are disregarded.

strict

Nonstarter character is treated for Japanese. Also, the characters specified to the properties of axf:append-non-starter-characters, axf:except-non-starter-characters, axf:append-non-end-of-line-characters, axf:except-non-end-of-line-characters are included.

The Nonstarter character in LineBreak-4.0.0.txt is as follows. [JIS] is classified into the Nonstarter character in JIS X 4051.

0E5A;NS # THAI CHARACTER ANGKHANKHU                         ๚
0E5B;NS # THAI CHARACTER KHOMUT                             ๛
17D4;NS # KHMER SIGN KHAN                                   ។
17D6;NS # KHMER SIGN CAMNUC PII KUUH                        ៖
17D7;NS # KHMER SIGN LEK TOO                                ៗ
17D8;NS # KHMER SIGN BEYYAL                                 ៘
17D9;NS # KHMER SIGN PHNAEK MUAN                            ៙
17DA;NS # KHMER SIGN KOOMUUT                                ៚
203C;NS # DOUBLE EXCLAMATION MARK                           ‼
3005;NS # IDEOGRAPHIC ITERATION MARK                        々    [JIS]
301C;NS # WAVE DASH                                         〜
303B;NS # VERTICAL IDEOGRAPHIC ITERATION MARK               〻
303C;NS # MASU MARK                                         〼
3041;NS # HIRAGANA LETTER SMALL A                           ぁ    [JIS]
3043;NS # HIRAGANA LETTER SMALL I                           ぃ    [JIS]
3045;NS # HIRAGANA LETTER SMALL U                           ぅ    [JIS]
3047;NS # HIRAGANA LETTER SMALL E                           ぇ    [JIS]
3049;NS # HIRAGANA LETTER SMALL O                           ぉ    [JIS]
3063;NS # HIRAGANA LETTER SMALL TU                          っ    [JIS]
3083;NS # HIRAGANA LETTER SMALL YA                          ゃ    [JIS]
3085;NS # HIRAGANA LETTER SMALL YU                          ゅ    [JIS]
3087;NS # HIRAGANA LETTER SMALL YO                          ょ    [JIS]
308E;NS # HIRAGANA LETTER SMALL WA                          ゎ    [JIS]
3095;NS # HIRAGANA LETTER SMALL KA                          ゕ
3096;NS # HIRAGANA LETTER SMALL KE                          ゖ
309B;NS # KATAKANA-HIRAGANA VOICED SOUND MARK               ゛
309C;NS # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK          ゜
309D;NS # HIRAGANA ITERATION MARK                           ゝ    [JIS]
309E;NS # HIRAGANA VOICED ITERATION MARK                    ゞ    [JIS]
30A0;NS # KATAKANA-HIRAGANA DOUBLE HYPHEN                   ゠
30A1;NS # KATAKANA LETTER SMALL A                           ァ    [JIS]
30A3;NS # KATAKANA LETTER SMALL I                           ィ    [JIS]
30A5;NS # KATAKANA LETTER SMALL U                           ゥ    [JIS]
30A7;NS # KATAKANA LETTER SMALL E                           ェ    [JIS]
30A9;NS # KATAKANA LETTER SMALL O                           ォ    [JIS]
30C3;NS # KATAKANA LETTER SMALL TU                          ッ    [JIS]
30E3;NS # KATAKANA LETTER SMALL YA                          ャ    [JIS]
30E5;NS # KATAKANA LETTER SMALL YU                          ュ    [JIS]
30E7;NS # KATAKANA LETTER SMALL YO                          ョ    [JIS]
30EE;NS # KATAKANA LETTER SMALL WA                          ヮ    [JIS]
30F5;NS # KATAKANA LETTER SMALL KA                          ヵ    [JIS]
30F6;NS # KATAKANA LETTER SMALL KE                          ヶ    [JIS]
30FB;NS # KATAKANA MIDDLE DOT                               ・
30FC;NS # KATAKANA-HIRAGANA PROLONGED SOUND MARK            ー    [JIS]
30FD;NS # KATAKANA ITERATION MARK                           ヽ    [JIS]
30FE;NS # KATAKANA VOICED ITERATION MARK                    ヾ    [JIS]
31F0;NS # KATAKANA LETTER SMALL KU                          ㇰ
31F1;NS # KATAKANA LETTER SMALL SI                          ㇱ
31F2;NS # KATAKANA LETTER SMALL SU                          ㇲ
31F3;NS # KATAKANA LETTER SMALL TO                          ㇳ
31F4;NS # KATAKANA LETTER SMALL NU                          ㇴ
31F5;NS # KATAKANA LETTER SMALL HA                          ㇵ
31F6;NS # KATAKANA LETTER SMALL HI                          ㇶ
31F7;NS # KATAKANA LETTER SMALL HU                          ㇷ
31F8;NS # KATAKANA LETTER SMALL HE                          ㇸ
31F9;NS # KATAKANA LETTER SMALL HO                          ㇹ
31FA;NS # KATAKANA LETTER SMALL MU                          ㇺ
31FB;NS # KATAKANA LETTER SMALL RA                          ㇻ
31FC;NS # KATAKANA LETTER SMALL RI                          ㇼ
31FD;NS # KATAKANA LETTER SMALL RU                          ㇽ
31FE;NS # KATAKANA LETTER SMALL RE                          ㇾ
31FF;NS # KATAKANA LETTER SMALL RO                          ㇿ
FE54;NS # SMALL SEMICOLON                                   ﹔
FE55;NS # SMALL COLON                                       ﹕
FF1A;NS # FULLWIDTH COLON                                   :
FF1B;NS # FULLWIDTH SEMICOLON                               ;
FF65;NS # HALFWIDTH KATAKANA MIDDLE DOT                     ・
FF67;NS # HALFWIDTH KATAKANA LETTER SMALL A                 ァ    [JIS]
FF68;NS # HALFWIDTH KATAKANA LETTER SMALL I                 ィ    [JIS]
FF69;NS # HALFWIDTH KATAKANA LETTER SMALL U                 ゥ    [JIS]
FF6A;NS # HALFWIDTH KATAKANA LETTER SMALL E                 ェ    [JIS]
FF6B;NS # HALFWIDTH KATAKANA LETTER SMALL O                 ォ    [JIS]
FF6C;NS # HALFWIDTH KATAKANA LETTER SMALL YA                ャ    [JIS]
FF6D;NS # HALFWIDTH KATAKANA LETTER SMALL YU                ュ    [JIS]
FF6E;NS # HALFWIDTH KATAKANA LETTER SMALL YO                ョ    [JIS]
FF6F;NS # HALFWIDTH KATAKANA LETTER SMALL TU                ッ    [JIS]
FF70;NS # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK  ー    [JIS]
FF9E;NS # HALFWIDTH KATAKANA VOICED SOUND MARK              ゙
FF9F;NS # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK         ゚

This property is not available with XSL Formatter V3.4 Lite.

axf:append-non-starter-characters

Specifies the append-non-starter-characters in CJK. no-LT

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

When axf:line-break="strict" is specified, the characters included in <string> can be appended to the non-starter-characters. If the specified characters are also specified in axf:except-non-starter-characters as well in the same tag, the effect could be wrong. White space, closing parenthesis and punctuations, that are originally non-starter, are disregarded even though they are specified. The initial value of non-starter-characters can be set by append-non-starter-characters in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.

axf:except-non-starter-characters

Specifies the except-non-starter-characters in CJK. no-LT

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

When axf:line-break="strict" is specified, the characters included in <string> can be eliminated from the non-starter-characters. If the specified chararters are also specified to axf:append-non-starter-characters in the same tag as well, the effect is not guaranteed. White space, closing parenthesis and punctuations, that are originally non-starter, are disregarded even though they are specified. The initial value of non-starter-characters can be set by append-non-starter-characters in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.

axf:append-non-end-of-line-characters

Specifies the append-non-end-of-characters in CJK. no-LT

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

When axf:line-break="strict" is specified, the characters included in <string> can be appended to the non-end-of-line-characters. If the specified characters are also specified to axf:except-non-end-of-line-characters as well in the same tag, the effect could be wrong. White space, opening parenthesis and punctuations, that are originally non-end-of-line, are disregarded even though they are specified. The initial value of non-end-of-line-characters can be set by append-non-end-of-line-characters in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.

axf:except-non-end-of-line-characters

Specifies the except-non-end-of-characters in CJK. no-LT

Value: <string>
Initial: empty string
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

When axf:line-break="strict" is specified, the characters included in <string> can be eliminated from the non-end-of-line-characters. If the specified chararters are also specified to axf:append-non-end-of-line-characters in the same tag as well, the effect is not guaranteed. White space, opening parenthesis and punctuations, that are originally non-end-of-line, are disregarded even though they are specified. The initial value of non-end-of-line-characters can be set by append-non-end-of-line-characters in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.

axf:word-break

The axf:word-break specifies whether to enable line breaking even between word. no-LT

Value: normal | break-all
Initial: normal
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

normal

Follows a normal line breaking rule.

break-all

The line breaking is enabled between all the characters in the word. This is effective for only the following scripts.

  • Latn
  • Cyrl
  • Grek
  • Zyyy

This property is not available with XSL Formatter V3.4 Lite.


Trimming and Hanging

XSL Formatter V3.4 provides extension properties to trim and to hang.

axf:punctuation-trim

The axf:punctuation-trim specifies whether to treat full width punctuations as half width. no-LT

Value: none | start | end | both | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

none

Punctuation characters are not trimmed.

start

Punctuation characters (open parenthesis etc.) at start of line are trimmed.

end

Punctuation characters (close parenthesis etc.) at end of line are trimmed.

both

Punctuation characters at start and end of line are trimmed.

auto

Dependent on the system setting.

The initial value of whether punctuation characters are trimmed or not can be set by punctuation-trim in the Option Setting File. It can also be set in the Format Option Setting Dialog in the GUI.

This property is not available with XSL Formatter V3.4 Lite.

axf:kerning-mode

The axf:kerning-mode specifies whether to process the kerning for punctuation. no-LT

Value: none | contextual | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

none

Adjacent full width punctuation characters are not trimmed.

contextual

The space between a full width punctuation and a full width character in Japanese is trimmed.

  • Between full width close parenthesis and full width open parenthesis.
  • Between full width close parenthesis and full width close parenthesis.
  • Between full width close parenthesis and full width middle dots.
  • Between full width close parenthesis and non punctuation characters.
  • Between full width open parenthesis and full width open parenthesis.
  • Between full width middle dots and full width open parenthesis.
  • Between non punctuation character and full width open parenthesis.

Full width punctuation characters are treated the same as full width close parenthesis. By specifying axf:kerning-mode="contextual" the space between full width close parenthesis and non punctuation characters is not condensed. The space can be condensed by setting the value of axf:punctuation-spacing less than the default.

auto

Dependent on the system setting.

Full width punctuation open parenthesis processed by axf:kerning-mode="contextual" are:

2018;QU # LEFT SINGLE QUOTATION MARK                        ‘
201C;QU # LEFT DOUBLE QUOTATION MARK                        “
3008;OP # LEFT ANGLE BRACKET                                〈
300A;OP # LEFT DOUBLE ANGLE BRACKET                         《
300C;OP # LEFT CORNER BRACKET                               「
300E;OP # LEFT WHITE CORNER BRACKET                         『
3010;OP # LEFT BLACK LENTICULAR BRACKET                     【
3014;OP # LEFT TORTOISE SHELL BRACKET                       〔
3016;OP # LEFT WHITE LENTICULAR BRACKET                     〖
3018;OP # LEFT WHITE TORTOISE SHELL BRACKET                 〘
301A;OP # LEFT WHITE SQUARE BRACKET                         〚
301D;OP # REVERSED DOUBLE PRIME QUOTATION MARK              〝
FF08;OP # FULLWIDTH LEFT PARENTHESIS                        (
FF3B;OP # FULLWIDTH LEFT SQUARE BRACKET                     [
FF5B;OP # FULLWIDTH LEFT CURLY BRACKET                      {
FF5F;OP # FULLWIDTH LEFT WHITE PARENTHESIS                  ⦅

Full width punctuation close parenthesis processed by axf:kerning-mode="contextual" are:

2019;QU # RIGHT SINGLE QUOTATION MARK                       ’
201D;QU # RIGHT DOUBLE QUOTATION MARK                       ”
3009;CL # RIGHT ANGLE BRACKET                               〉
300B;CL # RIGHT DOUBLE ANGLE BRACKET                        》
300D;CL # RIGHT CORNER BRACKET                              」
300F;CL # RIGHT WHITE CORNER BRACKET                        』
3011;CL # RIGHT BLACK LENTICULAR BRACKET                    】
3015;CL # RIGHT TORTOISE SHELL BRACKET                      〕
3017;CL # RIGHT WHITE LENTICULAR BRACKET                    〗
3019;CL # RIGHT WHITE TORTOISE SHELL BRACKET                〙
301B;CL # RIGHT WHITE SQUARE BRACKET                        〛
FF09;CL # FULLWIDTH RIGHT PARENTHESIS                       )
FF3D;CL # FULLWIDTH RIGHT SQUARE BRACKET                    ]
FF5D;CL # FULLWIDTH RIGHT CURLY BRACKET                     }
FF60;CL # FULLWIDTH RIGHT WHITE PARENTHESIS                 ⦆

Full width punctuations processed by axf:kerning-mode="contextual" are:

3001;CL # IDEOGRAPHIC COMMA                                 、
3002;CL # IDEOGRAPHIC FULL STOP                             。
FF0C;CL # FULLWIDTH COMMA                                   ,
FF0E;CL # FULLWIDTH FULL STOP                               .

Full width middle dots processed by axf:kerning-mode="contextual" are:

30FB;NS # KATAKANA MIDDLE DOT                               ・
FF1A;NS # FULLWIDTH COLON                                   :
FF1B;NS # FULLWIDTH SEMICOLON                               ;

The initial value of whether punctuation characters are trimmed or not can be set by punctuation-trim in the Option Setting File. It can also be set in the Format Option Setting Dialog in the GUI.

This property is not available with XSL Formatter V3.4 Lite.

axf:punctuation-spacing

The axf:punctuation-spacing specifies the spacing between a full width punctuation and a full width character in Japanese. no-LT

Value: <length> | <percentage> | inherit
Initial: 50%
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: refer to the font size

This space is used in axf:kerning-mode="contextual". The initial value of this space can be set by punctuation-spacing in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.

axf:hanging-punctuation

The axf:hanging-punctuation specifies whether to hang Japanese punctuation characters or not. no-LT

Value: none | end | inherit
Initial: none
Applies to: fo:block
Inherited: yes
Percentages: N/A

Values have the following meanings.

none

Punctuation characters are not subject to hang.

end

Punctuation characters at end of line can hang.

Punctuation characters to be hanged are four Japanese punctuations (U+3001, U+3002, U+FF0C, U+FF0E).

This property is not available with XSL Formatter V3.4 Lite.

axf:avoid-widow-words

The axf:avoid-widow-words specifies so that the last line of the paragraph does not become only one word (one character for CJK). V3.4 no-LT

Value: true | false
Initial: false
Applies to: fo:block
Inherited: yes
Percentages: N/A

Values have the following meanings.

true

Copes with it, if it is possible, by running on the line (by trimming the interval between Japanese characters or Western words), so that the last line of the paragraph does not become only one word (one character for CJK).

false

The coping to run on the line is not taken.

If the width of columns (length of the line) is short, it is not so effective because it does not have enough space to run on.

This property is not available with XSL Formatter V3.4 Lite.


Adding Space

XSL Formatter V3.4 provides extension properties to add space surrounding ideographic glyphs.

axf:text-autospace

The axf:text-autospace specifies whether to add space surrounding ideographic glyphs or not. no-LT

Value: none | [ ideograph-numeric || ideograph-alpha ] | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

none

Space is not added.

ideograph-numeric

Space is added between ideograph character and non-ideographic number character.

ideograph-alpha

Space is added between ideograph character and non-ideographic alphabet character.

auto

Dependent on the system setting.

The initial value of whether space is added or not can be set by text-autospace in the Option Setting File. It can also be set in the Format Option Setting Dialog in the GUI.

This property is not available with XSL Formatter V3.4 Lite.

axf:text-autospace-width

The axf:text-autospace-width specifies the width for axf:text-autospace. no-LT

Value: <length> | <percentage> | inherit
Initial: 25%
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: refer to the font size

This space is used in axf:text-autospace. In addition, the initial value of the space can be set by text-autospace-width in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.


Underline in Vertical Writing-mode

XSL Formatter V3.4 provides extension properties to specify on which side of the text to put underlines in vertical writing-mode.

axf:vertical-underline-side

The axf:vertical-underline-side specifies on which side of the text to put underline in vertical writing-mode. no-LT

Value: left | right | auto | inherit
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

left

The underline is placed on the left side.

right

The underline is placed on the right side.

auto

Dependent on the system setting.

The initial value of the underline position can be set by vertical-underline-side in the Option Setting File. It can also be set in the Format Option Setting Dialog in the GUI.

When axf:vertical-underline-side="auto" is specified and the initial value of the system is also auto, the underline is placed on the right side when the language property is Japanese(ja) or Korean(ko). The underline is placed on the left side when the language property is other than Japanese(ja) or Korean(ko). If there is no language properties specified, it depends on the Default CJK language setting. This property is not available with XSL Formatter V3.4 Lite.


Justify NON-BREAKING SPACE

Generally, NON-BREAKING SPACE (U+00A0) is intended for justification. The axf:justify-nbsp property can be used when you do not want to include U+00A0 in justification. In V2.5, U+00A0 is not intended for justification. This property can also be specified for compatibility with V2.5.

axf:justify-nbsp

Value: true | false | inherit
Initial: true
Applies to: all formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

true

NON-BREAKING SPACE is included for justification.

false

NON-BREAKING SPACE is not included for justification.


Ratio of the Kashida

axf:text-kashida-space

Specifies the percentage of Kashida in Arabic justification. no-LT

Value: <percentage> | auto
Initial: auto
Applies to: all block-level and inline-level formatting objects
Inherited: yes
Percentages: yes

Values have the following meanings.

<percentage>

Indicates the percentage of white space and Kashida. If the value is 0%, Kashida is not inserted and only the white space expands as well as the normal justification. If the value is 100%, Kashida is inserted as much as possible. The value should be from 0% to 100%.

auto

Dependent on the system setting.

The initial value of the the percentage can be set by text-kashida-space in the Option Setting File.

This property is not available with XSL Formatter V3.4 Lite.


Footnote

With XSL Formatter V3.4, footnotes can be arranged per each column or footnotes duplicated in the same page can be deleted. Also, sidenotes can be generated.

axf:footnote-align

Specifies the alignment of the footnotes. no-LT

Value: auto | before | after
Initial: auto
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

Values have the following meanings.

auto

Footnotes are placed automatically. Footnotes are the usual arrangement. When the text is one column, sidenotes are arranged with an anchor position, and in the case of two or more columns, sidenotes are arranged near by the before side.

before

Sidenotes are arranged near by the before side. In the case of usual footnotes which are not sidenotes, footnotes are arranged immediately after the text in a page.

after

Sidenotes are arranged near by the after side. In the case of usual footnotes which are not sidenotes, footnotes are arranged at the last of a page.

Specifies the method of arrangement of footnotes or sidenotes. When it is sidenotes (footnote arrangement into region-start or region-end is specified by axf:footnote-position), it's possible to specify whether it is arranged automatically, or it is arranged near by the before side, or it is arranged near by the after side. This property is not available with XSL Formatter V3.4 Lite.

axf:footnote-stacking

The axf:footnote-stacking specifies the method to layout the footnote. no-LT

Value: block | inline
Initial: block
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

Values have the following meanings.

block

Arranges the footnotes in the block progression direction.

inline

Arranges the footnotes in the inline progression direction.

This property is not available with XSL Formatter V3.4 Lite.

axf:footnote-position

The axf:footnote-position specifies the location to layout the footnote.

Value: page | start | end | inside | outside | column
Initial: page
Applies to: fo:region-body, fo:footnote
Inherited: no
Percentages: N/A

Values have the following meanings.

page

Footnotes are placed at the bottom of each page in region-body. This is the standard layout of XSL 1.0 specification.

start no-LT

Footnotes are placed at each page in region-start. This value is not available with XSL Formatter V3.4 Lite.

end no-LT

Footnotes are placed at each page in region-end. This value is not available with XSL Formatter V3.4 Lite.

inside no-LT

Footnotes are placed at each even-page in region-end and each odd-page in region-start. This value is not available with XSL Formatter V3.4 Lite.

outside no-LT

Footnotes are placed at each even-page in region-start and each odd-page in region-end. This value is not available with XSL Formatter V3.4 Lite.

column

Footnotes are placed at the bottom of each column.

It is possible to arrange footnotes inside the region-start or the region-end (these notes are called sidenotes). Besides specifying them to fo:region-body, it is also effective to specify to individual fo:footnote. It is possible to make several types of notes intermingled by this extension.

There are following restrictions for sidenotes.

  • The sidenotes which run over from the specified area will overflow.
  • The xsl-footnote-separator is not effective.

axf:suppress-duplicate-footnote

Specifies wether to delete footnotes duplicated in the same page.

Value: true | false | inherit
Initial: false
Applies to: fo:footnote
Inherited: yes
Percentages: N/A

Deters the display of duplicaited footnotes on the same footnote region when the same footnote is assigned to two or more places in the same page.


Revision Bar

XSL Formatter V3.4 provides extension properties to layout the revision bars in the documents. The revision bar is shown above the border or the column rule.

Revision Bar Model

axf:revision-bar-color

The axf:revision-bar-color specifies the color of the revision bar.

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:revision-bar-offset

The axf:revision-bar-offset specifies the offset of the revision bar.

Value: <length> | inherit
Initial: 0pt
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:revision-bar-position

The axf:revision-bar-position specifies the position of the revision bar.

Value: start | end | inside | outside | alternate | both | inherit
Initial: start
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

Values have the following meanings.

start

Places revision bar at start-edge.

end

Places revision bar at end-edge.

inside

Places revision bar at start-edge on odd pages, at end-edge on even pages.

outside

Places revision bar at end-edge on odd pages, at start-edge on even pages.

alternate

Places revision bar at end-edge in the last column of multi-column layout, except for the last column, places it at start-edge.

both

Places revision bar at start-edge and end-edge.

axf:revision-bar-style

The axf:revision-bar-style specifies the style of the revision bar.

Value: <border-style> | inherit
Initial: none
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

axf:revision-bar-width

The axf:revision-bar-width specifies the width of the revision bar.

Value: <border-width> | inherit
Initial: medium
Applies to: all block-level and inline-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A


Line Numbering

Place line numbers as part of the text. Line numbers can be placed against the line area. Even though the place looks empty, if there is a line area, line numbers can be placed. These are not placed in the space or in the margin. The axf:line-number is not effective inside fo:float or fo:footnote.

CAUTION: Placing the line numbering for the page formatted complexly with fo:block-container or fo:table, etc. might get unintended consequences. Please apply the line numbering to a simple structural document as much as possible.

This function is not available with XSL Formatter V3.4 Lite.

axf:line-number

The axf:line-number specifies whether to show line numbers. V3.4 no-LT

Value: none | show | hide
Initial: none
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

Values have the following meanings.

none

Line numbers are not generated.

show

Line numbers are shown.

hide

Line numbers are not shown but the numbers of the line are counted.

Line numbers are counted against the lines inside the block where axf:line-number="show" or axf:line-number="hide" is specified.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-background-color

The axf:line-number-background-color specifies the background color of line numbers. V3.4 no-LT

Value: <color> | transparent
Initial: transparent
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-display-align

The axf:line-number-display-align specifies the alignment of line numbers in the line area. V3.4 no-LT

Value: before | center | after | auto | inherit
Initial: auto
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

Values have the following meanings.

before

Align the line numbers in the upper end of the line area.

center

Align the line numbers in the middle of the line area.

after

Align the line numbers in the lower end of the line area.

auto

It is considered after in horizontal writing, and center in vertical writing.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-color

The axf:line-number-color specifies the color of line numbers. V3.4 no-LT

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-font-family

The axf:line-number-font-family specifies the font family of line numbers. V3.4 no-LT

Value: [[<family-name> | <generic-family>],]* [<family-name> | <generic-family>] | inherit
Initial: depends on UA
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-font-size

The axf:line-number-font-size specifies the font size of line numbers. V3.4 no-LT

Value: <absolute-size> | <relative-size> | <length> | <percentage> | inherit
Initial: medium
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: refer to the font size

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-font-style

The axf:line-number-font-style specifies whether to make the font style italic. V3.4 no-LT

Value: normal | italic | inherit
Initial: normal
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-font-weight

The axf:line-number-font-weight specifies the font weight of line numbers. V3.4 no-LT

Value: normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit
Initial: normal
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-format

The axf:line-number-format specifies the format of line numbers. V3.4 no-LT

Value: <string>
Initial: 1
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Line numbers are shown as the specified format. The way to specify is the same as that for the format property.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-initial

The axf:line-number-initial specifies the line number of the first line. V3.4 no-LT

Value: <number> | auto
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Values have the following meanings.

auto

Line numbers are not initialized, and it is succeeded from previous fo:page-sequence. When previous fo:page-sequence does not exist, it becomes 1.

<number>

Initializes the line numbers.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-interval

The axf:line-number-interval specifies the interval of line numbers. V3.4 no-LT

Value: <number> | auto
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Values have the following meanings.

auto

The specification of previous fo:page-sequence is succeeded. When previous fo:page-sequence does not exist, it becomes 1.

<number>

Sets the interval of the line numbers to the value specified.

Specifies to show the line numbers like 5, 10, 15. In this case, axf:line-number-initial="1" axf:line-number-start="5" axf:line-number-interval="5" can be applied.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-offset

The axf:line-number-offset specifies the offset of line numbers. V3.4 no-LT

Value: <length> | inherit
Initial: 0pt
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-position

The axf:line-number-position specifies the position of line numbers. V3.4 no-LT

Value: start | end | inside | outside | alternate | inherit
Initial: start
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

Values have the following meanings.

start

Places line number at start-edge.

end

Places line number at end-edge.

inside

Places line number at start-edge on odd pages, at end-edge on even pages.

outside

Places line number at end-edge on odd pages, at start-edge on even pages.

alternate

Places line number at end-edge in the last column of multi-column layout, except for the last column, places it at start-edge.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-reset

The axf:line-number-reset reset line numbering. V3.4 no-LT

Value: auto | none | page | column
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Values have the following meanings.

auto

The specification of previous fo:page-sequence is succeeded. When previous fo:page-sequence does not exist, it becomes none.

none

Line numbers are not reset.

page

Line numbers are reset when pages break.

column

Line numbers are reset when column break.

Line numbers are reset to the value specified to axf:line-number-initial.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-start

The axf:line-number-start specifies the starting line number. V3.4 no-LT

Value: <number> | auto
Initial: auto
Applies to: fo:page-sequence
Inherited: no
Percentages: N/A

Values have the following meanings.

auto

The specification of previous fo:page-sequence is succeeded. When previous fo:page-sequence does not exist, it becomes 1.

<number>

Sets the line number that begins outputting to the value specified.

Line numbers are shown when the value is equal to or more than the value specified here. When axf:line-number-initial="1" axf:line-number-start="5" are specified, the first 4 lines are not shown but the 5th line starts being outputted. When axf:line-number-initial="5" axf:line-number-start="6" are specified, the first line is not shown but the next line is outputted as 6.

This property is not available with XSL Formatter V3.4 Lite.

axf:line-number-text-decoration

The axf:line-number-text-decoration specifies the test decoration of line numbers. V3.4 no-LT

Value: same as text-decoration
Initial: none
Applies to: all block-level formatting objects which are descendants of fo:flow
Inherited: yes
Percentages: N/A

Values have the same meaning as text-decoration.

This property is not available with XSL Formatter V3.4 Lite.


Block Column

Columns can be set inside of a block. Each extended property can be specified to fo:block-container.

axf:column-count

The axf:column-count specifies the number of columns of fo:block-container. no-LT

Value: <number> | inherit
Initial: 1
Applies to: fo:block-container
Inherited: no
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.

axf:column-gap

The axf:column-count specifies the width of the separation between adjacent columns of fo:block-container. no-LT

Value: <length> | <percentage> | inherit
Initial: 12.0pt
Applies to: fo:block-container
Inherited: refer to width of the fo:block-container
Percentages: N/A

This property is not available with XSL Formatter V3.4 Lite.


Column Rule

XSL Formatter V3.4 provides extension properties to layout the column rules in the column gaps. These properties are placed as fo:region-body and fo:block-container. The column rule is placed above the border and below the revision bar.

Column Model

axf:column-rule-align

The axf:column-rule-align specifies the alignment of the column rule.

Value: before | center | after | inherit
Initial: center
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

axf:column-rule-color

The axf:column-rule-color specifies the color of the column rule.

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

axf:column-rule-length

The axf:column-rule-length specifies the length of the column rule.

Value: <length> | <percentage>| inherit
Initial: 100%
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: refer to the size of the column

axf:column-rule-style

The axf:column-rule-style specifies the style of the column rule.

Value: <border-style> | inherit
Initial: none
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A

axf:column-rule-width

The axf:column-rule-width specifies the width of the column rule.

Value: <border-width> | inherit
Initial: medium
Applies to: fo:region-body, fo:block-container
Inherited: no
Percentages: N/A


Diagonal Border

XSL Formatter V3.4 provides extension properties to draw the diagonal border in the area such as the table cell where the border can be specified. The diagonal border by axf:diagonal-border-* is drawn from the edge of before-start to the edge of after-end. The diagonal border by axf:reverse-diagonal-border-* is drawn from the edge of before-end to the edge of after-start. When the writing-mode="lr-tb" is specified, the diagonal border is drawn as follows. When the writing-mode="rl-tb" or "tb-rl" is specified, it is drawn in a reverse way.

Diagonal Border

axf:diagonal-border-color

The axf:diagonal-border-color specifies the color of the diagonal border.

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

axf:diagonal-border-style

The axf:diagonal-border-style specifies the style of the diagonal border.

Value: <border-style> | inherit
Initial: none
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

axf:diagonal-border-width

The axf:diagonal-border-width specifies the width of the diagonal border.

Value: <border-width> | inherit
Initial: medium
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

axf:reverse-diagonal-border-color

The axf:reverse-diagonal-border-color specifies the color of the reverse diagonal border.

Value: <color> | inherit
Initial: the value of the 'color' property
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A

axf:reverse-diagonal-border-style

The axf:reverse-diagonal-border-style specifies the style of the reverse diagonal border.

Value: <border-style> | inherit
Initial: none
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

axf:reverse-diagonal-border-width

The axf:reverse-diagonal-border-width specifies the width of the reverse diagonal border.

Value: <border-width> | inherit
Initial: medium
Applies to: all FOs which can have borders
Inherited: yes
Percentages: N/A


Borders

axf:border-radius
axf:border-top-left-radius
axf:border-top-right-radius
axf:border-bottom-left-radius
axf:border-bottom-right-radius

The radii of quater ellipse (rounding border) are specified. no-LT

Border Radius

Value: <length> <length>?
Initial: 0
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

The first value is the horizontal radius (or vertical if the 'writing-mode' is vertical). If the second length is omitted it is equal to the first. If either length is less or equal zero, the corner is square, not rounded. These properties are not available with XSL Formatter V3.4 Lite.

axf:box-shadow

The box shadow is specified. no-LT

Value: none | [ <length> <length> <length>? || <color> ]
Initial: none
Applies to: all FOs which can have borders
Inherited: no
Percentages: N/A

The meanings of the three <length>s and a <color> are as follows:

  • The first <length> is an offset of a horizontal shadow. It becomes a right-side shadow of a region when a positive value is specified. It becomes a left-side shadow of a region when a negative value is specified.
  • The second <length> is an offset of a vertical shadow. It becomes a bottom-side shadow of a region when a positive value is specified. It becomes a top-side shadow of a region when a negative value is specified.
  • The 3rd <length> must be a non-negative value and specifies the quantity of gradation. If the value is 0, there is no gradation. With XSL Formatter V3.4, this value is disregarded and it is always considered as 0.
  • Gradation of color can be specified by <color>.

This property is not available with XSL Formatter V3.4 Lite.


Page Background

XSL Formatter V3.4 provides extension properties to set the background of the page. These properties are placed as fo:simple-page-master.

axf:background-color

The axf:background-color specifies the background color of fo:simple-page-master.

Value: <color> | transparent
Initial: transparent
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

axf:background-image

The axf:background-image specifies the background image of fo:simple-page-master.

Value: <uri-specification> | none
Initial: none
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A

axf:background-position-horizontal

The axf:background-position-horizontal specifies the horizontal position of the background image of fo:simple-page-master.

Value: <percentage> | <length> | left | center | right | inherit
Initial: 0%
Applies to: fo:simple-page-master
Inherited: no
Percentages: refer to the size of the padding-rectangle

axf:background-position-vertical

The axf:background-position-vertical specifies the vertical position of the background image of fo:simple-page-master.

Value: <percentage> | <length> | top | center | bottom | inherit
Initial: 0%
Applies to: fo:simple-page-master
Inherited: no
Percentages: refer to the size of the padding-rectangle

axf:background-repeat

The axf:background-repeat specifies whether the background image of fo:simple-page-master is repeated, and how.

Value: repeat | repeat-x | repeat-y | no-repeat | inherit
Initial: repeat
Applies to: fo:simple-page-master
Inherited: no
Percentages: N/A


Overflow Extensions

XSL Formatter V3.4 extends the value of the overflow property and provides the extension property to regulate the behavior of the value.

axf:overflow-condense

The axf:overflow-condense specifies how to condense the overflowed text within the region.

Value: [ letter-spacing || font-stretch || font-size || line-height ] | auto | inherit
Initial: auto
Applies to: all block-level formatting objects
Inherited: yes
Percentages: N/A

Values have the following meanings.

letter-spacing

Condenses the text by adjusting the letter spacing.

font-stretch

Condenses the text by adjusting the font width.

font-size

Condenses the text by adjusting the font size.

line-height

Condenses the text by adjusting the line height.

auto

Dependent on the system setting.

Condensing the text within the region can be specified with the properties of overflow="condense". The adjustment for condensing the text includes both the inline progression direction and the block progression direction. The system will process the specified method by combining the methods considered as suitable.

axf:overflow-replace

An alternative character string for the specified overflow text.

Value: <string>
Initial: depends on system
Applies to: all block-level formatting objects
Inherited: yes
Percentages: N/A

When overflow="replace" is specified, the overflow text is replaced by repeating the specified string.


Extended Values

XSL Formatter V3.4 extends some values of the FO properties.

clear

Following bold values are extended.

Value: start | end | left | right | inside | outside | both | none | inherit

Values have the following meanings.

inside

Interpreted as "start" on odd pages, as "end" on even pages.

outside

Interpreted as "end" on odd pages, as "start" on even pages.

float

Following bold values are extended.

Value: before | start | end | left | right | inside | outside | none | inherit

Values have the following meanings.

inside

Places float area at start-edge on odd pages, at end-edge on even pages.

outside

Places float area at end-edge on odd pages, at start-edge on even pages.

font-stretch

Following bold values are extended.

Value: normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | <percentage> | <number> | inherit

Values have the following meanings.

<percentage>

Specifies the percentage against the font width.

<number>

Equivalent to <percentage> / 100.

force-page-count

Following bold values are extended.

Value: auto | even | doubly-even | odd | end-on-even | end-on-doubly-even | end-on-odd | doubly-even-document | no-force | inherit

Values have the following meanings.

doubly-even

Force an doubly-even number of pages in this page-sequence.

end-on-doubly-even

Force the last page in this page-sequence to be an doubly-even-page.

doubly-even-document

Force the number of pages counted from the document head to be an doubly-even number.

internal-destination

Following bold value is extended. no-LT

Value: empty string | <idref> | <number-with-fragment>

Values have the following meanings.

<number-with-fragment>

Effective for the internal link in PDF. indicates the page number of the link destination. This string is simpe numeric characters or the following string that combines numeric characters and fragment with #.

123#string

Refer to Making Link for fragment.

This property is not extended with XSL Formatter V3.4 Lite.

overflow

Following bold values are extended.

Value: visible | hidden | scroll | replace | condense | error-if-overflow | auto | inherit

Values have the following meanings.

replace

The string specified by axf:overflow-replace is repeated in a full area. When the specified string is empty, the string of the area is replaced with an empty string. The original string is discarded.

condense

Condenses the overflowed text within the region. How to condense the text can be specified by axf:overflow-condense.

These values are applied to fo:block-container or fo:inline-container only.

page-position

Following bold value is extended.

Value: only | first | last | rest | any | inherit

Values have the following meanings.

only

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. (XSL 1.1)


Copyright © 1999-2005 Antenna House, Inc. All rights reserved.
Antenna House is a trademark of Antenna House, Inc.