XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95...

20
Meiji University Title XML��-�-Author(s) �,Citation �, 342: 93-111 URL http://hdl.handle.net/10291/13129 Rights Issue Date 2001-01-31 Text version publisher Type Departmental Bulletin Paper DOI https://m-repo.lib.meiji.ac.jp/

Transcript of XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95...

Page 1: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

Meiji University

 

Title XMLによる法令デ-タベ-ス

Author(s) 和田,悟

Citation 明治大学教養論集, 342: 93-111

URL http://hdl.handle.net/10291/13129

Rights

Issue Date 2001-01-31

Text version publisher

Type Departmental Bulletin Paper

DOI

                           https://m-repo.lib.meiji.ac.jp/

Page 2: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

明治大学教養論集 通巻342号

(2001・1) pp.93-111

XMLによる法令データベース

和 田 悟

1.はじめに

 本データベースは,改正履歴情報を保持し,過去の指定時点に有効な条項

を利用者に提示する機能,官報を通じて公布される一部改正法律のデータに

基づいて法律条文の保守を可能な限り自動化する機能を備えることを目標と

している。また,WEB技術との親和性,改正履歴の保持の観点から,法律

データの記述方式として,XML(eXtensible Markup Language)1を用い

る。つまり,法律のテキストに対し,「タグ」と呼ばれる記号を付加し,条・

項などの構造を示すようにする。こうしたマークアップの作業の自動化も目

標のひとつである。法律データの入力から利用者の検索にいたるデータの流

れは図1に示すとおりである。

2.法律の基本構造

 法律の条文をXMLにより記述する際,そのデータ構造を分析し,構成要

素を木構造に整理する必要がある。どのような項目を要素として定義し,法

令データベースで扱うかに関しては様々な考え方があろうが,ここではまず

法令の公布媒体として用いられている官報掲載の形式を出発点とする。

 官報では,公布される法律自体のほか,その法律の公布を宣言している部

分が掲載されている。つまり,ある法律に関する情報は大きく2つの部分

1本稿でいうXMLは, XML1.0(1998年2月10日にW3C勧告)を指す。

Page 3: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

94 明治大学教養論集 通巻342号(2001・1)

自動マークアップ

  ツール

改正処理文法解析

 法律データ(プレーンテキスト

  他)

法律データ(XML形式)

   法律データベース(改正法律を含む法律XMLデータ)

WEBべ一ス検索システム

図1 システムの概要とデータの流れ

に分けて考えることができる。すなわち,公布を宣言している部分(「公布

部」2)と公布されている内容の部分(「公布内容」)とである。

2.1公布部

 公布部の中心をなすのは,以降に続く法令の公布を宣言する文(「公布文」)

である。現在の法律では,「○○に関する法律をここに公布する。」という表

現が用いられ,帝国議会のもとで制定された法律に関しては,「朕は,帝國

議会の協賛を経た○○に関する法律を裁可し,ここにこれを公布せしめる。」

2「公布部」という語は一般的な用語ではない。通常は「公布文」と呼ばれる。ここ

 では公布を宣言する文だけでなく,その文面を発した日付,署名等の要素も含ま

 れていることから,文書構造を記述する際の混乱を避けるため,敢えて「公布部」

 と呼ぶことにした。

Page 4: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

XMLによる法令データベース 95

という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

一定である。古い法令の中には題名を持たないものもあり,この場合,その

法令の呼び名として公布文中に現れた名称が用いられることがある。これを

件名という。公布文が一定の形式であるおかげで,必要なら,公布文中から

件名を単純なパターソマヅチで得ることが可能となっている。現データベー

スでは,このデータを利用しないが,ここで抽出される呼称をマーク付けし

ておき,俗称等を含めた法令名データを作成することも考えられる。

 通常の法令集は公布内容部分だけを収録することが多いが,公布文から法

令を成立させた議会について情報を得ることができるし,また,公布日付は

他の法令による規定と抵触する場合,前法一後法の優先関係を決める手がか

りとして利用することもできる3。したがって,公布部に含まれる情報は法

令のメタ情報としてデータベースで扱う価値がある。

 ここで公布部を中心にXMLの文書型定義(DTD:Document Type Defi-

nition)と,これに従った記述例を示す(図2)。実際にシステムで利用する

データでは,プログラムライブラリの実装上のトラブルを避けるため要素名

〈!EL印副T法律(公布部,公布内容)〉

名部)〉

〈!a印副T公布文(炉CDATA)〉〈!aeVEN「「 御名律夢雪塁 E“PTY>

〈!a印ENT公布a(#PCDATA)〉

〈!EL団日τ暑名部(暑名)+〉

〈!EL印E岡τ 署名    (縦⊃CDATA}〉

〈法律〉

〈公布部〉

・公布文ン消費者契約法をここに公布する<!公

布文〉

<御名御璽〆>

c公布日〉平成十二年五月十二日く1公布日〉く署名部ン

〈署名〉内閣総理大臣 森 喜朗〈/署名〉

 》署名部♪、!公布部〉

・’ �z内容》…略・… /公布内容〉

〈!法律〉

図2 DTDとXMLによる表現例

3現在のシステムでは,法令データはそれぞれファイルとして蓄積されており,公

 布年月日をファイルのパス名にも利用している。

Page 5: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

96 明治大学教養論集 通巻342号(2001・1)

に英数字を用いているが,ここでは,便宜上,日本語の要素名を用いている。

2.2 条以下の構造

 公布される法令データにおいて,通常,基本的構成要素と考えられるのは

「条」である。この考え方は,通常われわれが法文を参照するとき「第○条

第○項」のように「条」を基準として指示することとよく符合する。しかし,

法律の中には「第一条」といった条名が付されていないものがあり,また,

多くの法律の附則は「条」ではなく「項」から構成されている。このことか

ら,基本構成単位を「項」と考え,「条」は必要に応じて「項」を束ねる要

素にすぎず,章節と同様の機能を果たすものにすぎないとの考え方もでき

る。どちらを基本構成要素としても法令データベースは構築可能であるが,

ここでは以下のような点を考慮して「条」を基本構成要素とする。

 (1)条名がない法令が少なく例外的であり,特定の法文への参照指示が

   「条」を基準として行われることが多いこと

 (2)「項」は日常一般の文書構造に照らして言えば,「段落」に相当するも

   のであって,その番号は,実は,参照の便宜のためにつけられている

   段落番号に過ぎず,条名や号名と異なるとされていること4。

 条を基本構成単位とした場合,「条」と「項」の関係は次のように表現さ

れることになる。

〈条no=”1”〉

 〈項no-”1”〉・ ・〈/項〉

 〈項no=”2”〉・  ・〈/項〉

〈/条〉

 附則は項だけからなる場合が多いが,システムのデータ操作において本則

と附則とを同じように扱えるのが望ましい。それゆえ,附則についても同様

の構成とし,条名がない場合も,表面に現れていないだけで,必ず項を包む

4[林75]p.70

Page 6: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

                   XMLによる法令データベース 97

ようにして存在すると考えることになる。そもそも条名は序数であり,複数

の同列の要素が複数存在することを前提としている。条が一つしかない場合

には条名は無意味であり,表現されないと考えるのである。

 逆に,条の中に項番がない場合も,項が隠れているとみるのが適当であ

る。例えば,次の例を考えてみよう。

  第一条 各議院の議長は歳費として月額七千円,副議長は五千円,議員

   は三千五百円を受ける。

   (昭和二十二年法律第八十号)

この法文に言及するとき,われわれは,単に「第一条」と言い,「第一条第

一項」とは言わない。このようなときには項は存在しないと考えて,図3(b)

のような表現も可能である。しかし,後に,法律の改正で条文に第二項が加

えられる場合を考えてみよう。(a)の構造をとっていれば,条の子要素を一

つ追加するだけですむが,(b)の場合には,従来の規定内容を項に構造を変

更した後,条の子要素として新しい項を追加するという二段階の操作が必要

になる。したがって,(a)のように,項として言及されなくとも,データ上

は条は項をもっているものとして記述するのが適当であり,法の規定内容は

すべて項の下のテキストノードとする。

 以上の点をふまえて,整理したのが次の構造定義である。なお,以下の定

義では「号」が見当たらないが,これは,号をさらに細分し項目を列挙して

(a)条には項が必ずあるとする場合 (b)項がない場合があるとする場合

〈条no!1”〉

@ 〈項〉各議員の議長は・… <ノ

@項〉

qノ条〉

〈条no=”1”〉

e議員の議長は…・

q!条〉

図3 条・項関係の2つの表現方法

Page 7: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

98 明治大学教養論集 通巻342号(2001・1)

いる場合があることを考慮し,「項目列挙」と汎用的な名前を付け,号より

下位の列挙構造も表現できるよう再帰的に定義している。

 以上のほか,実際のデータベースでは,項の内容を文単位でマーク付けし

ておくことにより,「前段」「後段」「但書」といった言及の仕方に容易に対

応できるようにしている。

2.3章節構造

 条数の多い法律は章や節によって区分されていることが多い。節の区分で

足りない場合には,款,目という区分も用いられる。逆に,民法,商法など

のように章の上位区分として「編」が設けられている場合もある。これらの

区分をまとめると条文の集合の包含関係は次のようになる。

編一章一節一款一目

 いずれも直接の子要素として条をとりうる(例えば,民法第一条は第一編

の直下に位置する)。したがって,XMLの文書構造定義を行う場合にもこ

のような構造を反映したものにする必要がある。

 しかし,構造がわかっても,実際にXMLの文書型定義を行う方法は一通

りではない。どのような構造とするかは,データ自体の論理構造もさること

図4 章節構造の2つの表現方法

Page 8: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

XMLによる法令データベース 99

ながら,システム構築上,管理上の効率なども考慮して決められる。図4

にあるように,完全に木構造として定義するやり方のほか,HTMLのよう

に,フラットな構造で表現する方法がある。また,章・節などに対応する要

素をそれぞれ設けるやりかたと,汎用の要素を用いて,属性で区別するやり

方が考えられる。ここでは,木構造に従う深い階層構造をもたせるか,

HTMLのようなフラットな構造にするかについて考えてみる。

 わが国では法律改正により章立てを変更する際,特定の条の前後に見出し

を挿入するというやり方をとっている。例えば,「第百十五条の前に次の款

名を付する。」というように定める。紙の上の法律では見出し以外に章節構

造を示すものはないから,このような見出しの挿入削除によって章立ての変

更を行うのは当然である。

 こう考えれば,章節立ては見出しの挿入によって行えるHTML流のやり

方をとるのが素直かもしれない。しかし,この構造には,章節構造の終了を

次の同レベルの見出しの出現によってしか判定できないというプログラム実

装上の問題がある。たとえば,「第三章を準用する」というように参照をす

本則:ニ(編1章1条)+

附則:=(条)+

編:=編名(章1条)+

章:=章名(節1条)+

節:=節名(款1条)+

款:=款名(目1条)+

目:=目名条+

条:=条名見出し?項+

項:=見出し?項番号?

   文字列項目列挙?

項目列挙:二列挙事項+

列挙事項:二 項目名文字列項目列挙?

図5 本則以下の構造

Page 9: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

100 明治大学教養論集 通巻342号(2001・1)

る場合には,下位要素を含めて丸ごと簡単に取り出せるのが望ましい。章節

構造を完全に木構造として定義しておく方がよい。また,こうしておくこと

で「第五章の次に次の一章を加える。」といった改正において,章の終了位

置を判定する必要がなくなり,処理が容易になるだろう。以上の点から本

データベースに用いる法律データは章節構造を多層の階層構造として定義す

ることにする。

3.一部改正法律によるデータ保守

3.1要素の多重化による改正履歴の保持

 法律は制定された後も一部改正法律によってしばしば変更される。年間に

国会で制定される法律の多くが一部改正法律である。一部改正法律がどのよ

うなものかは,後述する。

 やっかいなことに,法律の改正は書籍などの改版のように,ある特定の時

点で法律内容が一斉に更新されるわけではない。一つの改正法律の中でも,

ある改正内容は公布日に有効になり,別の改正内容は公布日から数ヵ月後に

有効になるという場合がある。

 こうした法律の流動的なあり様からすれば,紙媒体のようなやり方ではな

く,電子媒体の特性を生かして,動的に提示内容を決定できるようなやり方

によるデータ記述が望まれる。

 その一つの方法として考えられるのが法律要素を多重化し,要素に日付に

関わる属性を与えておくという手法である。すなわち,ある要素が改正され

た場合に,同一データ内に改正前後の両方の要素を維持しておき,利用者に

よって指定された日付と,各要素がもつ日付属性とを比較して適切なものを

出力するような仕組みを作るというものである。

 少し具体的に説明しておこう。ある法律の第一条が改正され,改正後の法

律が“2000/08/01”に効力を生ずるとする。このとき,法律データは図6

Page 10: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

XMLによる法令データベース 101

〈条noニ”1”〉

〈項no=”1”effective_from=”2000108/O l”〉新しい規定く1

項〉

〈項no=” 1”effective_until=”2000/08101”〉古い規定内容

くノ項〉

〈ノ条〉

図6 要素の多重化の例

のよう記述する。この例において,rno」は条名または項番号を指定する番

号であり,effective_from, effective_untilはそれぞれ施行期日,効力を失う

日として用いている。

 さて,このように要素を多重化することによって改正履歴情報の保持する

ためには,XML文書構造定義上留意すべき点がある。それは,改正対象と

なるものは,原則として,属性ではなく要素として定義すべきであるという

ことである。なぜなら,XMLの仕様では,同名の属性を複数並べて記述す

ることが許されておらず,属性の多重化はできないからである。この点は,

一部改正法律がどのようなものか検討した後,改めてまとめることにする。

3.2 一部改正法律の構成

 一部改正法律は例えば図7のような形式で公布される。一部改正法律も

一つの法律であるから,公布部と公布内容の2つの部分からなるのは通常

の法律と同じである。ただし,いくつかの相違点もみられる。

 まず,改正対象が一つの場合には条名が付されない。これまでの法律構造

の検討からすれば,本則では,どの法律を改正するかを述べる文に続いて,

具体的な改正内容が一文ずつ並べられている。そして,複数の法律を改正対

象とする場合には,対象法律ごとに条を構成する。条の内容は単一対象の場

合と同様となる。

Page 11: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

102 明治大学教養論集 通巻342号(2001・1)

国会議員の歳費、旅費及び手当等に関する法律の・一部を改正する法律をここに公布する。

 御名 御璽  平成九年三月三十一日                  内閣総理大臣 橋本龍太郎法律第十二号   国会議員の歳費、旅費及び手当等に関する法律の一部を改正する法律 国会議員の歳費、旅費及び手当等に関する法律(昭和二十二年法律第八十号)の一部を次のように改正する。 第十条の二を次のように改める.第十条の二 各議院の議長、副議長及び議員は・・中略・・交付を受ける。

2 前項の規定による航空券の交付は、・・中略・・行うものとする。 第十一条中「、前条第一項の特殊乗車券及び同条第二項の航空券jを「並びに前条第一項の特殊乗車券及び航空券」に改める。

  附 則 この法律は、平成九年四月一日から施行する。                  内閣総理大臣 橋本龍太郎

図7 一部改正法律の形式

 XMLでマークアップする際には,複数法律を対象とした改正法律を基本

として考え,図7の例のように単一法律を対象とする場合も一つの条から

なるとして扱うのが,双方の場合を統一的に扱える点で適切である。

 また,改正対象の多寡によらず,あるいは,改正内容の分量によらず,改

正法律には項番号が付されてない。これは全体で一つの項を構成していると

考えても問題なかろう。通常の法律では,項内の文は改段されずにまとめら

れるが,内容の見やすさの観点からか個々の改正内容ごとに一文ずつ行を改

めて記述されているとだけだと考えるあるのである。

 さらに,一部改正法律と通常の法律のいずれにも同一の文書構造定義を適

用する場合には,一部改正法律において条項をまるごと置き換えるような場

合には,「項」の中に「条」や「章」といった上位の要素を含め改正可能な

任意の要素が含まれうるといった点に留意しなければならない。

Page 12: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

XMLによる法令データベース 103

3.3 文法的単純さと自動保守

 一部改正法律にはデータベースにとって非常に重要な特徴がある。それ

は,改正法律が,非常に限定された語彙と構文で記述されているという点で

ある。これは,文法が形式的に記述可能ならば,改正規定の大部分を,コン

ピュータプログラムで解析し,改正処理を行わせることが可能があることを

意味する。国会で制定される法律の大部分が一部改正法律であり,頻繁に

データ保守作業が生じることを考えると,データの改正処理の自動化を図る

ことり意義は大きい。

3.4 改正対象法律指示文

 一部改正法律は,まず最初に,改正対象を明示する文から始まる。ここで

はこれを「改正対象指示文」と呼ぶ。これは決まりきった表現となっており,

次に示すような文法構造なっている。これを正規表現によるパターソ照合や

解析プログラムを作成することにより,この文から法律題名や公布年・法律

番号を得ることは容易である。改正処理には改正対象となる法律データを読

み込む必要があるが,和暦による公布年と法律番号から特定できるように,

法律データを蓄積しておく必要があることになる。

改正法律指定文:=

 法律題名“(”元号 漢数字列“年”

 “第”漢数字列“号”“)”

 “を次のように改正する。”

3.5 改正指示文

 「改正対象法律指示文」の次の行からは,具体的な改正内容を示す文が列

挙される。我々の文法ではこれを「改正指示文」と名づけた。具体例として

字句を変更する場合を取り上げてみよう。字句の変更を行う文の骨格は次の

Page 13: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

104 明治大学教養論集 通巻342号(2001・1)

ような形式である。

 第○条中rA」をrB」に,「C」をrD」に改める。

実際の改正法律では「 」内が非常に長く,この中に「 」が含まれること

があるため,非常に読みにくいことが多い。しかし,記述に用いられる表現

は一定であり上で挙げた構文しか用いられない。同義語は多数あるが「改め

る」以外は用いられないし,文の調子を整えるために格助詞が変更されるこ

ともない。そのため,これを処理可能な形式的な文法を記述することはそれ

ほど難しくない。条文中の字句を置き換える文を処理するための文法の骨組

みを示すと図8ようになる。

 これを,例えば,Metamata社の公開しているJavaCCというパーサ生成

ッール向けに記述すれば図9のようになる。この種のパーサ生成ッールは

取り扱える文法に多少の差はあれ,様々なプログラミング言語に用意されて

いる。こうしたッールを使うことで容易に改正内容をコソピュータで解析す

ることが可能である。内容が解析できれば,「どの範囲に対して」「何を」

改正指示文:=({改正対象範囲1改正指示){〈U、ny [改正対象範囲1改正指示])+1“。”

 改正対象範囲:=法令構成要素“中”

 改正指示:二字句編集指示1字句挿入指示1字句削除指示1要素置換指示1_.

字句編集指示:=引用句“を”引用句」に”lC、”引用句“を”引用句‘に”)+1“改め”

(“る”)?

図8 改正指示文の文法(字句置換)

void Rep]・aceString{〕:

戸  R∈placeSヒrinqArq O C”、 ReplaceStringArgO}+”改め”【”る”]+/

{Vector argsVec= new Vector⇔’ inし目 args’}

args;ReplaceStringArg⇔ {a:gsVec.addElement‘args}’ }、 四args=ReplaceStringArg O {arq3Vec.addElement{args}’},曹”改め”【”る”】{・ processCerurnandC”REPtaCE”, argsVec};}

図9 JavaCC向けの文法記述例

Page 14: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

        XMLによる法令データベース 105

表1 改正指示文のパターソ

編集対象 法律構成要素 構成要素内の文字列

変更 ●●を次のように改める。●●中「A」を「B」に改゚る。

削除 ●●を削る。 ●●中rA」を削る。

挿入 ○○の次に次の●●を加える。●●中「A」の下に「B」を加える。

削除に伴う繰り上げ●●を○○とし,以下△ずつ繰闖繧ーる。 一

挿入に伴う繰り下げ●●を○○とし,以下△ずつ繰濶コげる。 一

要素新設 ○○に●●を付す。 一

「どう置き換えるのか」を抜き出すことができるので,新たな法律を生み出

すための編集処理をコソピュータに行わせることができるのである。

 実際,我々のシステムでこれまでに作成している文法の範囲では,文献

[法木89]で取り上げられている例はすべて解析可能であり,いまのところ

図表や目次等を除く7割程度の改正文の入力を正しく解釈できると思われ

る。

 ここで取り上げた字句の置き換えのほか,一部改正法律の表現のパターン

を表1にまとめておく。他のパターンのいずれも上と同様に特定の語彙と

格助詞が用いられており,形式的に定義可能である。

3.6 改正指示文に現れる法令要素

 一部改正法律からは法律のさまざまな個所が改正対象として言及される。

その主なものを上げると図10ようになるだろう。ここでは,複数あって番

号付けが可能な要素と,ただ一つしかなく数えることのできない要素(ここ

では,それぞれ「可番法令要素」「不可番法令要素」と名づけた)とに分け

て整理している。これらは改正文において出現位置が異なるため,適用する

Page 15: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

106 明治大学教養論集 通巻342号(2001・1)

法令要素:=可番法令要素1不可番法令要素

可番法令要素:二編[章1節1条i項1号1細目

不可番法令要素:=題名1前文1目次1本則1附則1見出し1但書

       1前段1中段1後段i各号列記以外の部分

図10 法令構成要素

文法規則を限定し,解析の精度を上げるために意味をもつ。

 すでに述べたとおり,我々のシステムでは改正情報の保持のため,要素を

多重化する。したがって,ここに上げたものはは基本的にタグとして定義し

ておかなければならない。

 ただし,「前段」「中段」「後段」「但書」は,ともに「文」としてマークア

ップしておけばよく,その「文」の出現位置(例:前段=第一文)や,属性

によって区別することで十分である。また,通常「各号列記以外の部分」は

「柱書き」と呼ばれているが,これも特別の要素とする必要はない。「項」の

うち号の列挙部分を除いたテキストを得るのは容易であるからである。

3.7 改正処理と可逆性

本システムは,一部改正法律のXMLデータを用いて次のような処理を行

う。

(1)一部改正法律データの改生対象法律指示文から,改正対象となる法律

   データを特定する。

(2)一部改正法律中の改正指示文を一つずつ取り出し,改正対象法律の編

   集操作を実行する。

   ・改正対象法律から編集対象となる要素を取り出す。

   ・改正指示文の法律に従って,編集を実行する。

(3)編集された要素を改正対象データに追加する。このとき,要素には,

   改正法律の識別コードと,施行期日を属性として加えておく。

Page 16: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

                    XMLによる法令データベース 107

 上記(3)で,改正された要素を置き換えるのでなく,追加しているという点

に注意していただきたい。法律データの中に改正前の状態と改正後の状態を

並置するのである。例えば,第一条が改正された場合,法律データ中には,

発効期日などの属性が異なる複数の第一条が含まれることになる。検索時に

は,利用者の指示した日付と要素の有効期限を比較し,有効な要素を選択し

表2 法律構成要素と配字

法令構成要素 例  字下げ数1行目/2行目以降

公布文 ○○をここに公布する 1/0

御名御璽 1公 布 部

公布日 昭和二十三年八月一日 2

署名部 内閣総理大臣 ○○ ○○ (下2あけ)

法律番号 法律第○号 0

題名 ○○に関する法律 3/3

目次 目次 1

目次中の項目 第一章◆総則(第一条・第二条) 1/名前の位置

附則 1

章名など 第一編 2

第一章◆総則 3

第一節 4

公  布  内  容

第一款 5

第一目 5

見出し (目的) 1

条 第一条◆この法律は… 0/1

項 2◆項の内容… 0/1

号 一◆ 1/2

号の細分 イ◆… 2/3

附則開始 附◆則 3

Page 17: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

108 明治大学教養論集 通巻342号(2001・1)

 表3 字下げ別法令構成要素

1行目配字 法令構成要素/識別

0

 条,項@「第」→条

Z用数字→項

1

見出し,号,目次中の項目

@  「(」→見出し

@  漢数字→号

2

 編名,号の細分

@ 「第」→編名

Jナ文字→号の細分

3 章名,附則開始,題名

て出力する。

 このやり方は,新規に法律として成立した最初の状態から,順に改正法律

を適用してゆくことを想定している。ここで生ずるひとつの疑問は,最新の

法律データから出発して,新しい改正法律から順に適用して行くことで,改

正前の状態を作り出すことができないか,ということだろう。これが可能な

ら,実用上必要性が高い現行法令からデータを提供しはじめ,徐々に改正以

前のデータへ拡大してゆくことができるからである。しかし,残念ながら,

このようなやり方は不可能である。なぜなら,改正指示の中には削除指示な

ど,過去の状態に言及しないものがあるからである。例えば,「第一条を削

り,・一」という文言から,改正前の第一条がどのような内容なのか知るこ

とができないからである。

 確かに,本データベースには,ある法律を扱うのに,成立した最初のテキ

ストとすべての改正法律データを用意しなければならないということは問題

ではある。しかし,逆にきちんとデータをそろえておくことで,法律の変遷

を示すなど,法律データを従来とは別の切り口で示すことができるのではな

いか,そのことによって教育・研究の新しい有効なッールとなりうるのでは

Page 18: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

XMLによる法令データベース 109

ないかと考えている。

4. 自動マークアップ

 さて,官報に掲載される法令の体裁,一部改正法律によって参照される要

素,多重化による改正履歴の保持という点から,法律データをどのように

XMLでマーク付けしておくべきかをみてきた。前節で述べた一部改正法律

による法律データの自動保守も,実はもとになる法令データがXML形式で

タグ付けされていることを前提としている。年間百数十から二百以上制定さ

れる法律を手作業でマーク付けするのは多大な労力がかかる。今後,官庁に

よる情報公開・情報提供が進むと,官報掲載の情報も電子的な情報として入

手可能となることが期待される。こうした電子的なデータを将来的に我々の

システムでの利用を容易にする意味で,タグ付けの自動化が望まれる。

 さて,有力な法律情報のソースとして期待される官報にみられるように,

法令作成実務では,編・章・節などの章節構造のほか,印刷物の体裁上も法

律要素の区別がつくよう,字下げなど一定の配字が行われてきた。表2は

それをまとめたものである。

 前節では,改正によるデータ保守の自動化のため,規定の内容にまで踏み

込んで文を解析した。しかし,内容に踏み込まずとも,配字を手がかりに,

ある程度までマークアップのための要素の特定が可能であることが予想され

る。ここでは,字下げ数をもとに,どこまで,法律要素の区別がつくか検討

してみよう。

 字下げ数に応じて主な構成要素を並べたものが表3である。字下げ数が

同じ構成要素もいくつかあるが,その要素の先頭が固有の文字列パターンを

もっている。そのため,先頭の数文字を比べただけでそれぞれを識別可能で

あることがわかる。たとえば,字下げ数0の場合は,先頭文字を調べただ

けで,「法」→「法律番号」,「第」→「条」,算用数字→「項」のように識別

Page 19: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

llO 明治大学教養論集 通巻342号(2001・1)

することができる。実際のマークアップでは,条や項として特定さ:れた範囲

のテキストから,条名,項番号等を抜き出して別要素にしたり属性を得たり

するなど,より詳細な要素や属性を得る必要があるため,先頭数文字にわた

ってパターソ照合を行う必要がある。その場合も,条名等の抜き出しに関し

て言えば,これらに続く全角空白文字が手がかりとして切り出すことができ

ることがわかる。

 やや複雑なのは一部改正法律場合である。一部改正法律の配字は改正対象

が複数にわたり複数条からなるかどうかによって異なる。また,簡単な法律

改正では附則中の項によって改正が行われる場合もある。改正対象が一つの

場合は,改正対象指示文もここの改正指示文も1字下げてはじめる。改正

指示において条の置き換え等で,改正対象にそのまま挿入・置換すべき引用

部分(「引用部」)があらわれるが,この部分の配字は改正対象となる一般法

律の配字がそのまま用いられる。たとえば,新たに挿入する条は配字数0

となる。改正法律が条を構成する場合や項を構成する場合は,それぞれ1

字分ずつ字下げ数が増える。改正指示文とその他の引用部中の要素とは,字

下げ数1または2の要素との区別をつけなければならないことになるが。

改正指示文では,文頭の条名・号番号に続けて全角空白が現れることがない

といった点で,他の要素と区別可能である。典型的な例として,いくつかの

異なる要素が条名から始まる例を次に示す。字下げ数をみれば,一部改正法

律を構成する条なのか,改正指示文なのか,改正指示により置き換えられる

改正後の条なのか区別できることが明らかである。

第二条口○○に関する法律の一部を次のように改正する。

口口第三条の次に次の一条を加える。

口第三条の二ロ……

第三条口●●に関する法律の一部を次のように改正する。

Page 20: XMLによる法令デ-タベ-ス URL DOI...XMLによる法令データベース 95 という表現が使われている。太字部は,日本国憲法など例外もあるが・ほぼ

XMLによる法令データベース 111

5.今後の課題

 本データベースで,実験対象としているのは「国会議員の歳費,旅費及び

手当てに関する法律」である。昭和22年から平成10年までに50回に及ぶ改

正が行われてきたが,この範囲では,官報の配字規則にのっとったテキスト

からXML形式のデータを得,不完全ながら改正処理を自動化することまで

は可能となっている。

 しかし,一部改正法律を解析するための文法はまだ十分とは言えず,今

後,別表,別図などをはじめとして搭載する法令を拡大してゆくなかで,整

備してゆかねばならない。

 また,改正情報を要素の多重化によって保持するためには,各要素につい

て効力発生消滅に関する日付情報を付加しなければならないが,附則中に現

れる施行期日等の設定は手作業に頼っている。今後はパターンを整理し,少

なくとも明確な期日が示されているものについては,ある程度自動的に取

得・属性付与ができるようにしてゆく計画である。

参考文献

[法木89]法木義幸編著『増補 図説法制執務入門』(ぎょうせい 1989)

[林75]林修三『法令作成の常識』(日本評論社1975)

[田島89]田島信威『改訂 法令の解読法』(ぎょうせい 1989)

[DuCharme98]DuCharme, B.“XML:The Annotated Specification”, Prentice Hall,

 1998

[GoldfarbOO]Goldfarb, C. F“The XML Handbook”2nd Edition, Prentice Hall,2000

[Megginson98]Megginson, D‘‘Structuring XML Documents”Prentice Hal1,1998

(わだ・さとし 政治経済学部専任講師)