mods_display 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +16 -0
- data/.rubocop_todo.yml +60 -0
- data/.travis.yml +2 -2
- data/Rakefile +10 -2
- data/lib/mods_display.rb +42 -42
- data/lib/mods_display/configuration.rb +69 -67
- data/lib/mods_display/configuration/access_condition.rb +17 -13
- data/lib/mods_display/configuration/base.rb +27 -24
- data/lib/mods_display/configuration/format.rb +8 -4
- data/lib/mods_display/configuration/genre.rb +8 -4
- data/lib/mods_display/configuration/imprint.rb +12 -7
- data/lib/mods_display/configuration/name.rb +8 -4
- data/lib/mods_display/configuration/note.rb +8 -4
- data/lib/mods_display/configuration/related_item.rb +8 -4
- data/lib/mods_display/configuration/subject.rb +11 -9
- data/lib/mods_display/configuration/title.rb +8 -4
- data/lib/mods_display/controller_extension.rb +24 -24
- data/lib/mods_display/country_codes.rb +385 -384
- data/lib/mods_display/fields/abstract.rb +7 -6
- data/lib/mods_display/fields/access_condition.rb +55 -55
- data/lib/mods_display/fields/audience.rb +7 -6
- data/lib/mods_display/fields/cartographics.rb +15 -14
- data/lib/mods_display/fields/collection.rb +32 -17
- data/lib/mods_display/fields/contact.rb +15 -13
- data/lib/mods_display/fields/contents.rb +7 -6
- data/lib/mods_display/fields/description.rb +21 -21
- data/lib/mods_display/fields/field.rb +164 -109
- data/lib/mods_display/fields/format.rb +36 -33
- data/lib/mods_display/fields/genre.rb +12 -11
- data/lib/mods_display/fields/identifier.rb +34 -34
- data/lib/mods_display/fields/imprint.rb +258 -214
- data/lib/mods_display/fields/language.rb +18 -16
- data/lib/mods_display/fields/location.rb +27 -26
- data/lib/mods_display/fields/name.rb +113 -118
- data/lib/mods_display/fields/note.rb +33 -34
- data/lib/mods_display/fields/related_item.rb +64 -66
- data/lib/mods_display/fields/resource_type.rb +13 -11
- data/lib/mods_display/fields/sub_title.rb +6 -4
- data/lib/mods_display/fields/subject.rb +92 -90
- data/lib/mods_display/fields/title.rb +54 -49
- data/lib/mods_display/fields/values.rb +7 -8
- data/lib/mods_display/html.rb +117 -96
- data/lib/mods_display/model_extension.rb +17 -16
- data/lib/mods_display/relator_codes.rb +269 -267
- data/lib/mods_display/version.rb +1 -1
- data/mods_display.gemspec +13 -12
- data/spec/configuration/access_condition_spec.rb +5 -5
- data/spec/configuration/base_spec.rb +24 -24
- data/spec/fields/abstract_spec.rb +24 -14
- data/spec/fields/access_condition_spec.rb +80 -55
- data/spec/fields/audience_spec.rb +15 -12
- data/spec/fields/cartographics_spec.rb +17 -18
- data/spec/fields/collection_spec.rb +65 -19
- data/spec/fields/contact_spec.rb +11 -9
- data/spec/fields/contents_spec.rb +15 -12
- data/spec/fields/description_spec.rb +40 -22
- data/spec/fields/format_spec.rb +28 -18
- data/spec/fields/genre_spec.rb +18 -16
- data/spec/fields/identifier_spec.rb +46 -34
- data/spec/fields/imprint_spec.rb +151 -125
- data/spec/fields/language_spec.rb +36 -20
- data/spec/fields/location_spec.rb +43 -27
- data/spec/fields/name_spec.rb +92 -92
- data/spec/fields/note_spec.rb +53 -40
- data/spec/fields/related_item_spec.rb +42 -40
- data/spec/fields/resource_type_spec.rb +20 -14
- data/spec/fields/sub_title_spec.rb +11 -9
- data/spec/fields/subject_spec.rb +61 -56
- data/spec/fields/title_spec.rb +53 -40
- data/spec/fixtures/access_condition_fixtures.rb +50 -0
- data/spec/fixtures/cartographics_fixtures.rb +1 -1
- data/spec/fixtures/imprint_fixtures.rb +49 -1
- data/spec/fixtures/name_fixtures.rb +195 -2
- data/spec/fixtures/related_item_fixtures.rb +107 -0
- data/spec/fixtures/subjects_fixtures.rb +15 -2
- data/spec/fixtures/title_fixtures.rb +101 -0
- data/spec/integration/configuration_spec.rb +23 -20
- data/spec/integration/html_spec.rb +40 -29
- data/spec/integration/installation_spec.rb +14 -14
- data/spec/spec_helper.rb +5 -8
- metadata +25 -3
@@ -1,11 +1,10 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
values
|
5
|
-
|
6
|
-
|
1
|
+
module ModsDisplay
|
2
|
+
class Values
|
3
|
+
attr_accessor :label, :values
|
4
|
+
def initialize(values)
|
5
|
+
values.each do |key, value|
|
6
|
+
send("#{key}=".to_sym, value) if [:label, :values].include?(key)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
10
|
-
|
11
|
-
end
|
10
|
+
end
|
data/lib/mods_display/html.rb
CHANGED
@@ -1,109 +1,130 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
def title
|
11
|
-
unless mods_field(@xml, :title).fields.empty?
|
12
|
-
return mods_field(@xml, :title).fields.first.values
|
1
|
+
module ModsDisplay
|
2
|
+
class HTML
|
3
|
+
attr_reader :title, :body
|
4
|
+
def initialize(config, xml, klass)
|
5
|
+
@config = config
|
6
|
+
@stanford_mods = xml
|
7
|
+
@xml = xml.mods_ng_xml
|
8
|
+
@klass = klass
|
13
9
|
end
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
# Maybe have a separate class that will omit the first tite natively
|
19
|
-
# and replace the first key in the the fields list with that.
|
20
|
-
def body
|
21
|
-
output = "<dl>"
|
22
|
-
body_fields = mods_display_fields.dup
|
23
|
-
body_fields[0] = :subTitle
|
24
|
-
body_fields.each do |field_key|
|
25
|
-
field = mods_field(@xml, field_key)
|
26
|
-
unless field.nil? or field.to_html.nil?
|
27
|
-
output << mods_field(@xml, field_key).to_html
|
10
|
+
|
11
|
+
def title
|
12
|
+
unless mods_field(@xml, :title).fields.empty?
|
13
|
+
return mods_field(@xml, :title).fields.first.values
|
28
14
|
end
|
15
|
+
''
|
29
16
|
end
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
17
|
+
|
18
|
+
# Need to figure out how to get the 1st title out of the list.
|
19
|
+
# Maybe have a separate class that will omit the first tite natively
|
20
|
+
# and replace the first key in the the fields list with that.
|
21
|
+
def body
|
22
|
+
output = '<dl>'
|
23
|
+
body_fields = mods_display_fields.dup
|
24
|
+
body_fields[0] = :subTitle
|
25
|
+
body_fields.each do |field_key|
|
26
|
+
field = mods_field(@xml, field_key)
|
27
|
+
unless field.nil? || field.to_html.nil?
|
28
|
+
output << mods_field(@xml, field_key).to_html
|
29
|
+
end
|
39
30
|
end
|
31
|
+
output << '</dl>'
|
40
32
|
end
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
else
|
50
|
-
super
|
33
|
+
|
34
|
+
def to_html
|
35
|
+
output = '<dl>'
|
36
|
+
mods_display_fields.each do |field_key|
|
37
|
+
field = mods_field(@xml, field_key)
|
38
|
+
output << field.to_html unless field.nil? || field.to_html.nil?
|
39
|
+
end
|
40
|
+
output << '</dl>'
|
51
41
|
end
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
ModsDisplay.const_get("#{field_key.slice(0,1).upcase}#{field_key.slice(1..-1)}").new(@stanford_mods, field_config(field_key), @klass)
|
42
|
+
|
43
|
+
def method_missing(method_name, *args, &block)
|
44
|
+
if to_s.respond_to?(method_name)
|
45
|
+
to_html.send(method_name, *args, &block)
|
46
|
+
elsif mods_display_fields.include?(method_name)
|
47
|
+
mods_field(@xml, method_name).fields
|
48
|
+
else
|
49
|
+
super
|
50
|
+
end
|
62
51
|
end
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def mods_field(xml, field_key)
|
56
|
+
if xml.respond_to?(mods_display_field_mapping[field_key])
|
57
|
+
field = xml.send(mods_display_field_mapping[field_key])
|
58
|
+
ModsDisplay.const_get(
|
59
|
+
"#{field_key.slice(0, 1).upcase}#{field_key.slice(1..-1)}"
|
60
|
+
).new(field, field_config(field_key), @klass)
|
61
|
+
elsif @stanford_mods.respond_to?(field_key)
|
62
|
+
ModsDisplay.const_get(
|
63
|
+
"#{field_key.slice(0, 1).upcase}#{field_key.slice(1..-1)}"
|
64
|
+
).new(@stanford_mods, field_config(field_key), @klass)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def field_config(field_key)
|
67
69
|
@config.send(field_key_translation[field_key] || field_key)
|
68
70
|
rescue
|
69
71
|
ModsDisplay::Configuration::Base.new
|
70
72
|
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def mods_display_fields
|
74
|
-
[:title, :name, :language, :imprint, :resourceType, :genre, :format, :description, :cartographics, :abstract, :contents, :audience, :note, :contact, :collection, :relatedItem, :subject, :identifier, :location, :accessCondition]
|
75
|
-
end
|
76
|
-
|
77
|
-
def mods_display_field_mapping
|
78
|
-
{:title => :title_info,
|
79
|
-
:subTitle => :title_info,
|
80
|
-
:name => :plain_name,
|
81
|
-
:resourceType => :typeOfResource,
|
82
|
-
:genre => :genre,
|
83
|
-
:format => :format,
|
84
|
-
:imprint => :origin_info,
|
85
|
-
:language => :language,
|
86
|
-
:description => :physical_description,
|
87
|
-
:cartographics => :subject,
|
88
|
-
:abstract => :abstract,
|
89
|
-
:contents => :tableOfContents,
|
90
|
-
:audience => :targetAudience,
|
91
|
-
:note => :note,
|
92
|
-
:contact => :note,
|
93
|
-
:collection => :related_item,
|
94
|
-
:relatedItem => :related_item,
|
95
|
-
:subject => :subject,
|
96
|
-
:identifier => :identifier,
|
97
|
-
:location => :location,
|
98
|
-
:accessCondition => :accessCondition}
|
99
|
-
end
|
100
73
|
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
74
|
+
def mods_display_fields
|
75
|
+
[:title,
|
76
|
+
:name,
|
77
|
+
:language,
|
78
|
+
:imprint,
|
79
|
+
:resourceType,
|
80
|
+
:genre,
|
81
|
+
:format,
|
82
|
+
:description,
|
83
|
+
:cartographics,
|
84
|
+
:abstract,
|
85
|
+
:contents,
|
86
|
+
:audience,
|
87
|
+
:note,
|
88
|
+
:contact,
|
89
|
+
:collection,
|
90
|
+
:relatedItem,
|
91
|
+
:subject,
|
92
|
+
:identifier,
|
93
|
+
:location,
|
94
|
+
:accessCondition
|
95
|
+
]
|
96
|
+
end
|
97
|
+
|
98
|
+
def mods_display_field_mapping
|
99
|
+
{ title: :title_info,
|
100
|
+
subTitle: :title_info,
|
101
|
+
name: :plain_name,
|
102
|
+
resourceType: :typeOfResource,
|
103
|
+
genre: :genre,
|
104
|
+
format: :format,
|
105
|
+
imprint: :origin_info,
|
106
|
+
language: :language,
|
107
|
+
description: :physical_description,
|
108
|
+
cartographics: :subject,
|
109
|
+
abstract: :abstract,
|
110
|
+
contents: :tableOfContents,
|
111
|
+
audience: :targetAudience,
|
112
|
+
note: :note,
|
113
|
+
contact: :note,
|
114
|
+
collection: :related_item,
|
115
|
+
relatedItem: :related_item,
|
116
|
+
subject: :subject,
|
117
|
+
identifier: :identifier,
|
118
|
+
location: :location,
|
119
|
+
accessCondition: :accessCondition }
|
120
|
+
end
|
108
121
|
|
109
|
-
|
122
|
+
def field_key_translation
|
123
|
+
{ subTitle: :sub_title,
|
124
|
+
resourceType: :resource_type,
|
125
|
+
relatedItem: :related_item,
|
126
|
+
accessCondition: :access_condition
|
127
|
+
}
|
128
|
+
end
|
129
|
+
end
|
130
|
+
end
|
@@ -1,21 +1,22 @@
|
|
1
|
-
module ModsDisplay
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
module ModsDisplay
|
2
|
+
module ModelExtension
|
3
|
+
def self.included(base)
|
4
|
+
base.extend ClassMethods
|
5
|
+
base.class_eval do
|
6
|
+
def mods_display_xml
|
7
|
+
xml = self.class.mods_xml_source.call(self)
|
8
|
+
return if xml.nil?
|
9
|
+
mods = Stanford::Mods::Record.new
|
10
|
+
mods.from_str(xml, false)
|
11
|
+
mods
|
12
|
+
end
|
12
13
|
end
|
13
14
|
end
|
14
|
-
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
module ClassMethods
|
17
|
+
def mods_xml_source(&xml)
|
18
|
+
@mods_xml_source ||= xml
|
19
|
+
end
|
19
20
|
end
|
20
21
|
end
|
21
|
-
end
|
22
|
+
end
|
@@ -1,268 +1,270 @@
|
|
1
|
-
module ModsDisplay
|
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
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
1
|
+
module ModsDisplay
|
2
|
+
module RelatorCodes
|
3
|
+
def relator_codes
|
4
|
+
{ 'abr' => 'Abridger',
|
5
|
+
'acp' => 'Art copyist',
|
6
|
+
'act' => 'Actor',
|
7
|
+
'adi' => 'Art director',
|
8
|
+
'adp' => 'Adapter',
|
9
|
+
'aft' => 'Author of afterword, colophon, etc.',
|
10
|
+
'anl' => 'Analyst',
|
11
|
+
'anm' => 'Animator',
|
12
|
+
'ann' => 'Annotator',
|
13
|
+
'ant' => 'Bibliographic antecedent',
|
14
|
+
'ape' => 'Appellee',
|
15
|
+
'apl' => 'Appellant',
|
16
|
+
'app' => 'Applicant',
|
17
|
+
'aqt' => 'Author in quotations or text abstracts',
|
18
|
+
'arc' => 'Architect',
|
19
|
+
'ard' => 'Artistic director',
|
20
|
+
'arr' => 'Arranger',
|
21
|
+
'art' => 'Artist',
|
22
|
+
'asg' => 'Assignee',
|
23
|
+
'asn' => 'Associated name',
|
24
|
+
'ato' => 'Autographer',
|
25
|
+
'att' => 'Attributed name',
|
26
|
+
'auc' => 'Auctioneer',
|
27
|
+
'aud' => 'Author of dialog',
|
28
|
+
'aui' => 'Author of introduction, etc.',
|
29
|
+
'aus' => 'Screenwriter',
|
30
|
+
'aut' => 'Author',
|
31
|
+
'bdd' => 'Binding designer',
|
32
|
+
'bjd' => 'Bookjacket designer',
|
33
|
+
'bkd' => 'Book designer',
|
34
|
+
'bkp' => 'Book producer',
|
35
|
+
'blw' => 'Blurb writer',
|
36
|
+
'bnd' => 'Binder',
|
37
|
+
'bpd' => 'Bookplate designer',
|
38
|
+
'brd' => 'Broadcaster',
|
39
|
+
'brl' => 'Braille embosser',
|
40
|
+
'bsl' => 'Bookseller',
|
41
|
+
'cas' => 'Caster',
|
42
|
+
'ccp' => 'Conceptor',
|
43
|
+
'chr' => 'Choreographer',
|
44
|
+
'clb' => 'Collaborator',
|
45
|
+
'cli' => 'Client',
|
46
|
+
'cll' => 'Calligrapher',
|
47
|
+
'clr' => 'Colorist',
|
48
|
+
'clt' => 'Collotyper',
|
49
|
+
'cmm' => 'Commentator',
|
50
|
+
'cmp' => 'Composer',
|
51
|
+
'cmt' => 'Compositor',
|
52
|
+
'cnd' => 'Conductor',
|
53
|
+
'cng' => 'Cinematographer',
|
54
|
+
'cns' => 'Censor',
|
55
|
+
'coe' => 'Contestant-appellee',
|
56
|
+
'col' => 'Collector',
|
57
|
+
'com' => 'Compiler',
|
58
|
+
'con' => 'Conservator',
|
59
|
+
'cor' => 'Collection registrar',
|
60
|
+
'cos' => 'Contestant',
|
61
|
+
'cot' => 'Contestant-appellant',
|
62
|
+
'cou' => 'Court governed',
|
63
|
+
'cov' => 'Cover designer',
|
64
|
+
'cpc' => 'Copyright claimant',
|
65
|
+
'cpe' => 'Complainant-appellee',
|
66
|
+
'cph' => 'Copyright holder',
|
67
|
+
'cpl' => 'Complainant',
|
68
|
+
'cpt' => 'Complainant-appellant',
|
69
|
+
'cre' => 'Creator',
|
70
|
+
'crp' => 'Correspondent',
|
71
|
+
'crr' => 'Corrector',
|
72
|
+
'crt' => 'Court reporter',
|
73
|
+
'csl' => 'Consultant',
|
74
|
+
'csp' => 'Consultant to a project',
|
75
|
+
'cst' => 'Costume designer',
|
76
|
+
'ctb' => 'Contributor',
|
77
|
+
'cte' => 'Contestee-appellee',
|
78
|
+
'ctg' => 'Cartographer',
|
79
|
+
'ctr' => 'Contractor',
|
80
|
+
'cts' => 'Contestee',
|
81
|
+
'ctt' => 'Contestee-appellant',
|
82
|
+
'cur' => 'Curator',
|
83
|
+
'cwt' => 'Commentator for written text',
|
84
|
+
'dbp' => 'Distribution place',
|
85
|
+
'dfd' => 'Defendant',
|
86
|
+
'dfe' => 'Defendant-appellee',
|
87
|
+
'dft' => 'Defendant-appellant',
|
88
|
+
'dgg' => 'Degree granting institution',
|
89
|
+
'dis' => 'Dissertant',
|
90
|
+
'dln' => 'Delineator',
|
91
|
+
'dnc' => 'Dancer',
|
92
|
+
'dnr' => 'Donor',
|
93
|
+
'dpc' => 'Depicted',
|
94
|
+
'dpt' => 'Depositor',
|
95
|
+
'drm' => 'Draftsman',
|
96
|
+
'drt' => 'Director',
|
97
|
+
'dsr' => 'Designer',
|
98
|
+
'dst' => 'Distributor',
|
99
|
+
'dtc' => 'Data contributor',
|
100
|
+
'dte' => 'Dedicatee',
|
101
|
+
'dtm' => 'Data manager',
|
102
|
+
'dto' => 'Dedicator',
|
103
|
+
'dub' => 'Dubious author',
|
104
|
+
'edc' => 'Editor of compilation',
|
105
|
+
'edm' => 'Editor of moving image work',
|
106
|
+
'edt' => 'Editor',
|
107
|
+
'egr' => 'Engraver',
|
108
|
+
'elg' => 'Electrician',
|
109
|
+
'elt' => 'Electrotyper',
|
110
|
+
'eng' => 'Engineer',
|
111
|
+
'enj' => 'Enacting jurisdiction',
|
112
|
+
'etr' => 'Etcher',
|
113
|
+
'evp' => 'Event place',
|
114
|
+
'exp' => 'Expert',
|
115
|
+
'fac' => 'Facsimilist',
|
116
|
+
'fds' => 'Film distributor',
|
117
|
+
'fld' => 'Field director',
|
118
|
+
'flm' => 'Film editor',
|
119
|
+
'fmd' => 'Film director',
|
120
|
+
'fmk' => 'Filmmaker',
|
121
|
+
'fmo' => 'Former owner',
|
122
|
+
'fmp' => 'Film producer',
|
123
|
+
'fnd' => 'Funder',
|
124
|
+
'fpy' => 'First party',
|
125
|
+
'frg' => 'Forger',
|
126
|
+
'gis' => 'Geographic information specialist',
|
127
|
+
'grt' => 'Graphic technician',
|
128
|
+
'his' => 'Host institution',
|
129
|
+
'hnr' => 'Honoree',
|
130
|
+
'hst' => 'Host',
|
131
|
+
'ill' => 'Illustrator',
|
132
|
+
'ilu' => 'Illuminator',
|
133
|
+
'ins' => 'Inscriber',
|
134
|
+
'itr' => 'Instrumentalist',
|
135
|
+
'ive' => 'Interviewee',
|
136
|
+
'ivr' => 'Interviewer',
|
137
|
+
'inv' => 'Inventor',
|
138
|
+
'isb' => 'Issuing body',
|
139
|
+
'jud' => 'Judge',
|
140
|
+
'jug' => 'Jurisdiction governed',
|
141
|
+
'lbr' => 'Laboratory',
|
142
|
+
'lbt' => 'Librettist',
|
143
|
+
'ldr' => 'Laboratory director',
|
144
|
+
'led' => 'Lead',
|
145
|
+
'lee' => 'Libelee-appellee',
|
146
|
+
'lel' => 'Libelee',
|
147
|
+
'len' => 'Lender',
|
148
|
+
'let' => 'Libelee-appellant',
|
149
|
+
'lgd' => 'Lighting designer',
|
150
|
+
'lie' => 'Libelant-appellee',
|
151
|
+
'lil' => 'Libelant',
|
152
|
+
'lit' => 'Libelant-appellant',
|
153
|
+
'lsa' => 'Landscape architect',
|
154
|
+
'lse' => 'Licensee',
|
155
|
+
'lso' => 'Licensor',
|
156
|
+
'ltg' => 'Lithographer',
|
157
|
+
'lyr' => 'Lyricist',
|
158
|
+
'mcp' => 'Music copyist',
|
159
|
+
'mdc' => 'Metadata contact',
|
160
|
+
'mfp' => 'Manufacture place',
|
161
|
+
'mfr' => 'Manufacturer',
|
162
|
+
'mod' => 'Moderator',
|
163
|
+
'mon' => 'Monitor',
|
164
|
+
'mrb' => 'Marbler',
|
165
|
+
'mrk' => 'Markup editor',
|
166
|
+
'msd' => 'Musical director',
|
167
|
+
'mte' => 'Metal-engraver',
|
168
|
+
'mus' => 'Musician',
|
169
|
+
'nrt' => 'Narrator',
|
170
|
+
'opn' => 'Opponent',
|
171
|
+
'org' => 'Originator',
|
172
|
+
'orm' => 'Organizer of meeting',
|
173
|
+
'osp' => 'Onscreen presenter',
|
174
|
+
'oth' => 'Other',
|
175
|
+
'own' => 'Owner',
|
176
|
+
'pan' => 'Panelist',
|
177
|
+
'pat' => 'Patron',
|
178
|
+
'pbd' => 'Publishing director',
|
179
|
+
'pbl' => 'Publisher',
|
180
|
+
'pdr' => 'Project director',
|
181
|
+
'pfr' => 'Proofreader',
|
182
|
+
'pht' => 'Photographer',
|
183
|
+
'plt' => 'Platemaker',
|
184
|
+
'pma' => 'Permitting agency',
|
185
|
+
'pmn' => 'Production manager',
|
186
|
+
'pop' => 'Printer of plates',
|
187
|
+
'ppm' => 'Papermaker',
|
188
|
+
'ppt' => 'Puppeteer',
|
189
|
+
'pra' => 'Praeses',
|
190
|
+
'prc' => 'Process contact',
|
191
|
+
'prd' => 'Production personnel',
|
192
|
+
'pre' => 'Presenter',
|
193
|
+
'prf' => 'Performer',
|
194
|
+
'prg' => 'Programmer',
|
195
|
+
'prm' => 'Printmaker',
|
196
|
+
'prn' => 'Production company',
|
197
|
+
'pro' => 'Producer',
|
198
|
+
'prp' => 'Production place',
|
199
|
+
'prs' => 'Production designer',
|
200
|
+
'prt' => 'Printer',
|
201
|
+
'prv' => 'Provider',
|
202
|
+
'pta' => 'Patent applicant',
|
203
|
+
'pte' => 'Plaintiff-appellee',
|
204
|
+
'ptf' => 'Plaintiff',
|
205
|
+
'pth' => 'Patent holder',
|
206
|
+
'ptt' => 'Plaintiff-appellant',
|
207
|
+
'pup' => 'Publication place',
|
208
|
+
'rbr' => 'Rubricator',
|
209
|
+
'rce' => 'Recording engineer',
|
210
|
+
'rcd' => 'Recordist',
|
211
|
+
'rcp' => 'Addressee',
|
212
|
+
'rdd' => 'Radio director',
|
213
|
+
'red' => 'Redaktor',
|
214
|
+
'ren' => 'Renderer',
|
215
|
+
'res' => 'Researcher',
|
216
|
+
'rev' => 'Reviewer',
|
217
|
+
'rpc' => 'Radio producer',
|
218
|
+
'rps' => 'Repository',
|
219
|
+
'rpt' => 'Reporter',
|
220
|
+
'rpy' => 'Responsible party',
|
221
|
+
'rse' => 'Respondent-appellee',
|
222
|
+
'rsg' => 'Restager',
|
223
|
+
'rsp' => 'Respondent',
|
224
|
+
'rsr' => 'Restorationist',
|
225
|
+
'rst' => 'Respondent-appellant',
|
226
|
+
'rth' => 'Research team head',
|
227
|
+
'rtm' => 'Research team member',
|
228
|
+
'sad' => 'Scientific advisor',
|
229
|
+
'sce' => 'Scenarist',
|
230
|
+
'scl' => 'Sculptor',
|
231
|
+
'scr' => 'Scribe',
|
232
|
+
'sds' => 'Sound designer',
|
233
|
+
'sec' => 'Secretary',
|
234
|
+
'sgd' => 'Stage director',
|
235
|
+
'sgn' => 'Signer',
|
236
|
+
'sht' => 'Supporting host',
|
237
|
+
'sll' => 'Seller',
|
238
|
+
'sng' => 'Singer',
|
239
|
+
'spk' => 'Speaker',
|
240
|
+
'spn' => 'Sponsor',
|
241
|
+
'spy' => 'Second party',
|
242
|
+
'std' => 'Set designer',
|
243
|
+
'stg' => 'Setting',
|
244
|
+
'stl' => 'Storyteller',
|
245
|
+
'stm' => 'Stage manager',
|
246
|
+
'stn' => 'Standards body',
|
247
|
+
'str' => 'Stereotyper',
|
248
|
+
'srv' => 'Surveyor',
|
249
|
+
'tcd' => 'Technical director',
|
250
|
+
'tch' => 'Teacher',
|
251
|
+
'ths' => 'Thesis advisor',
|
252
|
+
'tld' => 'Television director',
|
253
|
+
'tlp' => 'Television producer',
|
254
|
+
'trc' => 'Transcriber',
|
255
|
+
'trl' => 'Translator',
|
256
|
+
'tyd' => 'Type designer',
|
257
|
+
'tyg' => 'Typographer',
|
258
|
+
'uvp' => 'University place',
|
259
|
+
'vdg' => 'Videographer',
|
260
|
+
'voc' => 'Vocalist',
|
261
|
+
'wac' => 'Writer of added commentary',
|
262
|
+
'wal' => 'Writer of added lyrics',
|
263
|
+
'wam' => 'Writer of accompanying material',
|
264
|
+
'wat' => 'Writer of added text',
|
265
|
+
'wdc' => 'Woodcutter',
|
266
|
+
'wde' => 'Wood engraver',
|
267
|
+
'wit' => 'Witness' }
|
268
|
+
end
|
267
269
|
end
|
268
|
-
end
|
270
|
+
end
|