[戻る] [XML Top] [English]

Antenna Hosue

XHTMLからXSL-FO変換用スタイルシート


このページのスタイルシートは、XHTML文書をFOに変換するスタイルシートの例です。ご自由に修正してお使いください。

XHTML用スタイルシート

配布しているファイルに含まれるスタイルシートの一覧と簡単な説明です。

xhtml2fo.xsl
XHTMLデフォルトスタイルシート。他のスタイルシートではこれをインポートして、いろいろなスタイルに変更している。
xhtml2fo-justified.xsl
text-align="justify" をデフォルトにしているだけでなく、ブロック間のスペースにもminimum〜maximumの範囲をもたせて、改段・改ページでページ内の本文の下端が不ぞろいにならないようにしている。
xhtml2fo-multicolumn.xsl
二段組にした例。h1 と h2 を段抜き見出しにしている。
Chocolate.xsl, Midnight.xsl, Modernist.xsl, Oldstyle.xsl, Steely.xsl, Swiss.xsl, Traditional.xsl, Ultramarine
W3C Core Styles <http://www.w3.org/StyleSheets/Core> のCSSスタイルシートのXSL-FO版。
Traditional-ja.xsl
W3C Core Styles の Traditional を日本語の縦書きに直したもの。
W3C-REC.xsl
W3C仕様書のCSSスタイルシート W3C-REC.css のXSL-FO版。
AXF-Help.xsl
XSL Formatterのヘルプ用のスタイルシート。

サンプルXHTMLファイル

XHTMLファイルのサンプルです。

Sampler-ja.html
Sampler.htmlの日本語版。
ruby-test.html
ルビ、縦書きと横書きの混在、縦中横のテスト。(rubyはXHTML1.1の正式の仕様の一部です。xhtml2fo.xsl でサポートしています。)
style-test.html
XHTMLの要素に style 属性でCSSの形式のスタイルを指定している例。writing-mode(CSS3ドラフトにある)による縦書き・横書きの指定、tableのスタイルの指定、絶対位置の指定。

パラメータの説明

以下のパラメータとattribute-setの設定内容を変えることで、いろいろなスタイルにカスタマイズできるようになっています。

<!-- page size -->
<xsl:param name="page-width">auto</xsl:param>
<xsl:param name="page-height">auto</xsl:param>
<xsl:param name="page-margin-top">1in</xsl:param>
<xsl:param name="page-margin-bottom">1in</xsl:param>
<xsl:param name="page-margin-left">1in</xsl:param>
<xsl:param name="page-margin-right">1in</xsl:param>

ページのサイズとマージンを指定します。page-width、page-height が auto の場合は、Formatterの設定に従います。

<!-- page header and footer -->
<xsl:param name="page-header-margin">0.5in</xsl:param>
<xsl:param name="page-footer-margin">0.5in</xsl:param>
<xsl:param name="title-print-in-header">true</xsl:param>
<xsl:param name="page-number-print-in-footer">true</xsl:param>

ページヘッダのマージン(ページ上端から)、ページフッタのマージン(ページ下端から)、XHTMLのtitle内容をページヘッダに印字するかどうか、ページ番号をページフッタに印字するかどうか、を指定します。

UIなどから指定することを考慮して、true、false はブール型ではなく文字列にしました。

<!-- multi column -->
<xsl:param name="column-count">1</xsl:param>
<xsl:param name="column-gap">12pt</xsl:param>

段組の設定。段数と段間のアキを指定します。

<!-- writing-mode: lr-tb | rl-tb | tb-rl -->
<xsl:param name="writing-mode">lr-tb</xsl:param>

Writing-modeの設定。縦書き(tb-rl)を指定したときは、本文が縦書きでページヘッダとフッタはページ上部(region-start)と下部(region-end)に横書きとなります。

<!-- text-align: justify | start -->
<xsl:param name="text-align">start</xsl:param>

デフォルトの行揃えの指定。justify を指定すると行末が揃います。

<!-- hyphenate: true | false -->
<xsl:param name="hyphenate">false</xsl:param>

ハイフネーションをするかどうかの指定。

主な機能


Copyright © 1996-2011 Antenna House, Inc. All rights reserved.