XSL-FO と XSLT

XSL-FO と XSLT はお互いを助け合います。

この例を覚えていますか?

<fo:block
    font-size="14pt" font-family="verdana" color="red"
    space-before="5mm" space-after="5mm">
W3School
</fo:block>
<fo:block
    text-indent="5mm"
    font-family="verdana" font-size="12pt"
    space-before="5mm" space-after="5mm">
CodeW3C.com では、すべてのウェブ構築チュートリアルを見つけることができます
必要なもの、基本的な HTML と XHTML から高度な XML、XSL、マルチメディアまで
そして WAP。
</fo:block>

結果:

この例はXSL-FO ブロックエリアに関するセクションから来ています。

XSLTからのサポート

XSL-FO インフォメーションをドキュメントから削除:

<header>
W3School
</header>
<paragraph>
CodeW3C.com では、すべてのウェブ構築チュートリアルを見つけることができます
必要なもの、基本的な HTML と XHTML から高度な XML、XSL、マルチメディアまで
そして WAP。
</paragraph>

XSLT 変換を追加:

<xsl:template match="header">
<fo:block
    font-size="14pt" font-family="verdana" color="red"
    space-before="5mm" space-after="5mm">
    <xsl:apply-templates/>
</fo:block>
</xsl:template>
<xsl:template match="paragraph">
<fo:block
    text-indent="5mm"
    font-family="verdana" font-size="12pt"
    space-before="5mm" space-after="5mm">
    <xsl:apply-templates/>
</fo:block>
</xsl:template>

生成される結果は同じです: