法令標準XMLスキーマ用のスタイルシート

e-govの法令検索システムが平成29年6月にリニューアルされました。10月からは旧システムは使用できなくなりました。

新システムでは、「法令標準xmlスキーマ」に基づくxml形式の法令がダウンロードできるようになりました。一方従来のようにhtml形式で保存しようとする場合少し不便になりました。[別画面に表示]の機能を使い、表示されたもののソースを保存すれば取りあえずは可能ですが、見にくいです。

法令標準スキーマのxmlをhtmlとしてブラウザで観るためのスタイルシートは提供されておらず、何らかの理由で自分のPCに法令を保存したいだけの個人ユーザにとっては却って不便になったともいえます。

私も不便に感じ、法令標準xmlスキーマのxmlをhtmlで観るためのスタイルシートを作成してみました。同じように感じている人もいるのではないかと思い公開します。

スタイルシートで使用する言語xsltは今回のためににわか勉強しました。不適切な書き方をしている場合もあるかもわかりませんが、少なくともシステムやファイルに悪さをする恐れは無いであろうということで提供をします。もし気が付いた点があれば教えて頂ければ幸いです。

なお、本スタイルシートの使用により、また以下に説明する使用法に従ったことにより、発生するトラブルや損害に対しては、一切の責任を負いません。

しばらくチェックをさぼっていたらWindows10のメモ帳に変更があったようで、BOMなしでセーブするのがデフォルトになりました。このため本ページの指示に従ったらワードパッドで文字化けが生じて困った方もいるのではないしょうか。UTF-8(BOM付) を指定してセーブすれば良いのですが、そもそもメモ帳が行末がCRだけLFだけでも扱えるようになったようです。このためメモ帳やワードパッドで読んで上書きするという事が必要なくなりました。従って手順を変更しましたが、古いバージョンを使っているという人のために以前の方法も残しています。

なお、令和2年11月24日からe-govの法令検索においてhtml形式で直接ダウンロードできるようになりました。htmlであれば良いという場合はそちらを利用されればよいと思います。ダウンロードできるhtmlは目次から本文へのリンクが設定されていません。目次からのリンクが欲しいという場合は引き続き本スタイルシートを利用できます。 またxml形式によるダウンロードも含め様式がダウンロードされなくなっています。これについて問い合わせたところ以下の回答を得ました。

なお、新しいe-gov法令検索システムはIE11ではまともに動きません。スクロールがスムースでなく、またページ内文字検索ができません。EdgeかChromeを使用すれば問題ないです。

2022.1.22:またしばらくチェックをさぼっていたらEdgeの仕様に変更があったようでstyleシートを読み込むxmlの表示がいつの間にかできなくなっています。Edgeを使用する場合はInternet Explorerモードで使用してください

a

1.使用法

(1)スタイルシートのダウンロード

以下よりhourei-xsl.zipをダウンロードし展開してください。次の2つのテキストファイルが含まれます。hourei.xslはUTF-8でセーブすることが必要です。
hourei.xsl
hourei.css

ダウンロード


(2)法令xmlのダウンロードと処理

e-gov法令検索より所望の法令のxmlをダウンロードし、一行目の次(すなわち2行目)に以下の一行を挿入します。

  <?xml-stylesheet type="text/xsl" href="./hourei.xsl" ?>

Windowsの場合は、メモ帳に読み込んで、この一行を追加し、[文字コード]をUTF-8で上書き保存すれば良いです。
メモ帳に読み込んだ時に各行が改行されず、全部の行がつながってしまうという場合は次のようにして下さい。

  1. ダウンロードしたxmlを一旦メモ帳に読み込み上書き保存します。このとき[文字コード]で"UTF-8"のほか"UTF-8(BOM付き)"が選択できる場合は(BOM付き)の方を選んでください。これによりワードパッドで読める形式(BOMつきUTF-8)になります
  2. 今度はワードパッドで読み込み上書き保存します。これにより行末がWindows仕様(/r/l)になります。
  3. 今度はメモ帳で読み込み一行目の次(すなわち2行目)につぎの一行を挿入します。
     <?xml-stylesheet type="text/xsl" href="./hourei.xsl" ?>
    
  4. 文字コードUTF-8に設定して、名前を付けて保存します。

なお私は、簡単なperlスクリプトを使用して、1〜4の手順を経ずに処理を行っています。

(2)表示

同じディレクトリ内に、ダウンロードしたhourei.xsl、hourei.cssの2つのファイルを置きます。xmlをダブルクリックすると表示されるはずです。

(3)最終更新情報について

ダウンロードできるxmlには最終更新の情報が含まれていません。ローカルに法令を保存する主な理由の一つは、大きな改正があるときに改正前の法令を保存しておきたいということですから、これは大変困ります。

このため、xmlの最上階層に(<Law Era=....>の次の行あたりに)以下の要素を手で埋め込むことで「最終更新」として表示するようになっています。この要素を入れた途端に法令標準xmlスキームには従っていないことにはなります。

  <LastUpdate>最終更新情報</LastUpdate>

 使用例
   <LastUpdate>平成二十九年六月二日公布(平成二十九年法律第四十五号)改正</LastUpdate>

2.注意事項

  1. InternetExplorer11、Edgeで動作を確認しています。ただし、前のバージョンはバグのためEdgeでは文字化けします。最新版をダウンロードし直してください。Edgeの場合はInternet Explorerモードで使用してください。詳細は以下を参照してください。Safariの場合についても説明があります

    e-govの電子公文書のサイト

    Chromeはデフォルトでローカルファイルのアクセスを禁止しています。コマンドラインオプション "--allow-file-access-from-files"を付して起動すれば大丈夫ですが、ご自身の責任で行ってください
    Firefoxの場合スタイルシートが同じディレクトリにある場合はアクセスできるという説明のようなのですが、なぜかまともに表示されません。アドレスバーに"about:config"を入力し、security.fileuri.strict_origin_policyをtrueからfalseに変更する必要があります。この設定の変更についてもご自身の責任で行ってください。
  2. 標準スキーマに全面的に対応しているわけではありません。参照したのはパブリックコメントで公開されていたスキーマ(xsd)ですが、最終版かどうかわかりません。何よりも何のために設けている要素か分からないものが多く、その場合どのように変換すればよいか見当がつかないからです。従ってスキーマを参照しつつも、基本的には幾つかの法令のxmlをダウンロードしてその中身を見て作成するということをしました。そのため法令によっては表示されない部分が出る可能性があります。その場合は「どの法令のどこが表示されない」と連絡を頂ければ、可能な範囲で対応し改訂版を公開したいと思います。連絡先は以下にお願いします。

    不具合の連絡

  3. 改正規定(「・・・を改正する法律」)はある程度対応していますが、一部対応ができていません(インライン要素のQuoteStructがある場合)。また、例が少なく十分なテストができていません。注意の上使用ください。
  4. 不具合以外の機能追加は原則お断りします。xsltは大変不便な言語でできることは限られており、またコーディングしていてもさっぱり楽しくありません。
  5. JavaのTransformerを使用することで、スタイルシートを利用してhtmlに変換してしまう事もできます。私自身は所得税法のように大きくて変換に時間がかかるものはhtmlに変換したものをセーブして使用しています。Javaのプログラムは自信がないので公開しませんが、"Java Transformer"で検索すれば使用方法は分かると思います。周りにJavaの開発環境があり、Javaが使える人がいる場合は簡単に作成してもらえるのではないでしょうか。

【履歴】

初稿2017/11/17
改訂2019/7/11
改訂2019/12/31
改訂2020/1/19
説明追加2020/4/15
説明変更2020/5/16
●メモ帳の仕様変更に対応
説明追加2020/11/24
●e-govの機能追加について
説明追加2020/12/11
●e-govの様式ダウンロードついて
改訂2022/1/22
●Edgeの仕様変更と対応法
改訂2022/1/23
●Chrome、Firefoxの説明変更
改訂2023/2/10
改訂2023/5/26
改訂2024/10/9
●改正規定について説明追加
改訂2024/10/23