e-Gov法令検索で公開されている法令のXMLデータから電子書籍を生成し、Kindleなどの 電子書籍リーダ やMicrosoft Edgeなどの ePub対応ブラウザ で閲覧できるようにするスクリプトです。
- 総務省e-Lawsの 法令標準XMLスキーマ に準拠したXMLが対象です。
- 頻用の要素以外はほぼ未テストなので、不具合がある可能性が高いです。
Linux環境で動作検証していますが、Windows環境でもxsltproc, Python3やkindlegenのWindows版を用意すれば、大体同じ流れで使えるはずです。
主にXSLTで記述されているため、 Libxslt に含まれるxsltprocやxmllintが必要です。
GitHubより、O'reillyが公開している HTMLBook を入手します。
git checkout https://github.com/oreillymedia/HTMLBook.git
一部の機能やレイアウトの調整を行うelawstidy.pyを動かすには、 Python3 が必要です。
ePubからKindleで読めるmobi形式に変換するには、Amazonが公開している kindlegen が必要です。
- e-Gov法令検索の 「法令索引検索」 で法令の名称(e.g. 刑法)を入力します。
- 「索引検索結果一覧画面」で目的の法令名をクリックします。
- 法令の条文が表示されたら、ページ上部の 「XML形式ダウンロード」 をクリックし、書庫を展開してXMLファイル(e.g. 140AC0000000045_20160623.xml)を入手します。
elaws2epub.sh (シェルスクリプト)を環境に合わせて編集してください。
- HTMLBook, kindlegen(必要な場合)のパスを手元の環境に合わせてください。
- Windows環境の場合は手作業でコマンドを実行してください。
- elawstidy.py, kindlegenが不要な場合はコメントアウトしてください。
- elaws2epub.shを実行 すると、ePubやmobiが生成されます。
./elaws2epub.sh 140AC0000000045_20160623.xml
XSLTなどはPublic domainとしますが、不具合などがあればIssuesへ投げてください。