1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164 | <!-- DTD header ============================================================================ -->
<!ENTITY laf_des "Legal Acts Format (LAF) of the European Union" >
<!ENTITY laf_version "19" >
<!ENTITY laf_date "2023-04-19" >
<!ENTITY laf_author "M.T. Carrasco Benitez" >
<!ENTITY laf_author_email "ca@dragoman.org" >
<!-- entities ============================================================================== -->
<!-- http://publications.europa.eu/code/en/en-370200.htm -->
<!ENTITY % langs "(bg|es|cs|da|de|et|el|en|fr|ga|hr|it|lv|lt|hu|mt|nl|pl|pt|ro|sk|sl|fi|sv)" >
<!-- Article 288 of the TEU -->
<!ENTITY % act_types "( regulation | directive | decision | recommendation | opinion )" >
<!ENTITY % mtext "( #PCDATA | footnote | latin_quote )*" > <!-- mixed text - allows footnotes in text -->
<!ENTITY % common_attr "
xml:id ID #IMPLIED
seg CDATA #IMPLIED
c CDATA #IMPLIED
" > <!-- seg: linguistic segment | c: comment -->
<!-- act root element ====================================================================== -->
<!ELEMENT act ( title , preamble , enacting , final , annex? , footnotes? )>
<!ATTLIST act
xml:lang %langs; #REQUIRED
schema CDATA #REQUIRED
schema_version CDATA #IMPLIED
schema_uri CDATA #IMPLIED >
<!-- ======================================================================================= -->
<!ELEMENT title ( title_one , title_two , title_three )>
<!ELEMENT title_one ( act_type , eu_no , act_no , text? , adopt_inst_list )>
<!ELEMENT act_type ( #PCDATA ) >
<!ATTLIST act_type type %act_types; #IMPLIED >
<!ELEMENT eu_no ( #PCDATA ) >
<!ELEMENT act_no ( #PCDATA ) >
<!ATTLIST act_no ref_no NMTOKEN #IMPLIED ref_year NMTOKEN #IMPLIED >
<!ELEMENT adopt_inst_list ( text | ( adopt_inst | adopt_inst_short | adopt_inst_full ) )* >
<!ELEMENT adopt_inst ( #PCDATA ) >
<!ELEMENT adopt_inst_short ( #PCDATA ) >
<!ELEMENT adopt_inst_full ( #PCDATA ) >
<!ELEMENT title_two ( text | sig_date )* >
<!ELEMENT sig_date ( #PCDATA ) >
<!ATTLIST sig_date iso_date NMTOKEN #IMPLIED >
<!ELEMENT title_three ( #PCDATA )>
<!-- ======================================================================================= -->
<!ELEMENT preamble ( preamble_head , cita_list , reci_list , formula )>
<!ELEMENT preamble_head ( adopt_inst_list , text )>
<!ATTLIST preamble_head xml:space ( default | preserve ) "preserve" >
<!ELEMENT reci_list ( reci_head , reci_item+ )>
<!ELEMENT reci_head ( reci_head_text , colon)>
<!ELEMENT colon ( #PCDATA ) > <!-- : -->
<!ELEMENT reci_head_text ( #PCDATA ) >
<!ELEMENT reci_item ( reci_no , reci_text )>
<!ELEMENT reci_no ( #PCDATA ) >
<!ELEMENT reci_text %mtext; >
<!ELEMENT cita_list ( cita_item+ )>
<!ELEMENT cita_item %mtext; >
<!ELEMENT formula ( formula_text , colon )>
<!ELEMENT formula_text ( #PCDATA ) >
<!-- ======================================================================================= -->
<!ELEMENT enacting ( art+ | sole_art )>
<!ELEMENT art ( art_head , art_subject , pa+ )>
<!ELEMENT pa ( pa_no? , pa_text+)>
<!ELEMENT pa_no ( #PCDATA )>
<!ELEMENT pa_text %mtext; >
<!ELEMENT art_head ( art_label , art_no)>
<!ELEMENT art_label ( #PCDATA )>
<!ELEMENT art_no ( #PCDATA )>
<!ELEMENT art_subject ( #PCDATA )>
<!ELEMENT sole_art ANY > <!-- TODO -->
<!-- ======================================================================================= -->
<!ELEMENT final ( binding , signature )>
<!ELEMENT binding ( #PCDATA )>
<!ELEMENT signature ( sig_place_date , signatory+ )>
<!ELEMENT sig_place_date ( text | sig_date )* >
<!ELEMENT signatory ( sig_inst , sig_func , sig_name)>
<!ELEMENT sig_inst ( #PCDATA )>
<!ELEMENT sig_func ( #PCDATA )>
<!ELEMENT sig_name ( #PCDATA )>
<!-- ======================================================================================= -->
<!ELEMENT annex ( annex_head , list , ( annex_subdiv , list )* )>
<!ELEMENT annex_head ( annex_title , annex_subtitle+ )>
<!ELEMENT annex_title ( #PCDATA )>
<!ELEMENT annex_subtitle ( #PCDATA )>
<!ELEMENT list ( item+ ) >
<!ELEMENT item ( item_no , item_con )>
<!ELEMENT item_no ( #PCDATA )>
<!ELEMENT item_con ( #PCDATA )>
<!ATTLIST item_con ref CDATA #IMPLIED >
<!ELEMENT annex_subdiv ( #PCDATA )>
<!-- ======================================================================================= -->
<!ELEMENT footnotes ( footnote_ref+ )>
<!ELEMENT footnote_ref EMPTY >
<!ATTLIST footnote_ref no NMTOKEN #REQUIRED ref CDATA #REQUIRED > <!-- no IDREF #REQUIRED -->
<!-- generic =============================================================================== -->
<!ELEMENT latin_quote ( #PCDATA ) >
<!ELEMENT text ( #PCDATA ) >
<!ATTLIST text case ( up ) #IMPLIED >
<!ELEMENT footnote EMPTY >
<!ATTLIST footnote no NMTOKEN #REQUIRED > <!--no ID #REQUIRED -->
<!-- common attributes ===================================================================== -->
<!ATTLIST act %common_attr;>
<!ATTLIST act_no %common_attr;>
<!ATTLIST act_type %common_attr;>
<!ATTLIST adopt_inst %common_attr;>
<!ATTLIST adopt_inst_full %common_attr;>
<!ATTLIST adopt_inst_short %common_attr;>
<!ATTLIST adopt_inst_list %common_attr;>
<!ATTLIST annex %common_attr;>
<!ATTLIST annex_head %common_attr;>
<!ATTLIST annex_subdiv %common_attr;>
<!ATTLIST annex_subtitle %common_attr;>
<!ATTLIST annex_title %common_attr;>
<!ATTLIST art %common_attr;>
<!ATTLIST art_label %common_attr;>
<!ATTLIST art_no %common_attr;>
<!ATTLIST art_subject %common_attr;>
<!ATTLIST art_head %common_attr;>
<!ATTLIST binding %common_attr;>
<!ATTLIST cita_item %common_attr;>
<!ATTLIST cita_list %common_attr;>
<!ATTLIST colon %common_attr;>
<!ATTLIST enacting %common_attr;>
<!ATTLIST eu_no %common_attr;>
<!ATTLIST final %common_attr;>
<!ATTLIST footnote %common_attr;>
<!ATTLIST footnote_ref %common_attr;>
<!ATTLIST footnotes %common_attr;>
<!ATTLIST formula %common_attr;>
<!ATTLIST formula_text %common_attr;>
<!ATTLIST item %common_attr;>
<!ATTLIST latin_quote %common_attr;>
<!ATTLIST list %common_attr;>
<!ATTLIST pa %common_attr;>
<!ATTLIST pa_no %common_attr;>
<!ATTLIST pa_text %common_attr;>
<!ATTLIST preamble %common_attr;>
<!ATTLIST preamble_head %common_attr;>
<!ATTLIST reci_head %common_attr;>
<!ATTLIST reci_head_text %common_attr;>
<!ATTLIST reci_list %common_attr;>
<!ATTLIST reci_text %common_attr;>
<!ATTLIST recital %common_attr;>
<!ATTLIST sig_date %common_attr;>
<!ATTLIST sig_func %common_attr;>
<!ATTLIST sig_inst %common_attr;>
<!ATTLIST sig_name %common_attr;>
<!ATTLIST sig_place_date %common_attr;>
<!ATTLIST signatory %common_attr;>
<!ATTLIST signature %common_attr;>
<!ATTLIST sole_art %common_attr;>
<!ATTLIST text %common_attr;>
<!ATTLIST title %common_attr;>
<!ATTLIST title_one %common_attr;>
<!ATTLIST title_three %common_attr;>
<!ATTLIST title_two %common_attr;>
|