はじめに
前回まで、法令の名称や目次など、いわば外側の部分を扱ってきましたが、いよいよ今回から法令の中身・本文(本則)に当たる部分に入っていきます。
今回は、改めて、法令の章立て構造のおさらいと、それが法令XMLの本則<MainProvision>の部分でどう表現されているかを見ていきます。
(法令は「入れ子構造」)
全く前回のおさらいですが、日本の法令は、基本的に次のような階層構造を持っています。
-
編(かなりレア)
-
章
-
節
-
款(たまにある)
-
目(かなりレア)
-
条
-
項
-
号
編・章・節・款・目は、すべての法令で全てが存在するわけではありません。章・節などは比較的見かけますが、編や目などはかなりレアな存在です。
法令の中心は条文でが、条文を中心にしつつ、それを束ねる形で階層構造を持っている、と理解したほうがわかりやすいかもしれません。上に上がるほど、大きなまとまり となっていく構造にです。
条文を束ねる単位について、ざっくり言うと:
- 章:大きなテーマ単位
- 節:章の中のサブテーマ
- 款:さらに細分化(やや実務的)
- 目:条文レベルに近い整理
といったイメージです。今回はこの条文のまとまりを束ねる「章立て」の部分までを見ていきます。
(法令XMLでの表現)
<MainProvision>(本則)
今回から扱う法令の中身は、<MainProvision>(本則)の要素に格納されます。
<MainProvision>(本則)の子要素は、 <Part> | <Chapter> | <Section> | <Article> | <Paragraph>です。すでに目次のところで扱ったこととパラレルですが、編<Part>、章<Chapter>、節<Section>、条<Article>、項<Paragraph>が直下の子要素となっています。(章がなく、節だけの法令もありえるため、節も子要素になっています。また、項だけの法律としては「失火責任法」が有名です。)
<MainProvision>(本則)の属性として、Extract: booleanとありますが、これは抄録(一部を抜粋して収録)している場合にtrueを指定するものです。
<Part>(編)、 <Chapter>(章)、<Section>(節) など
<Part> (編)の子要素は、 <PartTitle> | <Article> | <Chapter>です。
<PartTitle>は、「編」の題名です。(子要素は <Line> | <Ruby> | <Sup> | <Sub> | stringで、装飾付きの文字列で入力することができます。)
<Part> (編)の属性は、以下のとおりです。
- Num(required): string 編の番号
- Delete(default: false): boolean 項目が削除扱いの場合にtrueを指定
- Hide(default: false): boolean 項目が非表示の場合にtrueを指定
基本的には、目次の要素の<TOCPart>と似た作りになっています。また、章・節・款・目についても子要素・属性はほぼ同様の作りになっていますので、以下は省略します。
具体的な例
抽象的な説明だと分かりにくいかと思いますので、一つ例を見てみます。
民法の所有権のところが、ちょうど章・節・款とつづきますので、まず法律の記載を見ると以下の通りとなっています。
第三章 所有権
第一節 所有権の限界
第一款 所有権の内容及び範囲
これが、法令XMLだと、以下のように表記されます。(やや簡略化しています。)
<Chapter Num="3">
<ChapterTitle>第三章 所有権</ChapterTitle>
<Section Num="1">
<SectionTitle>第一節 所有権の限界</SectionTitle>
<Subsection Num="1">
<SubsectionTitle>第一款 所有権の内容及び範囲</SubsectionTitle>
<Article>
・・・・(略)・・・・
</Article>
</Subsection>
</Section>
</Chapter>
目次とは違って、本則の中では、入れ子構造で表現されていることに留意いただければと思います。
まとめ
今回は、条文のまとまりを示す章・節等がどのようにXMLで記録されるかを見てきました。
対応関係は、以下のとおりです。

次回は、法令の条・項・号について説明できればと思います。やっと本題にたどり着きます。
(参考)