yamachig / Lawtext

Plain text format for Japanese law
https://yamachig.github.io/Lawtext/
MIT License
52 stars 3 forks source link

Lawtext: Manageable plain text format and utility tools for laws

法令を読む / Browsing laws

試してみる / Try it

vscode-screenshot1

法令を編集する / Editing laws

試してみる / Try it

vscode-screenshot1


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.


例 / Examples

Lawtextの例 / Example of Lawtext

行政手続法
(平成五年法律第八十八号)

      第一章 総則

  (目的等)
第一条 この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。
2 処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。
(参考)上記の Lawtext を変換して生成した法令標準XML(クリックして表示) / Standard law XML generated from the lawtext above (click to open) ```xml 平成五年法律第八十八号 行政手続法 第一章 総則
(目的等) 第一条 この法律は、処分、行政指導及び届出に関する手続並びに命令等を定める手続に関し、共通する事項を定めることによって、行政運営における公正の確保と透明性(行政上の意思決定について、その内容及び過程が国民にとって明らかであることをいう。第四十六条において同じ。)の向上を図り、もって国民の権利利益の保護に資することを目的とする。 処分、行政指導及び届出に関する手続並びに命令等を定める手続に関しこの法律に規定する事項について、他の法律に特別の定めがある場合は、その定めるところによる。
```

Lawtext を用いたバージョン管理のイメージ / Example of version management using Lawtext

GitHubで管理する例 / Example of managing in GitHub

github-screenshot1


Lawtext-app: Lawtextフロントエンド兼汎用法令ビューア / Lawtext-app: Lawtext frontend and general law browser

Lawtext-app の主な特徴

Lawtext-appはこちら / Click here to go to Lawtext-app

app-screenshot2

Main features of the 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 VSCode 拡張機能 / Lawtext VSCode extension

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

vscode-screenshot1


背景

法令は、強い影響力のある文書の一つであり、法務分野だけでなく、ビジネス、学術の分野から関心を持たれています。そのため、法令文書やその変更はオープン・透明であることが期待されており、しかも、その編集作業は、いかなる間違いも許されないと考えられています。

しかしながら、日本の法令文書管理においてはいくつかの課題があります。

法令を編集する場面での課題:

法令を読む場面での課題:

一方で、近年、日本の法令文書管理においていくつかのブレイクスルーがありました:

e-LAWSや法令標準XMLは、法令執務の自動化の礎を築いたといえますが、しかしなお、いくつかの課題が残ります:

法典のことを英語で「コード」と言いますが、プログラミングの分野やオープンソースコミュニティでは、上記のような課題は、最適化されたいくつかの手段によって解決されています:

提案:Lawtext

これらの、法令文書管理にまつわる課題を解決する道具として、 Lawtext (拡張子 .law.txt)を提案します。Lawtextは、人が読み書きしやすい、日本の法令のためのプレーンテキスト形式です。

Lawtextを用いると、既存のソースコード管理ツールを法令管理にそのまま活用することができます。また、法令標準XMLを使用する高度な法令管理ツールと共存することができます。これにより、法令文書のオープン化を容易にし、編集作業をより安全にし、法令執務の創造性を高めることができます。

Lawtext

Lawtextは次のような特徴があります:

Lawtext-app

Lawtext-appは、Lawtextを取り扱うフロントエンドツールです。また、e-Gov 法令APIを利用しているため、e-Gov法令検索のような汎用法令ビューアとしても利用できます。

Lawtext-appは次の特徴を備えます:

Lawtext-appはこちら

app-screenshot2

Lawtext VSCode 拡張機能

Lawtext VSCode 拡張機能は、Lawtext-appと同様の法令文書解析機能を備えた法令編集ツールです。括弧の強調や定義語・条項参照をVisual Studio Codeのコード編集機能として提供します。

Lawtext VSCode 拡張機能を試す

vscode-screenshot1

Lawtextの詳細

Lawtextの詳細は、Lawtextドキュメンテーションをご覧ください。


Background

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:

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:

Proposal

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

Lawtext has these features:

Lawtext-app

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

app-screenshot2

Lawtext VSCode extension

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

vscode-screenshot1

Detail of Lawtext

For the details of Lawtext, please visit the Lawtext documentation.


Lawtext VSCode 拡張機能を試す / Try the Lawtext VSCode extension

こちらのリンク (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-screenshot1](https://user-images.githubusercontent.com/26037044/164368148-aef50430-c994-4a53-b1fc-d26471860e29.gif)](https://github.dev/yamachig/vscode-lawtext-sample)

もしくは、vscode.dev にて Lawtext拡張機能 をインストールし、サンプルLawtext を開くことでもお試しいただけます / Otherwise, you can visit vscode.dev, install Lawtext extension and open the sample Lawtext.


法令元データの取得にe-Gov法令APIを使用しています。定義語・条項参照などの表示はLawtextで別途解析・編集したものです。