DocBook XMLで書いた日本語文書をHTMLに変換する

XML文書はDocBook XML V4.1.2で記述されてるとします。
Walsh氏のDocBook用XSLTスタイルシートを用いて、こいつをHTMLに変換します。
スタイルシートを処理するためのXSLTプロセッサには色々有ります。
まず、James Clark氏が公開しているXTはいわずもがなでしょう。
しかし、付属のXMLパーサーでは日本語が通りません。
そこでXMLパーサーとしてXercesと組み合わせて使うことが多いようです。
で、だったら最初からXalan
を使いましょうという向きもあるでしょう。
同じApacheプロジェクトですから、XalanにはXercesが同梱されています。
でもXTもXalanも試しましたが、いまいちしっくり来ないんですね…
最後に真打ち登場。
Saxonです。(Saxon6_5を使いました)
XML文書の日本語部分だけが文字参照(&#12345みたいな)に置き換えられてしまうのだけが気になりましたが、まぁブラウザでは見れるし、いいかと。
でもXSLTスタイルシートのパラメータをいじってやったら、utf-8スルーしてくれるようになったみたいです。
こんな風に自分のスタイルシートでnwalsh氏のものをimportして、変更したパラメータだけ上書きするのがいいみたいです。
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version=’1.0′>
<xsl:import href="html/chunk.xsl" />
<xsl:output method="html"
encoding="utf-8"
indent="yes"/>
<xsl:param name="html.stylesheet">docbook.css</xsl:param>
<xsl:param name="use.id.as.filename" select="1" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
<xsl:param name="css.decoration">0</xsl:param>
<xsl:param name="saxon.character.representation" select="’native’" />
<xsl:param name="make.valid.html" select="1" />
<xsl:param name="default.encoding" select="’utf-8’" />
<xsl:param name="admon.graphics" select="1"/>
</xsl:stylesheet>

カテゴリー: コンピュータ パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください