C-2. xsltproc を使って DocBook から HTML を作成する
とりあえず、 DocBook 形式の xml ファイルから HTML ファイルを作成してみます。
DocBook 形式の詳細な説明は後述するとして、ここではテスト用に、以下のような helloworld.xml を作成します。
helloworld.xml:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<book lang="ja">
<title>book: ハロー ワールド!</title>
<chapter>
<title>chapter: ハロー ワールド!</title>
<section>
<title>section: ハロー ワールド!</title>
<para>para: ハロー ワールド!</para>
</section>
</chapter>
</book>
日本語を使う場合は、以下の 2 点が必要です。
-
book に lang="ja" が必要。
-
ファイルを utf-8 で作成する場合は、?xml ... に encoding="utf-8" は省略できるが、それ以外の場合は、encoding="..." が必要。
さらに、以下のようなファイルも作成します。
docbook-html.xsl:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'> <xsl:import href="/usr/share/docbook-xsl/html/docbook.xsl"/> <xsl:output method="html" encoding="Shift_JIS" indent="yes"/> </xsl:stylesheet>
Cygwin では /usr/share/docbook-xsl/html/docbook.xsl に DocBook を HTML に変換するための XSL が用意されていますが、デフォルト・エンコーディングが iso-8859-1 となっています。このまま利用すると、日本語がエンコードされませんので、docbook.xsl をインポートした後、エンコード部分をオーバーライドする (=書き換える) ようにします。
このインポートとオーバーラードの方法は、 XSL を利用する際の一般的方法です。
docbook-html.xsl は、どこに保存しておいてもかまいません。今回は、カレントと同一ディレクトリに置いて説明しますが、再利用することになりますので、適当なディレクトリへ保存するようにしてください。
$ xsltproc -o helloworld.html ./docbook-html.xsl helloworld.xml
または
$ xsltproc ./docbook-html.xsl helloworld.xml helloworld.html
以上で、できあがったファイル helloworld.html が以下のものです。
DocBook と xsltproc を使用して、セクション単位で HTML を分割して作成することもできます。
以下のようなファイルを用意します。
docbook-html-chunk.xsl
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0' <xsl:import href="/usr/share/docbook-xsl/html/docbook.xsl"/> <xsl:output method="html" encoding="Shift_JIS" indent="yes"/> </xsl:stylesheet>
以下のように実行します。
$ xsltproc ./docbook-html-chunk.xsl helloworld.xml Writing ch01.html for chapter Writing index.html for book
index.html:
新着記事
-
#1724. 店名は変われど味は変わらず。横浜中華街・富泰楼麺房のとりそば ― 澄んだスープに鶏油と葱だけのシンプル極上ラーメン:
2026-01-20 横浜中華街・広東路の富泰楼麺房(ふうたいろうめんぼう)にてランチ。もとは揚州麺房だった店だが、2024年7月1日に店名を変更して富泰楼麺房になった。オーナーは変わったが、料理人はそのままで、料理の味も変わっていない。横浜中華街は店の入れ替わ...
-
#1723. 大ぶり海老天が2本。横浜元町「そば処 木の芽」海老天丼 ― 蕎麦屋の仕事が光る:
2026-01-19 横浜・元町のそば処 木の芽にてランチ。海老天丼をオーダー。蕎麦屋の丼ものの「花」と言えば、やはり天丼、なかでも海老天丼。今日は暖簾をくぐる前からそれ以外の選択肢が思い浮かばなかった。運ばれてきた丼には、大ぶりの海老天が堂々と2本。衣は軽く、...
-
#1722. 春菊+柚子胡椒が決め手の本丸亭・横浜元町店の本丸塩らー麺 ― 代官坂で味わう極上塩ラーメンランチ:
2026-01-17 横浜・元町・代官坂のラーメン店本丸亭(ほんまるてい)横浜元町店にてランチ。本丸塩らー麺をオーダー。トッピングは、ガッツリ系のチャーシューに雲呑、そして春菊。標準で春菊が入っているのも特徴だが、さらに春菊を追加してもらう。春菊がラーメンに入る...
-
#1721. 黒ホッピーで独酌!東北人家の閃椒土豆絲&干鍋筋头巴脑 ― 横浜中華街で味わう中国東北料理の辛旨キレ味:
2026-01-16 横浜中華街・広東道の東北人家(とうほくじんか)新館にて、晩餐という名の独酌。東北人家は、中国東北地方の料理(東北菜)の店。中華街では珍しくホッピーが置いてあり、本日も黒ホッピーのセットでスタート。オーダーは閃椒土豆絲(ジャガイモ細切りの唐辛...
-
#1720. 横浜・馬車道の老舗トンカツ「勝烈庵」で昼ビール&ロースかつ定食 ― 休日に背筋が伸びる名店でひとり贅沢ランチ:
2026-01-16 休暇をとって、午前中に所用を済ます。そのまま、横浜の街を少し散歩して、横浜・馬車道の勝烈庵(かつれつあん)馬車道総本店にてランチ。勝烈庵といえば、横浜のトンカツの老舗。やや高級店の落ち着いた雰囲気があり、背筋が伸びる一方で、不思議と居心地が...
merita.jp