書籍や冊子のヘッダーやフッターにノンブルを入れたり、また目次や索引項目には参照先ページ番号を添えたりする。しかし、これらのページ番号は組版が終了したあとでないと決定できない。こうしたページ番号処理のために次のFOがある。
fo:page-number(ページ番号)はインラインのFOであり、組版されると、自身が置かれているページのページ番号を内容に含むインラインエリアを生成する。ノンブルまたはページ番号を入れたい場所に、fo:page-numberを置いておけば、組版処理によりその場所のページ番号が確定すると、XSL-FOプロセサがfo:page-numberをその位置のページ番号に置き換える。
ページ番号の開始値はページシーケンス毎にプロパティinitial-page-numberプロパティで設定する。initial-page-numberの値は次の通り。
| プロパティ値 | 説明 |
|---|---|
| auto(初期値) | 最初のpage-sequenceでは1にセットする。前にpage-sequenceがあるときは、前のpage-sequenceのページ番号+1の値をセットする。 |
| auto-odd | autoと同じように値を決め、偶数ならば+1する。 |
| auto-even | autoと同じように値を決め、奇数ならば+1する。 |
| <number> | 正の値を指定する。 |
例えば、表紙や目次のページ数に関係なく、本文の先頭ページの番号を'1'から開始するには、本文のfo:page-sequenceのinitial-page-numberを'1'に設定する。
fo:page-number-citation(ページ番号を引用)は索引、目次の項目、参照箇所等、特定のFOが存在するページのページ番号を引用するためのFOである。ページ番号を引用したい場所にfo:page-number-citationを置き、そのプロパティref-idプロパティに参照したいFOに付与されたidプロパティの値を設定する。参照先FOのidプロパティの値はfo名前空間の中で一意でなければならない。
| プロパティ値 | 説明 |
|---|---|
| <idref> | 参照するFOのidプロパティの値を指定する。初期値はなく値を設定しなければならない。 |

fo:page-number、fo:page-number-citationは、組版終了時にページ番号に置き換わる。印刷やPDFなどに出すときには、文字列に置き換る。文字列の書式は、fo:page-sequenceに次の表に挙げるプロパティによって設定する。
| プロパティ | プロパティ値 | 説明 |
|---|---|---|
| format | <string>(初期値は'1') | fo:page-sequenceに設定して、数値から文字列への変換を指定する。詳細はXSLTの仕様で定義されている。 |
| grouping-separator | <character>(初期値は'なし') | fo:page-sequenceに設定して、数値から文字列への変換を指定する。詳細はXSLTの仕様で定義されている。 |
| grouping-size | <number>(初期値はグルーピングなし) | fo:page-sequenceに設定して、数値から文字列への変換を指定する。詳細はXSLT の仕様で定義されている。 |
| letter-value | auto(初期値)またはalphabeticまたはtraditional | fo:page-sequenceに設定して、数値から文字列への変換を指定する。詳細はXSLTの仕様で定義されている。 |
| country | なし(初期値)または<country> | ISO 3166による国の指定 |
| language | なし(初期値)または<language> | ISO 639-2による言語の指定。2文字または3文字コード |
主なプロパティはプロパティformatである。次にformatによる番号の種類指定の例を示す。
| format='1' | 1,2,3 .... |
| format='1' | 1,2,3 .... |
| format='(1)' | (1),(2),(3),(4) .... |
| format='01' | 01,02,03,04 .... |
| format='一' | 一,二,三,四.... |
| format='A' | A B C ... Z AA AB AC.... |
| format='a' | a b c ... z aa ab ac.... |
| format='i' | i ii iii iv v vi vii viii ix x .... |
| format='I' | I II III IV V VI VII VIII IX X .... |
| format="ア" | カタカナの番号付けを指定 |
| format="イ" | カタカナをイロハ順に指定 |
| format="١" | (ARABIC-INDIC DIGITS) |
| format="۱" | (EXTENDED ARABIC-INDIC DIGITS) |
| format="१" | (DEVANAGARI DIGITS) |
| format="১" | (BENGALI DIGITS) |
| format="੧" | (GURMUKHI DIGITS) |
| format="૧" | (GUJARATI DIGITS) |
| format="୧" | (ORIYA DIGITS) |
| format="౧" | (TELUGU DIGITS) |
| format="೧" | (KANNADA DIGITS) |
| format="൧" | (MALAYALAM DIGITS) |
| format="๑" | (THAI DIGITS) |
| format="໑" | (LAO DIGITS) |
| format="༡" | (TIBETAN DIGITS) |
ページシーケンス単位でページ番号にfo:folio-prefix(接頭辞)とfo:folio-suffix(接尾辞)を指定できる。ページ番号の接頭辞と接尾辞は、fo:page-sequenceの子供として指定する(3–3 ページシーケンスを参照)。またfo:page-number-citationをページ番号に置き換えるとき接頭辞と接尾辞も一緒に付く。
次はページ番号、ページ番号参照、ページ番号の接頭辞、接尾辞を指定した例である。ページ番号の種類をformat="I" によりローマ数字とし、fo:folio-prefix、fo:folio-suffixでページ番号の前後に序章、頁を付与する。序章の本文には<fo:page-number-citation ref-id="text1" background-color="#DDDDDD">により章の文章のページ番号参照を設定している(以上、アンダーラインを付与)。
…略…
<fo:simple-page-master margin="0mm"
master-name="PageMaster"
page-height="64mm"
page-width="95mm">
<fo:region-body border="0.2pt solid gray"
margin="8mm 8mm 8mm 8mm"/>
<fo:region-after extent="5mm"
background-color="#EFEFEF"/>
</fo:simple-page-master>
…略…
<!-- 1ページ目 -->
<fo:page-sequence master-reference="PageMaster"
initial-page-number="1"
format="I"
force-page-count="no-force">
<fo:folio-prefix>序章</fo:folio-prefix>
<fo:folio-suffix>頁</fo:folio-suffix>
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="center" font-size="0.9em">
<fo:page-number text-decoration="underline" />
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="20pt"
font-family="sans-serif"
id="headinga">
序章 見出しA</fo:block>
<fo:block text-indent="1em"
text-align="justify" >
…略…
詳しくは<fo:page-number-citation ref-id="text1" background-color="#DDDDDD"/>
で説明します。
</fo:block>
</fo:flow>
</fo:page-sequence>
組版結果を図14・2 序章の組版結果に示す。網掛(background-color="#DDDDDD")部分はIDで参照しているfo:inlineオブジェクトのページ番号が組み込まれている。

次は二つ目のページシーケンスである章である。章のページ番号には接尾辞のみを付与する。また、章の本文には<fo:inline id="text1">XSL仕様</fo:inline>として参照されるテキストにidを設定している。
<!-- 2ページ目 -->
<fo:page-sequence master-reference="PageMaster"
initial-page-number="1"
force-page-count="no-force">
<fo:folio-suffix>頁</fo:folio-suffix>
<fo:static-content flow-name="xsl-region-after">
<fo:block text-align="center" font-size="0.9em">
<fo:page-number text-decoration="underline" />
</fo:block>
</fo:static-content>
<fo:flow flow-name="xsl-region-body">
<fo:block font-size="20pt"
font-family="sans-serif"
id="headingb">
本章 見出しB
</fo:block>
<fo:block text-indent="1em"
text-align="justify">
<fo:inline id="text1">XSL仕様</fo:inline>は …略…
</fo:block>
</fo:flow>
</fo:page-sequence>
組版結果を図14・3 本文の組版結果に示す。

fo:page-number-citation-lastは参照対象FOの最後のページ番号を引用するためのFOである。例えば、章などを参照するとき、参照する章の範囲をページ番号で示すとき、fo:page-number-citationと共に使う。プロパティpage-citation-strategyプロパティで参照対象FOの最終ページを判断する制約条件を指定し、fo:page-number-citation-lastは、その制約を満たす領域の最後のページ番号に置き換わる。
| プロパティ値 | 説明 |
|---|---|
| all(初期値) | 参照されたFOのref-idトレイトに一致するすべてのページ。参照されたFOが生成する空白ページを含む。 |
| normal | 正規エリア(脚注やフロートなどを除いて本文ブロックとして積み上げられるエリア)を含むページ。 |
| non-blank | 脚注やフロートのような(正規エリアでない)領域を含むページ。 |