給程式設計師的法律條文教學(二):法規的分區與結構語言
接續前一篇〈法條的結構與念法〉,沒有寫過程式的朋友應該仍能閱讀前半部。
大綱
法規之內的分區
前一篇我們提到:「刑事訴訟法第二百五十三條之二第一項第二款」可以簡記為「刑訴§253-2 I (2)」,這是針對一個條文之中文字太多時的條列,現在來看一下一個法規如果太多條文的話,會怎麼分區:中央法規標準法 第9條
法規內容繁複或條文較多者,得劃分為第某編、第某章、第某節、第某款、第某目。
刪除
前一篇提過,當需要插入條文時,條號會使用「第X條之Y」的方式,這是為了避免後面的條號更動,而造成引用上的困難。而刪除部分條文時,也基於同樣的理由而不宜修改後面的條號。就此情形,中央法規標準法§10 第一項規定:保留所廢條文之條次,並於其下加括弧,註明「刪除」二字。同條第三項規定關於插入或刪除分區時亦採用同樣的作法。
宜注意的是:如果某個地方有刪除的條文也有新增的區塊,那麼原本的區塊與期內條文都會被標注「(刪除)」,然後在其後加上「第X區之Y」和「第W條之Z」,例如民法物權編的第四章永佃權(§842~§850)被刪除,然後插入了第四章之一的農育權(條號是§850-1~§850-9)。
就永佃權與農育權的例子而言,當初其實是一起修的,也有「把永佃權改用農育權『替代』」的意味,但是仍不是用REPLACE,而是DELETE & INSERT (with different ID)的方式。就這點而言確實帶有點「保留痕跡」的意味。
就電腦處理而言,我目前認為只要將之當作「條文就是『(刪除)』」就好了,倒是沒有想到特別處理的必要。
也許分區不重要?
但法規的分區就像是目錄,對於想要初步認識一個法規的架構有很大的助益,所以決定還是先在這邊說明。
至於法規內部提及分區的例子,可以參考刑事訴訟法§258-4、§419、§455-1、§455-11跟民事訴訟法的部分條文。
分區的性質
(以下以「區」當作統稱)「編章節款目」大概就像是小說分「回」、漫畫分「話」、論文裡面分章節那樣。性質有:
- 一個法規「可以」不分區,例如危險性行為之範圍標準。
- 「款」跟「目」與條文內的「條項款目」名稱相同,但卻是完全不同的意義。
- 條號在各分區之間依然連續編號。亦即到了下一分區,條號仍不會從1開始重新編號。
- 跟條號一樣,如果是修法時才加入的分區,會被稱為「第X區之Y」,例如民法債編有第24節之1,民法物權編有第四章之一。
- 第一章有分節,不表示第二章也會有分節;第一節有分款,不表示第二節也會有分款。
- 子分區的編號是各自獨立的。例如第一章跟第二章如果都有分節,那麼也都會有各自的第一節、第二節。
- 如果某一區A的內部又分為三區X、Y、Z,那麼A區內的任一條文必定亦歸屬X、Y、Z其一。例如第一章分為一、二節,那麼第一章的任何一條不是在第一節就是在第二節。
- 沒有「編」也可以直接分「章」,但是卻必定有「章」才會有「節」,然後才會有「款」,接著才會有「目」。
稱呼
由於分區必有標題,所以除了「第X章」之外,也會用該分區的標題加上「編章節款目」來稱呼,例如「民法親屬編」指的即是「民法 第四編」。
比較麻煩的恐怕是刑法第二編,例如下列稱呼都是指其第十六章:
- 刑法第二編第十六章
- 刑法分則編第十六章
- 刑法分則第十六章
- 刑法分則妨害性自主罪章
- 刑法妨害性自主罪章
- 妨害性自主罪章
- 妨害性自主罪
所以如果要做文字轉換易讀,這樣的條文恐怕會很難加上連結:
刑法 第5條其實這樣的條文格式並不多,所以前面才說對程式設計的初期並不重要。
本法於凡在中華民國領域外犯下列各罪者,適用之:
一、內亂罪。
二、外患罪。
三、第一百三十五條、第一百三十六條及第一百三十八條之妨害公務罪。
四、第一百八十五條之一及第一百八十五條之二之公共危險罪。
五、偽造貨幣罪。
六、第二百零一條至第二百零二條之偽造有價證券罪。
七、第二百十一條、第二百十四條、第二百十八條及第二百十六條行使第二百十一條、第二百十三條、第二百十四條文書之偽造文書罪。
八、毒品罪。但施用毒品及持有毒品、種子、施用毒品器具罪,不在此限。
九、第二百九十六條及第二百九十六條之一之妨害自由罪。
十、第三百三十三條及第三百三十四條之海盜罪。
其他
關於分區,我沒有聽說既定的簡記方式。雖然手寫筆記時會用Ch. 4, Sec. 2之類的記法,但是電腦處理上似乎沒甚麼意義。外國法與國際法的分區則不一定有編號,例如聯合國憲章第五章內部又有分區,但各分區卻不編號。
錯亂的英文翻譯
在處理法規資料的結構問題時,程式語言免不了必須使用英文來作為變數或屬性名稱,不過各個元件的英文名稱對應卻不統一。請見下圖:(直接連結:左側、右上、右下)
簡言之,全國法規資料庫在中央法規標準法的英文版中,分區的「編」與條文結構的「款」的翻譯用字,跟同一個網站的法規名稱英譯統一標準表中列出的不同。
就此部分我也不知道該怎麼辦。原本以為表格是行政院92年制定的,應該會比較理想,但是中央法規標準法卻是在93年的時候修正過的啊。
題外話:消除對婦女一切形式歧視公約
我念法律的初衷是希望自己當男妓時可以自保,之前做性交易相關報告時也查了一下這個公約,卻發現翻譯很有問題。依照聯合國官網,該公約第六條的英文版是States Parties shall take all appropriate measures, including legislation, to suppress all forms of traffic in women and exploitation of prostitution of women.但是粗體部分的中文翻譯,卻有不同的版本:
簡言之,雖然聯合國官方中文版的意思跟英文版仍然不同,但若使用外交部提供的翻譯版本,才會有黃淑英說的問題(另參閱刑§231)。
用正規文法來表示法規結構
唔…其實我忘記專有名詞了,總之是想要用一些語言學的規則來描述前篇及前述的法規與條文結構(而不是「法律用語」的結構)。目前大概可以分為四種元件:- 法規本身
- 法規的分區(編、章、節、款、目)
- 條
- 條文內的分段(項、款、目)
(「但書」比較是語意上的結構,我還沒想到該怎麼處理,暫略。)
我想到一個可以規範這四種元素的文法。為了簡便,這邊暫使用regular expression的元素(也就是其實不「正規」啦):
- Element → Ordinal? Title? Content
- Ordinal → 第 cardinal . (之 cardinal)?
- Ordinal → <兩個全形空白>
- Ordinal → \( cardinal \)
- Ordinal → cardinal \.
- Ordinal → cardinal 、
- Title → lineText
- Content → Element+
- Content → lineText+ (Element+ lineText*)?
cardinal包含中文數字與阿拉伯數字;Ordinal可以是法規分區的「第三章」,也可以是條文分段的第二目(2.)。
以下試著以公司法的一部分為例(不是很標準的表示方式,但總之是示意嘛):
文法 | 法規 |
---|---|
Element →
_Title → lineText
_Content → Element+
__Element → Ordinal? Title? Content
___Ordinal → 第 cardinal .
___Title → lineText
___Content → Element+
____Element → Ordinal? Title? Content
_____Ordinal → 第 cardinal .
_____Title → lineText
_____Content → lineText+
____Element → Ordinal? Title? Content
_____Ordinal → 第 cardinal .
_____Title → lineText
_____Content → Element+
______Element → Ordinal?
_______Ordinal → <兩個全形空白>
_______Content → lineText+ (Element+
________lineText
________Element → Ordinal?
_________Ordinal → cardinal 、
_________Content → lineText+
________Element → Ordinal?
_________Ordinal → cardinal 、
_________Content → lineText+
________Element → Ordinal?
_________Ordinal → cardinal 、
_________Content → lineText+
________Element → Ordinal?
_________Ordinal → cardinal 、
_________Content → lineText+
______Element → Ordinal? _______Ordinal → <兩個全形空白> _______Content → lineText+ | 公司法 第 一 章 總則 第 一 條 公司之定義 本法所稱公司,謂以營利為目的,依照本法組織、登記、成立之社團法人。 第二條 公司種類 __ 公司分為左列四種: 一、 無限公司:指二人以上股東所組織,對公司債務負連帶無限清償責任之公司。 二、 有限公司:由一人以上股東所組織,就其出資額為限,對公司負其責任之公司。 三、 兩合公司:指一人以上無限責任股東,與一人以上有限責任股東所組織,其無限責任股東對公司債務負連帶無限清償責任;有限責任股東就其出資額為限,對公司負其責任之公司。 四、 股份有限公司:指二人以上股東或政府、法人股東一人所組織,全部資本分為股份;股東就其所認股份,對公司負其責任之公司。 __ 公司名稱,應標明公司之種類。 |
注意事項:
- 「不分項」的「條」的情形中,前述例子是將條文當作「條」的直接內容,因而Content的規則不便寫為「Content → Element{2,}」;但亦可設計成:該條有一「項」,而文字是該「項」的內容。
- 「項」在中央法規標準法第8條第1項的規定中,的確得「空二字」,但是我看過的系統或文章中,似乎只有立法院法律系統真的有這麼做--大部分是直接忽略,或是加上其他如羅馬數字或是「(第一項)」這樣的標記。
- 單一法條的「標題」其實不常見,幾乎只有立法院法律系統裡會出現,而且並不是所有的法律都有。市售的許多法典會列出法條的標題,不過跟立法院法律系統的常有出入。
- 「Element → Ordinal? Title? Content」這條規則除了可適用於法規名稱本身,亦可用於外國法規中沒有標號的分區(如前面提過的聯合國憲章第五章裡)
- Content規則的lineText+和lineText*是為了解決前篇末尾也過的、一些超出超出中央法規標準法的情形:
- 所得稅法§4 I 的第16款和第22款中間的換行
- 所得稅法§14 第9類第1款在各目之後的那段文字
- 保險業財務報告編製準則§17 第3款第2目在各小目之後的那段文字
- Content或許也可乾脆點寫成「Content → lineText* Element* lineText*」,但這樣就ambiguous了,且我總覺得在文法規則中遇到空字串很討厭。
層級
前述的文法將四種類型的元件都視為同仁,但是實際上「節」的Content裡不會有「章」,「條」的Content也不會有法規。換言之:符合前述的文法規則,仍不必然就符合(我國的)法規結構--至少要加上「層級」的觀念才行,亦即小的不能包住大的。具體的規則如下:元件 | 能直接包的 |
---|---|
法規 | 編、章、條 |
編 | 章 |
章 | 節、條 |
節 | 款、條 |
款(法規分區) | 目、條 |
目(法規分區) | 條 |
條 | 項(、款?) |
項 | 款 |
款(條文分段) | 目 |
目(條文分段) | 小目 |
關於「層級」的另一個限制是:每個instance的children必須是同一種type。舉例而言,某一特定的「章」如果已經有「節」作為其child,那麼其children中就不會有「條」。
物件導向設計?
應該能夠設計一個abstract class,讓各個元件去繼承之。各種元件的class則需各自實作Ordinal的規則,還有能直接包的層級。
題外話:程式語言是語言學的一部分
(喔這當然是指不考慮機械運作的部份。)
有修過正規語言或是編譯器課程的朋友應該都聽過Turing Machine或Chomsky,修過資料結構的朋友應該也在postfix的練習中畫過算式的結構樹。其實這都是語言學的一部份,只是文組談論的語言學是從自然語言開始,嘗試「歸納」出有限的文法規則逼近到我們實際使用的語言,或是論證「(不)可能用有限的文法規則表示自然語言」;而程式設計(我不確定數學與哲學界的情況)談論的語言則是「創設」出便於人類向機械表達意思的、由有限的文法規則組成的語言。
資訊界畫結構樹時,用的術語是parent、sibling等,但是語言學要畫結構樹時則是使用mother、sister等偏向女系社會的字眼--不過彼此對於結構樹的理解是一樣的。
另外,Chomsky這名字在語言學與資訊科學的教科書中也都會用到,他本人亦熱心於公眾事務與社會運動。Turing Machine的Turing則死於當時的英國政府對其同性戀身份的壓迫。
沒有留言:
張貼留言