Lawtext は、法令標準XMLとの間で相互変換可能な法令のプレーンテキストフォーマットです。読みやすく、人の手により編集しやすいように設計されています。また、Lawtext、法令標準XML、法令APIに対応した法令ビューア、編集ツールも提供しています。
Lawtextを用いると、既存のソースコード管理ツールを法令管理にそのまま活用することができます。また、法令標準XMLを使用する高度な法令管理ツールと共存することができます。これにより、法令文書のオープン化を容易にし、編集作業をより安全にし、法令執務の創造性を高めることができます。
Lawtext is a human-readable/editable plain text format designed for Japanese laws. It comes with a viewer and editing tool compatible with Lawtext, standard law XML, and e-LAWS API.
Lawtext works efficiently with existing source code management tools to make law text management open, safe, and creative.
行政手続法
(平成五年法律第八十八号)
第一章 総則
(目的等)
第一条 この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。
2 処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。
GitHubで管理する例 / Example of managing in GitHub
Lawtext-appはこちら / Click here to go to Lawtext-app
It parses Lawtext and standard law XML (from a local file or e-LAWS API) and shows as an easy-to-read web page with some navigating features.
Lawtext-appと同様の法令文書解析機能を備えた法令編集ツールです。括弧の強調や定義語・条項参照をVisual Studio Codeのコード編集機能として提供します。
The Lawtext VSCode extension is an editing tool providing the same syntax analyzer as Lawtext-app, with parentheses and keywords/clauses highlighting features as code editing features in Visual Studio Code.
Lawtext VSCode 拡張機能を試す / Try the Lawtext VSCode extension
法令は、強い影響力のある文書の一つであり、法務分野だけでなく、ビジネス、学術の分野から関心を持たれています。そのため、法令文書やその変更はオープン・透明であることが期待されており、しかも、その編集作業は、いかなる間違いも許されないと考えられています。
しかしながら、日本の法令文書管理においてはいくつかの課題があります。
法令を編集する場面での課題:
法令を読む場面での課題:
一方で、近年、日本の法令文書管理においていくつかのブレイクスルーがありました:
e-LAWSや法令標準XMLは、法令執務の自動化の礎を築いたといえますが、しかしなお、いくつかの課題が残ります:
専用の編集ツール:XMLを直接編集することを避けるため、e-LAWSでは専用の編集機能を提供していますが、これは新たなロックインにつながるおそれがあります。
(参考)法令標準XMLの例(抜粋):
<?xml version="1.0" encoding="UTF-8"?>
<Law Era="Heisei" Lang="ja" LawType="Act" Num="88" Year="5">
<LawNum>平成五年法律第八十八号</LawNum>
<LawBody>
<LawTitle>行政手続法</LawTitle>
<MainProvision>
<Chapter Delete="false" Hide="false" Num="1">
<ChapterTitle>第一章 総則</ChapterTitle>
<Article Delete="false" Hide="false" Num="1">
<ArticleCaption>(目的等)</ArticleCaption>
<ArticleTitle>第一条</ArticleTitle>
<Paragraph Delete="false" Num="1" OldStyle="false">
<ParagraphNum />
<ParagraphSentence>
<Sentence>この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。</Sentence>
</ParagraphSentence>
</Paragraph>
<Paragraph Hide="false" OldStyle="false">
<ParagraphNum>2</ParagraphNum>
<ParagraphSentence>
<Sentence>処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。</Sentence>
</ParagraphSentence>
</Paragraph>
</Article>
</Chapter>
</MainProvision>
</LawBody>
</Law>
法典のことを英語で「コード」と言いますが、プログラミングの分野やオープンソースコミュニティでは、上記のような課題は、最適化されたいくつかの手段によって解決されています:
これらの、法令文書管理にまつわる課題を解決する道具として、 Lawtext (拡張子 .law.txt)を提案します。Lawtextは、人が読み書きしやすい、日本の法令のためのプレーンテキスト形式です。
Lawtextを用いると、既存のソースコード管理ツールを法令管理にそのまま活用することができます。また、法令標準XMLを使用する高度な法令管理ツールと共存することができます。これにより、法令文書のオープン化を容易にし、編集作業をより安全にし、法令執務の創造性を高めることができます。
Lawtextは次のような特徴があります:
人が読み書きしやすい:Lawtext(単なるプレーンテキスト)は、それ自体が読むための文書形式としても機能します。Lawtextの見た目は、印刷されたりWebページとして表示された法令とあまり変わりません。通常の文書を編集するようにLawtextを読み書きすることが可能です。複雑なスタイル管理に気を遣う必要はありません。この特徴は、Markdown、reStructuredText、YAMLなどを参考にしています。
Lawtextの例(前述の法令標準XMLの例と同じ部分):
行政手続法
(平成五年法律第八十八号)
第一章 総則
(目的等)
第一条 この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。
2 処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。
法令標準XMLと相互変換できる:Lawtextは法令標準XMLにコンパイルすることができます。したがって、Lawtextは、e-LAWSや、法令標準XMLを活用するあらゆるシステムと互換性があります。さらに、法令標準XMLを逆にLawtextに変換することもできます。そのため、公開されている法律や省令などのLawtextを入手することが可能です。Lawtextでも、法令標準XMLでも、都合の良い方で保存・共有することができます。
既存の汎用ソースコード管理・編集ツールを活用できる:Lawtextは、GitHubのようなオンラインのソースコードリポジトリでもうまく表示できます(GitHub上の例)。
そのほかにも、既存の汎用的なソースコード管理・編集ツールを効果的に活用することができます。一例として、 Lawtextの編集を支援するVisual Studio Code拡張機能 を提供しています。
Lawtext-appは、Lawtextを取り扱うフロントエンドツールです。また、e-Gov 法令APIを利用しているため、e-Gov法令検索のような汎用法令ビューアとしても利用できます。
Lawtext-appは次の特徴を備えます:
Lawtext VSCode 拡張機能は、Lawtext-appと同様の法令文書解析機能を備えた法令編集ツールです。括弧の強調や定義語・条項参照をVisual Studio Codeのコード編集機能として提供します。
Lawtextの詳細は、Lawtextドキュメンテーションをご覧ください。
Law is one of the most influential document types, drawing interest from legal, business, and academic areas. It is considered that the texts of the law and changes in the law should be open and transparent, and editing law should not allow any mistakes.
However, currently, in Japan, managing law texts has several problems.
Problems of the editors' side:
Problems of the readers' side:
Besides, recently, some breakthroughs have been made in the field of Japanese law management:
Renewed e-Gov laws search (released in November 2020). Before renewal, it provided the laws HTML, which often could not be pretty-printed and is not reusable for editing. It now provides RTF or PDF.
Example of Standard law XML (extracted):
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Law Era="Heisei" Lang="ja" LawType="Act" Num="88" Year="05">
<LawNum>平成五年法律第八十八号</LawNum>
<LawBody>
<LawTitle>行政手続法</LawTitle>
<MainProvision>
<Chapter Delete="false" Hide="false" Num="1">
<ChapterTitle>第一章 総則</ChapterTitle>
<Article Delete="false" Hide="false" Num="1">
<ArticleCaption>(目的等)</ArticleCaption>
<ArticleTitle>第一条</ArticleTitle>
<Paragraph Hide="false" Num="1" OldStyle="false">
<ParagraphNum/>
<ParagraphSentence>
<Sentence WritingMode="vertical">この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。</Sentence>
</ParagraphSentence>
</Paragraph>
<Paragraph Hide="false" Num="2" OldStyle="false">
<ParagraphNum>2</ParagraphNum>
<ParagraphSentence>
<Sentence WritingMode="vertical">処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。</Sentence>
</ParagraphSentence>
</Paragraph>
</Article>
</Chapter>
</MainProvision>
</LawBody>
</Law>
Although e-LAWS and standard law XML laid the foundation for the automation of legislation, there are still some problems that remain:
In the field of programming and open source community (suggestive of the term "code"), several optimized solutions are available to solve such problems:
To solve the problems of law text management described above, I propose "Lawtext" (.law.txt), a human-readable/editable plain text format for Japanese laws.
Lawtext has these features:
A Lawtext document itself (just a plain text file) works well as a presentation format. It looks akin to what you read the law on a printed/web page. You can read/edit a Lawtext like writing a regular document without managing complicated style configurations. This feature is made referring to Markdown, reStructuredText, and YAML.
Example of a Lawtext (of the same part as the XML example above):
行政手続法
(平成五年法律第八十八号)
第一章 総則
(目的等)
第一条 この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。
2 処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。
You can compile a Lawtext to a standard law XML so that Lawtext is compatible with e-LAWS and any system that utilizes standard law XML. Moreover, reversely, a standard law XML can be converted to a Lawtext. Therefore, you can obtain the Lawtext of any existing law available online. You can store and share law documents in both forms of Lawtext or standard law XML as you like.
Lawtext works effectively with existing source code management tools (example on GitHub).
Also, the Lawtext language server for Visual Studio Code is available.
Along with the Lawtext format, I also provide a utility tool, "Lawtext-app" (working example), which utilizes Lawtext, standard law XML, and e-LAWS API.
Lawtext-app has these features:
Click here to go to Lawtext-app
The Lawtext VSCode extension is an editing tool providing the same syntax analyzer as Lawtext-app, with parentheses and keywords/clauses highlighting features as code editing features in Visual Studio Code.
Try the Lawtext VSCode extension
For the details of Lawtext, please visit the Lawtext documentation.
こちらのリンク (github.dev) からすぐにお試しいただけます。(GitHubアカウントが必要です。リンク先でアカウントを作成できます。) / You can try the extension on github.dev with a few clicks. (A GitHub account is required. You can create one on the linked page.)
もしくは、vscode.dev にて Lawtext拡張機能 をインストールし、サンプルLawtext を開くことでもお試しいただけます / Otherwise, you can visit vscode.dev, install Lawtext extension and open the sample Lawtext.
法令元データの取得にe-Gov法令APIを使用しています。定義語・条項参照などの表示はLawtextで別途解析・編集したものです。