hdo-storting-importer 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Guardfile CHANGED
@@ -3,5 +3,7 @@
3
3
  guard 'rspec', :version => 2 do
4
4
  watch(%r{^spec/.+_spec\.rb$})
5
5
  watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
6
+ watch(%r{^lib/(.+)/schema/(.+)\.json$}) { |m| "spec/#{m[1]}/#{m[2]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
6
8
  watch('spec/spec_helper.rb') { "spec" }
7
9
  end
@@ -0,0 +1,47 @@
1
+ module Hdo
2
+ module StortingImporter
3
+ class GoverningPeriod
4
+ include IvarEquality
5
+
6
+ attr_reader :start_date, :end_date
7
+
8
+
9
+ def self.add_to(parties)
10
+ Array(parties).each do |party|
11
+ party.governing_periods = all[party.external_id]
12
+ end
13
+ end
14
+
15
+ #
16
+ # Who and who isn't in government is not available in the data
17
+ # from Stortinget and changes just every 4 years, so we hardcode it here.
18
+ #
19
+
20
+ def self.all
21
+ @periods ||= {
22
+ "A" => [ GoverningPeriod.new('2005-10-17') ],
23
+ "SV" => [ GoverningPeriod.new('2005-10-17') ],
24
+ "Sp" => [ GoverningPeriod.new('2005-10-17') ]
25
+ }
26
+ end
27
+
28
+ def self.from_hash(hash)
29
+ new hash['startDate'], hash['endDate']
30
+ end
31
+
32
+ def initialize(start_date, end_date = nil)
33
+ @start_date = Date.strptime(start_date)
34
+ @end_date = Date.strptime(end_date) if end_date
35
+ end
36
+
37
+ def to_hash
38
+ {
39
+ 'startDate' => @start_date.iso8601,
40
+ 'endDate' => @end_date && @end_date.iso8601
41
+ }
42
+ end
43
+
44
+ end
45
+
46
+ end
47
+ end
@@ -5,29 +5,44 @@ module Hdo
5
5
  include IvarEquality
6
6
 
7
7
  attr_reader :external_id, :name
8
+ attr_accessor :governing_periods
8
9
  alias_method :short_inspect, :inspect
9
10
 
10
11
  schema_path StortingImporter.lib.join("hdo/storting_importer/schema/party.json").to_s
11
12
 
12
13
  def self.example
13
- new("DEM", "Democratic Party")
14
+ obj = new("A", "Arbeiderpartiet")
15
+ obj.governing_periods = [GoverningPeriod.new('2005-10-17', '2013-10-14')]
16
+
17
+ obj
14
18
  end
15
19
 
16
20
  def self.from_storting_doc(doc)
17
- doc.css("partier_liste parti").map do |node|
21
+ parties = doc.css("partier_liste parti").map do |node|
18
22
  new node.css("id").first.text,
19
23
  node.css("navn").first.text
20
24
  end
25
+
26
+ GoverningPeriod.add_to parties
27
+
28
+ parties
21
29
  end
22
30
 
23
31
  def self.from_hash(hash)
24
- new hash['externalId'],
25
- hash['name']
32
+ obj = new hash['externalId'],
33
+ hash['name']
34
+
35
+ obj.governing_periods = Array(hash['governingPeriods']).map do |gp|
36
+ GoverningPeriod.from_hash gp
37
+ end
38
+
39
+ obj
26
40
  end
27
41
 
28
42
  def initialize(external_id, name)
29
- @external_id = external_id
30
- @name = name
43
+ @external_id = external_id
44
+ @name = name
45
+ @governing_periods = nil
31
46
  end
32
47
 
33
48
  def external_id
@@ -35,11 +50,17 @@ module Hdo
35
50
  end
36
51
 
37
52
  def to_hash
38
- {
53
+ h = {
39
54
  'kind' => self.class.kind,
40
55
  'externalId' => @external_id,
41
- 'name' => @name
56
+ 'name' => @name,
42
57
  }
58
+
59
+ if @governing_periods
60
+ h['governingPeriods'] = @governing_periods.map { |e| e.to_hash }
61
+ end
62
+
63
+ h
43
64
  end
44
65
 
45
66
  end
@@ -4,10 +4,10 @@
4
4
  "type":"object",
5
5
  "properties": {
6
6
  "kind": {
7
- "type": "string",
8
- "description": "This is always 'hdo#party'",
9
- "default": "hdo#party",
10
- "required": true
7
+ "type": "string",
8
+ "description": "This is always 'hdo#party'",
9
+ "default": "hdo#party",
10
+ "required": true
11
11
  },
12
12
  "externalId": {
13
13
  "type": "string"
@@ -16,6 +16,26 @@
16
16
  "description": "The name of the party",
17
17
  "type": "string",
18
18
  "required": true
19
+ },
20
+ "governingPeriods": {
21
+ "type": "array",
22
+ "description": "Periods where this party was in the elected government.",
23
+ "items": {
24
+ "type": "object",
25
+ "properties": {
26
+ "startDate": {
27
+ "type": "string",
28
+ "format": "date",
29
+ "description": "When the governing period started.",
30
+ "required": true
31
+ },
32
+ "endDate": {
33
+ "type": "string",
34
+ "format": "date",
35
+ "description": "When the governing period stopped."
36
+ }
37
+ }
38
+ }
19
39
  }
20
40
  }
21
41
  }
@@ -1,5 +1,5 @@
1
1
  module Hdo
2
2
  module StortingImporter
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
@@ -11,6 +11,7 @@ require 'uri'
11
11
  require 'multi_json'
12
12
  require 'yajl/json_gem'
13
13
  require 'jschematic'
14
+ require 'date'
14
15
 
15
16
  module Hdo
16
17
  module StortingImporter
@@ -124,6 +125,7 @@ require 'hdo/storting_importer/promise'
124
125
  require 'hdo/storting_importer/representative'
125
126
  require 'hdo/storting_importer/proposition'
126
127
  require 'hdo/storting_importer/vote'
128
+ require 'hdo/storting_importer/governing_period'
127
129
 
128
130
  require 'hdo/storting_importer/converter'
129
131
  require 'hdo/storting_importer/cli'
@@ -1 +1 @@
1
- [{"kind":"hdo#party","externalId":"A","name":"Arbeiderpartiet"},{"kind":"hdo#party","externalId":"FrP","name":"Fremskrittspartiet"},{"kind":"hdo#party","externalId":"H","name":"Høyre"},{"kind":"hdo#party","externalId":"Sp","name":"Senterpartiet"},{"kind":"hdo#party","externalId":"SV","name":"Sosialistisk Venstreparti"},{"kind":"hdo#party","externalId":"KrF","name":"Kristelig Folkeparti"},{"kind":"hdo#party","externalId":"V","name":"Venstre"}]
1
+ [{"kind":"hdo#party","externalId":"A","name":"Arbeiderpartiet","governingPeriods":[{"startDate":"2005-10-17","endDate":null}]},{"kind":"hdo#party","externalId":"FrP","name":"Fremskrittspartiet"},{"kind":"hdo#party","externalId":"H","name":"Høyre"},{"kind":"hdo#party","externalId":"Sp","name":"Senterpartiet","governingPeriods":[{"startDate":"2005-10-17","endDate":null}]},{"kind":"hdo#party","externalId":"SV","name":"Sosialistisk Venstreparti","governingPeriods":[{"startDate":"2005-10-17","endDate":null}]},{"kind":"hdo#party","externalId":"KrF","name":"Kristelig Folkeparti"},{"kind":"hdo#party","externalId":"V","name":"Venstre"}]
@@ -36,11 +36,14 @@ module Hdo
36
36
  end
37
37
 
38
38
  it 'can serialize as JSON' do
39
- Party.new("A", "Arbeiderpartiet").to_json.should be_json <<-JSON
39
+ Party.example.to_json.should be_json <<-JSON
40
40
  {
41
41
  "kind": "hdo#party",
42
42
  "externalId": "A",
43
- "name": "Arbeiderpartiet"
43
+ "name": "Arbeiderpartiet",
44
+ "governingPeriods": [
45
+ { "startDate": "2005-10-17", "endDate": "2013-10-14" }
46
+ ]
44
47
  }
45
48
  JSON
46
49
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hdo-storting-importer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-07 00:00:00.000000000 Z
12
+ date: 2012-08-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -249,6 +249,7 @@ files:
249
249
  - lib/hdo/storting_importer/disk_data_source.rb
250
250
  - lib/hdo/storting_importer/district.rb
251
251
  - lib/hdo/storting_importer/fusion_table.rb
252
+ - lib/hdo/storting_importer/governing_period.rb
252
253
  - lib/hdo/storting_importer/has_json_schema.rb
253
254
  - lib/hdo/storting_importer/inspectable.rb
254
255
  - lib/hdo/storting_importer/issue.rb
@@ -285,20 +286,12 @@ files:
285
286
  - spec/fixtures/input/vote_results_2176.xml
286
287
  - spec/fixtures/input/votes.xml
287
288
  - spec/fixtures/output/categories.json
288
- - spec/fixtures/output/categories.xml
289
289
  - spec/fixtures/output/committees.json
290
- - spec/fixtures/output/committees.xml
291
290
  - spec/fixtures/output/districts.json
292
- - spec/fixtures/output/districts.xml
293
291
  - spec/fixtures/output/issues.json
294
- - spec/fixtures/output/issues.xml
295
292
  - spec/fixtures/output/parties.json
296
- - spec/fixtures/output/parties.xml
297
- - spec/fixtures/output/promises-a.xml
298
293
  - spec/fixtures/output/representatives.json
299
- - spec/fixtures/output/representatives.xml
300
294
  - spec/fixtures/output/votes.json
301
- - spec/fixtures/output/votes.xml
302
295
  - spec/hdo/storting_importer/category_spec.rb
303
296
  - spec/hdo/storting_importer/committee_spec.rb
304
297
  - spec/hdo/storting_importer/converter_spec.rb
@@ -353,20 +346,12 @@ test_files:
353
346
  - spec/fixtures/input/vote_results_2176.xml
354
347
  - spec/fixtures/input/votes.xml
355
348
  - spec/fixtures/output/categories.json
356
- - spec/fixtures/output/categories.xml
357
349
  - spec/fixtures/output/committees.json
358
- - spec/fixtures/output/committees.xml
359
350
  - spec/fixtures/output/districts.json
360
- - spec/fixtures/output/districts.xml
361
351
  - spec/fixtures/output/issues.json
362
- - spec/fixtures/output/issues.xml
363
352
  - spec/fixtures/output/parties.json
364
- - spec/fixtures/output/parties.xml
365
- - spec/fixtures/output/promises-a.xml
366
353
  - spec/fixtures/output/representatives.json
367
- - spec/fixtures/output/representatives.xml
368
354
  - spec/fixtures/output/votes.json
369
- - spec/fixtures/output/votes.xml
370
355
  - spec/hdo/storting_importer/category_spec.rb
371
356
  - spec/hdo/storting_importer/committee_spec.rb
372
357
  - spec/hdo/storting_importer/converter_spec.rb
@@ -1,803 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <categories>
3
- <category>
4
- <externalId>5</externalId>
5
- <name>ARBEIDSLIV</name>
6
- <subcategories>
7
- <category>
8
- <externalId>205</externalId>
9
- <name>ARBEIDSMILJØ</name>
10
- </category>
11
- <category>
12
- <externalId>94</externalId>
13
- <name>ARBEIDSVILKÅR</name>
14
- </category>
15
- <category>
16
- <externalId>95</externalId>
17
- <name>LØNN</name>
18
- </category>
19
- <category>
20
- <externalId>7</externalId>
21
- <name>SYSSELSETTING</name>
22
- </category>
23
- </subcategories>
24
- </category>
25
- <category>
26
- <externalId>173</externalId>
27
- <name>EFTA/EU</name>
28
- <subcategories>
29
- <category>
30
- <externalId>173</externalId>
31
- <name>EFTA/EU</name>
32
- </category>
33
- <category>
34
- <externalId>170</externalId>
35
- <name>EUROPARÅDET</name>
36
- </category>
37
- <category>
38
- <externalId>168</externalId>
39
- <name>FN</name>
40
- </category>
41
- <category>
42
- <externalId>169</externalId>
43
- <name>FN-STYRKER</name>
44
- </category>
45
- <category>
46
- <externalId>180</externalId>
47
- <name>FREDSARBEID</name>
48
- </category>
49
- <category>
50
- <externalId>165</externalId>
51
- <name>GRENSESPØRSMÅL</name>
52
- </category>
53
- <category>
54
- <externalId>200</externalId>
55
- <name>INTERNASJONAL RETT</name>
56
- </category>
57
- <category>
58
- <externalId>22</externalId>
59
- <name>INTERNASJONALT SAMARBEID</name>
60
- </category>
61
- <category>
62
- <externalId>167</externalId>
63
- <name>MENNESKERETTIGHETER</name>
64
- </category>
65
- <category>
66
- <externalId>177</externalId>
67
- <name>NATO</name>
68
- </category>
69
- <category>
70
- <externalId>171</externalId>
71
- <name>NORDISK SAMARBEID</name>
72
- </category>
73
- <category>
74
- <externalId>175</externalId>
75
- <name>POLAROMRÅDER</name>
76
- </category>
77
- <category>
78
- <externalId>176</externalId>
79
- <name>SVALBARD</name>
80
- </category>
81
- <category>
82
- <externalId>166</externalId>
83
- <name>TRAKTATER</name>
84
- </category>
85
- <category>
86
- <externalId>174</externalId>
87
- <name>UTVIKLINGSHJELP</name>
88
- </category>
89
- <category>
90
- <externalId>172</externalId>
91
- <name>ØKONOMISK SAMARBEID</name>
92
- </category>
93
- </subcategories>
94
- </category>
95
- <category>
96
- <externalId>4</externalId>
97
- <name>ENERGI</name>
98
- <subcategories>
99
- <category>
100
- <externalId>72</externalId>
101
- <name>ATOMKRAFT</name>
102
- </category>
103
- <category>
104
- <externalId>71</externalId>
105
- <name>ELEKTRISITET</name>
106
- </category>
107
- <category>
108
- <externalId>74</externalId>
109
- <name>OLJE</name>
110
- </category>
111
- <category>
112
- <externalId>75</externalId>
113
- <name>OLJEOMSETNING</name>
114
- </category>
115
- <category>
116
- <externalId>190</externalId>
117
- <name>OLJEUTVINNING</name>
118
- </category>
119
- <category>
120
- <externalId>178</externalId>
121
- <name>STATOIL ASA</name>
122
- </category>
123
- <category>
124
- <externalId>73</externalId>
125
- <name>VASSDRAGSREGULERING</name>
126
- </category>
127
- </subcategories>
128
- </category>
129
- <category>
130
- <externalId>40</externalId>
131
- <name>FAMILIE</name>
132
- <subcategories>
133
- <category>
134
- <externalId>41</externalId>
135
- <name>BARN</name>
136
- </category>
137
- <category>
138
- <externalId>42</externalId>
139
- <name>BARNEHAGER</name>
140
- </category>
141
- <category>
142
- <externalId>43</externalId>
143
- <name>BARNEVERN</name>
144
- </category>
145
- <category>
146
- <externalId>24</externalId>
147
- <name>LIKESTILLING</name>
148
- </category>
149
- </subcategories>
150
- </category>
151
- <category>
152
- <externalId>187</externalId>
153
- <name>FINANSER</name>
154
- <subcategories>
155
- <category>
156
- <externalId>192</externalId>
157
- <name>AKSJER</name>
158
- </category>
159
- <category>
160
- <externalId>80</externalId>
161
- <name>AVGIFTER</name>
162
- </category>
163
- <category>
164
- <externalId>87</externalId>
165
- <name>BANKER</name>
166
- </category>
167
- <category>
168
- <externalId>50</externalId>
169
- <name>FORSIKRING</name>
170
- </category>
171
- <category>
172
- <externalId>81</externalId>
173
- <name>MERVERDIAVGIFT</name>
174
- </category>
175
- <category>
176
- <externalId>88</externalId>
177
- <name>NORGES BANK</name>
178
- </category>
179
- <category>
180
- <externalId>83</externalId>
181
- <name>PRISER OG KONKURRANSEFORHOLD</name>
182
- </category>
183
- <category>
184
- <externalId>53</externalId>
185
- <name>SKATTEADMINISTRASJON</name>
186
- </category>
187
- <category>
188
- <externalId>54</externalId>
189
- <name>SKATTEAVTALER</name>
190
- </category>
191
- <category>
192
- <externalId>57</externalId>
193
- <name>SKATTEFRADRAG</name>
194
- </category>
195
- <category>
196
- <externalId>58</externalId>
197
- <name>SKATTER</name>
198
- </category>
199
- <category>
200
- <externalId>89</externalId>
201
- <name>STATSBANKER</name>
202
- </category>
203
- <category>
204
- <externalId>185</externalId>
205
- <name>STATSBUDSJETTET</name>
206
- </category>
207
- <category>
208
- <externalId>86</externalId>
209
- <name>STATSLÅN</name>
210
- </category>
211
- <category>
212
- <externalId>191</externalId>
213
- <name>SÆRAVGIFTER</name>
214
- </category>
215
- <category>
216
- <externalId>82</externalId>
217
- <name>TOLL</name>
218
- </category>
219
- </subcategories>
220
- </category>
221
- <category>
222
- <externalId>8</externalId>
223
- <name>FISKERIER</name>
224
- <subcategories>
225
- <category>
226
- <externalId>9</externalId>
227
- <name>FANGST</name>
228
- </category>
229
- <category>
230
- <externalId>91</externalId>
231
- <name>FISKEOMSETNING</name>
232
- </category>
233
- <category>
234
- <externalId>92</externalId>
235
- <name>HAVBRUK</name>
236
- </category>
237
- </subcategories>
238
- </category>
239
- <category>
240
- <externalId>45</externalId>
241
- <name>FORSKNING</name>
242
- </category>
243
- <category>
244
- <externalId>59</externalId>
245
- <name>FORSVAR</name>
246
- <subcategories>
247
- <category>
248
- <externalId>93</externalId>
249
- <name>ATOMVÅPEN</name>
250
- </category>
251
- <category>
252
- <externalId>60</externalId>
253
- <name>FORSVARSMATERIELL</name>
254
- </category>
255
- <category>
256
- <externalId>193</externalId>
257
- <name>MILITÆRT PERSONELL</name>
258
- </category>
259
- </subcategories>
260
- </category>
261
- <category>
262
- <externalId>61</externalId>
263
- <name>HELSEVESEN</name>
264
- <subcategories>
265
- <category>
266
- <externalId>188</externalId>
267
- <name>FOLKEHELSE</name>
268
- </category>
269
- <category>
270
- <externalId>49</externalId>
271
- <name>FUNKSJONSHEMMEDE</name>
272
- </category>
273
- <category>
274
- <externalId>62</externalId>
275
- <name>HELSEINSTITUSJONER</name>
276
- </category>
277
- <category>
278
- <externalId>64</externalId>
279
- <name>HELSEPERSONELL</name>
280
- </category>
281
- <category>
282
- <externalId>65</externalId>
283
- <name>SVANGERSKAP</name>
284
- </category>
285
- <category>
286
- <externalId>66</externalId>
287
- <name>SYKDOMMER</name>
288
- </category>
289
- <category>
290
- <externalId>63</externalId>
291
- <name>SYKEHUS</name>
292
- </category>
293
- </subcategories>
294
- </category>
295
- <category>
296
- <externalId>2</externalId>
297
- <name>KOMMUNIKASJON</name>
298
- <subcategories>
299
- <category>
300
- <externalId>111</externalId>
301
- <name>FERGER</name>
302
- </category>
303
- <category>
304
- <externalId>107</externalId>
305
- <name>JERNBANER</name>
306
- </category>
307
- <category>
308
- <externalId>109</externalId>
309
- <name>LUFTFART</name>
310
- </category>
311
- <category>
312
- <externalId>3</externalId>
313
- <name>POST</name>
314
- </category>
315
- <category>
316
- <externalId>106</externalId>
317
- <name>SAMFERDSEL</name>
318
- </category>
319
- <category>
320
- <externalId>179</externalId>
321
- <name>TELEKOMMUNIKASJONER</name>
322
- </category>
323
- <category>
324
- <externalId>47</externalId>
325
- <name>VEGTRAFIKK</name>
326
- </category>
327
- <category>
328
- <externalId>189</externalId>
329
- <name>VEGVESEN</name>
330
- </category>
331
- </subcategories>
332
- </category>
333
- <category>
334
- <externalId>6</externalId>
335
- <name>KULTUR</name>
336
- <subcategories>
337
- <category>
338
- <externalId>67</externalId>
339
- <name>BIBLIOTEK OG LITTERATUR</name>
340
- </category>
341
- <category>
342
- <externalId>127</externalId>
343
- <name>IDRETT</name>
344
- </category>
345
- <category>
346
- <externalId>70</externalId>
347
- <name>KRINGKASTING</name>
348
- </category>
349
- <category>
350
- <externalId>121</externalId>
351
- <name>KULTURVERN</name>
352
- </category>
353
- <category>
354
- <externalId>68</externalId>
355
- <name>KUNST</name>
356
- </category>
357
- <category>
358
- <externalId>142</externalId>
359
- <name>LOTTERI OG SPILL</name>
360
- </category>
361
- <category>
362
- <externalId>122</externalId>
363
- <name>MASSEMEDIER</name>
364
- </category>
365
- <category>
366
- <externalId>126</externalId>
367
- <name>NORSK RIKSKRINGKASTING</name>
368
- </category>
369
- <category>
370
- <externalId>124</externalId>
371
- <name>SPRÅK</name>
372
- </category>
373
- <category>
374
- <externalId>125</externalId>
375
- <name>UNGDOMSARBEID</name>
376
- </category>
377
- </subcategories>
378
- </category>
379
- <category>
380
- <externalId>46</externalId>
381
- <name>LANDBRUK</name>
382
- <subcategories>
383
- <category>
384
- <externalId>129</externalId>
385
- <name>HUSDYR</name>
386
- </category>
387
- <category>
388
- <externalId>128</externalId>
389
- <name>JORDBRUK</name>
390
- </category>
391
- <category>
392
- <externalId>69</externalId>
393
- <name>LANDBRUKSPRODUKTER</name>
394
- </category>
395
- <category>
396
- <externalId>132</externalId>
397
- <name>REINDRIFT</name>
398
- </category>
399
- <category>
400
- <externalId>196</externalId>
401
- <name>SKOGBRUK</name>
402
- </category>
403
- <category>
404
- <externalId>133</externalId>
405
- <name>VETERINÆRVESEN</name>
406
- </category>
407
- </subcategories>
408
- </category>
409
- <category>
410
- <externalId>184</externalId>
411
- <name>LOKALFORVALTNING</name>
412
- <subcategories>
413
- <category>
414
- <externalId>38</externalId>
415
- <name>BOLIGSAKER</name>
416
- </category>
417
- <category>
418
- <externalId>136</externalId>
419
- <name>BYGNINGSVESEN</name>
420
- </category>
421
- <category>
422
- <externalId>220</externalId>
423
- <name>DISTRIKTSPOLITIKK</name>
424
- </category>
425
- <category>
426
- <externalId>37</externalId>
427
- <name>FYLKER</name>
428
- </category>
429
- <category>
430
- <externalId>134</externalId>
431
- <name>FYLKESKOMMUNENES ØKONOMI</name>
432
- </category>
433
- <category>
434
- <externalId>138</externalId>
435
- <name>HUSBANKEN</name>
436
- </category>
437
- <category>
438
- <externalId>18</externalId>
439
- <name>INNVANDRERE</name>
440
- </category>
441
- <category>
442
- <externalId>135</externalId>
443
- <name>KOMMUNENES ØKONOMI</name>
444
- </category>
445
- <category>
446
- <externalId>52</externalId>
447
- <name>KOMMUNER</name>
448
- </category>
449
- <category>
450
- <externalId>39</externalId>
451
- <name>SAMER</name>
452
- </category>
453
- </subcategories>
454
- </category>
455
- <category>
456
- <externalId>139</externalId>
457
- <name>MILJØVERN</name>
458
- <subcategories>
459
- <category>
460
- <externalId>21</externalId>
461
- <name>FORURENSNING</name>
462
- </category>
463
- <category>
464
- <externalId>140</externalId>
465
- <name>KARTVERK</name>
466
- </category>
467
- <category>
468
- <externalId>131</externalId>
469
- <name>NATURSKADER</name>
470
- </category>
471
- <category>
472
- <externalId>23</externalId>
473
- <name>NATURVERN</name>
474
- </category>
475
- </subcategories>
476
- </category>
477
- <category>
478
- <externalId>113</externalId>
479
- <name>NÆRINGSLIV</name>
480
- <subcategories>
481
- <category>
482
- <externalId>115</externalId>
483
- <name>BERGVERK</name>
484
- </category>
485
- <category>
486
- <externalId>98</externalId>
487
- <name>FORBRUKERSAKER</name>
488
- </category>
489
- <category>
490
- <externalId>20</externalId>
491
- <name>HANDEL</name>
492
- </category>
493
- <category>
494
- <externalId>223</externalId>
495
- <name>INDUSTRI</name>
496
- </category>
497
- <category>
498
- <externalId>114</externalId>
499
- <name>NÆRINGSUTVIKLING</name>
500
- </category>
501
- <category>
502
- <externalId>112</externalId>
503
- <name>REISELIVSNÆRING</name>
504
- </category>
505
- <category>
506
- <externalId>119</externalId>
507
- <name>STATSBEDRIFTER</name>
508
- </category>
509
- <category>
510
- <externalId>99</externalId>
511
- <name>UTENRIKSHANDEL</name>
512
- </category>
513
- <category>
514
- <externalId>97</externalId>
515
- <name>VAREHANDEL</name>
516
- </category>
517
- <category>
518
- <externalId>195</externalId>
519
- <name>VERFTSINDUSTRI</name>
520
- </category>
521
- </subcategories>
522
- </category>
523
- <category>
524
- <externalId>11</externalId>
525
- <name>RETTSVESEN</name>
526
- <subcategories>
527
- <category>
528
- <externalId>12</externalId>
529
- <name>DOMSTOLER</name>
530
- </category>
531
- <category>
532
- <externalId>19</externalId>
533
- <name>FENGSLER</name>
534
- </category>
535
- <category>
536
- <externalId>16</externalId>
537
- <name>KRIMINALOMSORG</name>
538
- </category>
539
- <category>
540
- <externalId>17</externalId>
541
- <name>PERSONVERN</name>
542
- </category>
543
- <category>
544
- <externalId>141</externalId>
545
- <name>POLITI OG PÅTALEMYNDIGHET</name>
546
- </category>
547
- <category>
548
- <externalId>15</externalId>
549
- <name>REDNINGSTJENESTE</name>
550
- </category>
551
- <category>
552
- <externalId>181</externalId>
553
- <name>SIVIL BEREDSKAP</name>
554
- </category>
555
- <category>
556
- <externalId>198</externalId>
557
- <name>SIVILE VERNEPLIKTIGE</name>
558
- </category>
559
- <category>
560
- <externalId>13</externalId>
561
- <name>SIVILRETT</name>
562
- </category>
563
- <category>
564
- <externalId>14</externalId>
565
- <name>STRAFFERETT</name>
566
- </category>
567
- </subcategories>
568
- </category>
569
- <category>
570
- <externalId>143</externalId>
571
- <name>SJØFART</name>
572
- <subcategories>
573
- <category>
574
- <externalId>147</externalId>
575
- <name>HAVNER</name>
576
- </category>
577
- <category>
578
- <externalId>146</externalId>
579
- <name>SIKKERHET TIL SJØS</name>
580
- </category>
581
- <category>
582
- <externalId>145</externalId>
583
- <name>SJØFOLK</name>
584
- </category>
585
- </subcategories>
586
- </category>
587
- <category>
588
- <externalId>10</externalId>
589
- <name>SOSIALVESEN</name>
590
- <subcategories>
591
- <category>
592
- <externalId>148</externalId>
593
- <name>BARNETRYGD</name>
594
- </category>
595
- <category>
596
- <externalId>48</externalId>
597
- <name>ELDREOMSORG</name>
598
- </category>
599
- <category>
600
- <externalId>211</externalId>
601
- <name>RUSMIDLER</name>
602
- </category>
603
- <category>
604
- <externalId>186</externalId>
605
- <name>TRYGDER</name>
606
- </category>
607
- </subcategories>
608
- </category>
609
- <category>
610
- <externalId>151</externalId>
611
- <name>STATSFORFATNING</name>
612
- <subcategories>
613
- <category>
614
- <externalId>221</externalId>
615
- <name>GRUNNLOVEN</name>
616
- </category>
617
- <category>
618
- <externalId>182</externalId>
619
- <name>KONGEN</name>
620
- </category>
621
- <category>
622
- <externalId>154</externalId>
623
- <name>POLITISKE PARTIER</name>
624
- </category>
625
- <category>
626
- <externalId>25</externalId>
627
- <name>REGJERINGEN</name>
628
- </category>
629
- <category>
630
- <externalId>28</externalId>
631
- <name>RETTFERDSVEDERLAG</name>
632
- </category>
633
- <category>
634
- <externalId>29</externalId>
635
- <name>RIKSREVISJONEN</name>
636
- </category>
637
- <category>
638
- <externalId>203</externalId>
639
- <name>STORTINGET</name>
640
- </category>
641
- <category>
642
- <externalId>222</externalId>
643
- <name>STORTINGETS FORRETNINGSORDEN</name>
644
- </category>
645
- <category>
646
- <externalId>153</externalId>
647
- <name>STORTINGETS OMBUDSMANN FOR FORVALTNINGEN</name>
648
- </category>
649
- <category>
650
- <externalId>26</externalId>
651
- <name>STORTINGSREPRESENTANTER</name>
652
- </category>
653
- <category>
654
- <externalId>30</externalId>
655
- <name>VALG</name>
656
- </category>
657
- </subcategories>
658
- </category>
659
- <category>
660
- <externalId>155</externalId>
661
- <name>STATSFORVALTNING</name>
662
- <subcategories>
663
- <category>
664
- <externalId>51</externalId>
665
- <name>DEPARTEMENTER</name>
666
- </category>
667
- <category>
668
- <externalId>44</externalId>
669
- <name>STATENS PERSONALPOLITIKK</name>
670
- </category>
671
- <category>
672
- <externalId>157</externalId>
673
- <name>STATSEIENDOMMER</name>
674
- </category>
675
- </subcategories>
676
- </category>
677
- <category>
678
- <externalId>105</externalId>
679
- <name>TROSSAMFUNN</name>
680
- <subcategories>
681
- <category>
682
- <externalId>1</externalId>
683
- <name>DEN NORSKE KIRKE</name>
684
- </category>
685
- </subcategories>
686
- </category>
687
- <category>
688
- <externalId>32</externalId>
689
- <name>UTDANNING</name>
690
- <subcategories>
691
- <category>
692
- <externalId>183</externalId>
693
- <name>GRUNNSKOLE</name>
694
- </category>
695
- <category>
696
- <externalId>160</externalId>
697
- <name>HØGSKOLER</name>
698
- </category>
699
- <category>
700
- <externalId>159</externalId>
701
- <name>HØYERE UTDANNING</name>
702
- </category>
703
- <category>
704
- <externalId>33</externalId>
705
- <name>PRIVATSKOLER</name>
706
- </category>
707
- <category>
708
- <externalId>31</externalId>
709
- <name>SKOLER</name>
710
- </category>
711
- <category>
712
- <externalId>34</externalId>
713
- <name>SPESIALUNDERVISNING</name>
714
- </category>
715
- <category>
716
- <externalId>36</externalId>
717
- <name>STUDIEFINANSIERING</name>
718
- </category>
719
- <category>
720
- <externalId>35</externalId>
721
- <name>UNIVERSITETER</name>
722
- </category>
723
- <category>
724
- <externalId>158</externalId>
725
- <name>VIDEREGÅENDE SKOLER</name>
726
- </category>
727
- <category>
728
- <externalId>212</externalId>
729
- <name>VOKSENOPPLÆRING</name>
730
- </category>
731
- </subcategories>
732
- </category>
733
- <category>
734
- <externalId>163</externalId>
735
- <name>UTENRIKSSAKER</name>
736
- <subcategories>
737
- <category>
738
- <externalId>173</externalId>
739
- <name>EFTA/EU</name>
740
- </category>
741
- <category>
742
- <externalId>170</externalId>
743
- <name>EUROPARÅDET</name>
744
- </category>
745
- <category>
746
- <externalId>168</externalId>
747
- <name>FN</name>
748
- </category>
749
- <category>
750
- <externalId>169</externalId>
751
- <name>FN-STYRKER</name>
752
- </category>
753
- <category>
754
- <externalId>180</externalId>
755
- <name>FREDSARBEID</name>
756
- </category>
757
- <category>
758
- <externalId>165</externalId>
759
- <name>GRENSESPØRSMÅL</name>
760
- </category>
761
- <category>
762
- <externalId>200</externalId>
763
- <name>INTERNASJONAL RETT</name>
764
- </category>
765
- <category>
766
- <externalId>22</externalId>
767
- <name>INTERNASJONALT SAMARBEID</name>
768
- </category>
769
- <category>
770
- <externalId>167</externalId>
771
- <name>MENNESKERETTIGHETER</name>
772
- </category>
773
- <category>
774
- <externalId>177</externalId>
775
- <name>NATO</name>
776
- </category>
777
- <category>
778
- <externalId>171</externalId>
779
- <name>NORDISK SAMARBEID</name>
780
- </category>
781
- <category>
782
- <externalId>175</externalId>
783
- <name>POLAROMRÅDER</name>
784
- </category>
785
- <category>
786
- <externalId>176</externalId>
787
- <name>SVALBARD</name>
788
- </category>
789
- <category>
790
- <externalId>166</externalId>
791
- <name>TRAKTATER</name>
792
- </category>
793
- <category>
794
- <externalId>174</externalId>
795
- <name>UTVIKLINGSHJELP</name>
796
- </category>
797
- <category>
798
- <externalId>172</externalId>
799
- <name>ØKONOMISK SAMARBEID</name>
800
- </category>
801
- </subcategories>
802
- </category>
803
- </categories>