adiwg-mdtranslator 2.20.0.pre.beta.5 → 2.20.0.pre.beta.8
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/Gemfile.lock +5 -5
- data/adiwg-mdtranslator.gemspec +2 -2
- data/lib/adiwg/mdtranslator/readers/fgdc/modules/module_dataQuality.rb +27 -37
- data/lib/adiwg/mdtranslator/readers/mdJson/modules/module_dataDictionary.rb +8 -0
- data/lib/adiwg/mdtranslator/version.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_dataQuality.rb +133 -185
- data/lib/adiwg/mdtranslator/writers/fgdc/classes/class_spatialDomain.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_enumerationList.rb +52 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_extension.rb +208 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_mdMetadata.rb +27 -0
- data/lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_timePeriod.rb +2 -6
- data/lib/adiwg/mdtranslator/writers/mdJson/sections/mdJson_dictionary.rb +1 -0
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_allocation.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_citation.rb +8 -8
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_dataQualityReport.rb +3 -3
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_geographicExtent.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_lineage.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_maintenance.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_medium.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_metadataInfo.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_releasability.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_resourceInfo.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_responsibility.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_spatialRepresentation.rb +4 -4
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_taxonomy.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timeInstant.rb +1 -1
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_timePeriod.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_transferOption.rb +2 -2
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_usage.rb +5 -5
- data/lib/adiwg/mdtranslator/writers/simple_html/sections/html_vectorRepresentation.rb +2 -2
- metadata +8 -6
@@ -0,0 +1,208 @@
|
|
1
|
+
# ISO <<Class>> MD_MetadataExtensionInformation
|
2
|
+
# 19115-2 writer output in XML
|
3
|
+
|
4
|
+
# History:
|
5
|
+
# Stan Smith 2019-03-22 replaced Enumeration class with method
|
6
|
+
# Stan Smith 2018-04-09 add error and warning messaging
|
7
|
+
# Stan Smith 2015-07-14 refactored to eliminate namespace globals $WriterNS and $IsoNS
|
8
|
+
# Stan Smith 2015-07-14 refactored to make iso19110 independent of iso19115_2 classes
|
9
|
+
# Stan Smith 2015-06-22 replace global ($response) with passed in object (hResponseObj)
|
10
|
+
# Stan Smith 2015-06-11 change all codelists to use 'class_codelist' method
|
11
|
+
# Stan Smith 2014-12-12 refactored to handle namespacing readers and writers
|
12
|
+
# Stan Smith 2014-07-08 modify require statements to function in RubyGem structure
|
13
|
+
# Stan Smith 2013-11-22 original script.
|
14
|
+
|
15
|
+
require 'adiwg/mdtranslator/internal/module_codelistFun'
|
16
|
+
require_relative '../iso19115_3_writer'
|
17
|
+
require_relative 'class_codelist'
|
18
|
+
require_relative 'class_enumerationList'
|
19
|
+
require_relative 'class_onlineResource'
|
20
|
+
|
21
|
+
module ADIWG
|
22
|
+
module Mdtranslator
|
23
|
+
module Writers
|
24
|
+
module Iso19115_3
|
25
|
+
|
26
|
+
class MD_MetadataExtensionInformation
|
27
|
+
|
28
|
+
def initialize(xml, hResponseObj)
|
29
|
+
@xml = xml
|
30
|
+
@hResponseObj = hResponseObj
|
31
|
+
@NameSpace = ADIWG::Mdtranslator::Writers::Iso19115_3
|
32
|
+
end
|
33
|
+
|
34
|
+
def writeXML(hExtension)
|
35
|
+
|
36
|
+
# classes used
|
37
|
+
codelistClass = MD_Codelist.new(@xml, @hResponseObj)
|
38
|
+
olResClass = CI_OnlineResource.new(@xml, @hResponseObj)
|
39
|
+
|
40
|
+
outContext = 'extension information'
|
41
|
+
outContext = 'extension name ' + hExtension[:name] unless hExtension[:name].nil?
|
42
|
+
|
43
|
+
@xml.tag!('gmd:MD_MetadataExtensionInformation') do
|
44
|
+
|
45
|
+
# metadata extension - online resource {CI_OnLineResource}
|
46
|
+
hOLResource = hExtension[:onLineResource]
|
47
|
+
unless hOLResource.empty?
|
48
|
+
@xml.tag!('gmd:extensionOnLineResource') do
|
49
|
+
olResClass.writeXML(hOLResource, outContext)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
if hOLResource.empty? && @hResponseObj[:writerShowTags]
|
53
|
+
@xml.tag!('gmd:extensionOnLineResource')
|
54
|
+
end
|
55
|
+
|
56
|
+
# metadata extension = extended element information
|
57
|
+
@xml.tag!('gmd:extendedElementInformation') do
|
58
|
+
@xml.tag!('gmd:MD_ExtendedElementInformation') do
|
59
|
+
|
60
|
+
# extended element info - name (required)
|
61
|
+
s = hExtension[:name]
|
62
|
+
unless s.nil?
|
63
|
+
@xml.tag!('gmd:name') do
|
64
|
+
@xml.tag!('gco:CharacterString', s)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
if s.nil?
|
68
|
+
@NameSpace.issueWarning(100, 'gmd:name')
|
69
|
+
end
|
70
|
+
|
71
|
+
# extended element info - short name
|
72
|
+
s = hExtension[:shortName]
|
73
|
+
unless s.nil?
|
74
|
+
@xml.tag!('gmd:shortName') do
|
75
|
+
@xml.tag!('gco:CharacterString', s)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
if s.nil? && @hResponseObj[:writerShowTags]
|
79
|
+
@xml.tag!('gmd:shortName')
|
80
|
+
end
|
81
|
+
|
82
|
+
# extended element info - definition (required)
|
83
|
+
s = hExtension[:definition]
|
84
|
+
unless s.nil?
|
85
|
+
@xml.tag!('gmd:definition') do
|
86
|
+
@xml.tag!('gco:CharacterString', s)
|
87
|
+
end
|
88
|
+
end
|
89
|
+
if s.nil?
|
90
|
+
@NameSpace.issueWarning(101, 'gmd:definition', outContext)
|
91
|
+
end
|
92
|
+
|
93
|
+
# extended element info - obligation {MD_ObligationCode}
|
94
|
+
obligation = hExtension[:obligation]
|
95
|
+
unless obligation.nil?
|
96
|
+
if CodelistFun.validateItem('iso_obligation', obligation)
|
97
|
+
@xml.tag!('gmd:obligation') do
|
98
|
+
@xml.tag!('gmd:MD_ObligationCode', obligation)
|
99
|
+
end
|
100
|
+
else
|
101
|
+
@NameSpace.issueWarning(380, 'gmd:obligation', "#{obligation}")
|
102
|
+
end
|
103
|
+
end
|
104
|
+
if obligation.nil? && @hResponseObj[:writerShowTags]
|
105
|
+
@xml.tag!('gmd:obligation')
|
106
|
+
end
|
107
|
+
|
108
|
+
# extended element info - data type (required)
|
109
|
+
s = hExtension[:dataType]
|
110
|
+
unless s.nil?
|
111
|
+
@xml.tag!('gmd:dataType') do
|
112
|
+
codelistClass.writeXML('gmd', 'iso_entityClass', s)
|
113
|
+
end
|
114
|
+
end
|
115
|
+
if s.nil?
|
116
|
+
@NameSpace.issueWarning(102, 'gmd:dataType', outContext)
|
117
|
+
end
|
118
|
+
|
119
|
+
# extended element info - maximum occurrence
|
120
|
+
s = hExtension[:maxOccurrence]
|
121
|
+
unless s.nil?
|
122
|
+
@xml.tag!('gmd:maximumOccurrence') do
|
123
|
+
@xml.tag!('gco:CharacterString', s)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
if s.nil? && @hResponseObj[:writerShowTags]
|
127
|
+
@xml.tag!('gmd:maximumOccurrence')
|
128
|
+
end
|
129
|
+
|
130
|
+
# extended element info - parent entity [] (required)
|
131
|
+
aParents = hExtension[:parentEntities]
|
132
|
+
aParents.each do |parent|
|
133
|
+
@xml.tag!('gmd:parentEntity') do
|
134
|
+
@xml.tag!('gco:CharacterString', parent)
|
135
|
+
end
|
136
|
+
end
|
137
|
+
if aParents.empty?
|
138
|
+
@NameSpace.issueWarning(103, 'gmd:parentEntity', outContext)
|
139
|
+
end
|
140
|
+
|
141
|
+
# extended element info - rule
|
142
|
+
s = hExtension[:rule]
|
143
|
+
unless s.nil?
|
144
|
+
@xml.tag!('gmd:rule') do
|
145
|
+
@xml.tag!('gco:CharacterString', s)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
if s.nil?
|
149
|
+
@NameSpace.issueWarning(104, 'gmd:rule', outContext)
|
150
|
+
end
|
151
|
+
|
152
|
+
# extended element info - rationale []
|
153
|
+
aRations = hExtension[:rationales]
|
154
|
+
aRations.each do |ration|
|
155
|
+
@xml.tag!('gmd:rationale') do
|
156
|
+
@xml.tag!('gco:CharacterString', ration)
|
157
|
+
end
|
158
|
+
end
|
159
|
+
if aRations.empty? && @hResponseObj[:writerShowTags]
|
160
|
+
@xml.tag!('gmd:rationale')
|
161
|
+
end
|
162
|
+
|
163
|
+
# extended element info - source [] (required)
|
164
|
+
# only allowing 1 for now
|
165
|
+
role = hExtension[:sourceRole]
|
166
|
+
unless role.nil?
|
167
|
+
@xml.tag!('gmd:source') do
|
168
|
+
@xml.tag!('gmd:CI_ResponsibleParty') do
|
169
|
+
orgName = hExtension[:sourceOrganization]
|
170
|
+
unless orgName.nil?
|
171
|
+
@xml.tag!('gmd:organisationName') do
|
172
|
+
@xml.tag!('gco:CharacterString', orgName)
|
173
|
+
end
|
174
|
+
end
|
175
|
+
uri = hExtension[:sourceURI]
|
176
|
+
unless uri.nil?
|
177
|
+
@xml.tag!('gmd:contactInfo') do
|
178
|
+
@xml.tag!('gmd:CI_Contact') do
|
179
|
+
@xml.tag!('gmd:onlineResource') do
|
180
|
+
@xml.tag!('gmd:CI_OnlineResource') do
|
181
|
+
@xml.tag!('gmd:linkage') do
|
182
|
+
@xml.tag!('gmd:URL', uri)
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
end
|
187
|
+
end
|
188
|
+
end
|
189
|
+
@xml.tag!('gmd:role') do
|
190
|
+
codelistClass.writeXML('gmd', 'iso_role', role)
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
end
|
195
|
+
if role.nil?
|
196
|
+
@NameSpace.issueWarning(105, 'gmd:source', outContext)
|
197
|
+
end
|
198
|
+
|
199
|
+
end # gmd:MD_ExtendedElementInformation tag
|
200
|
+
end # gmd:extendedElementInformation
|
201
|
+
end # gmd:MD_MetadataExtensionInformation
|
202
|
+
end # writeXML
|
203
|
+
end # MD_MetadataExtensionInformation class
|
204
|
+
|
205
|
+
end
|
206
|
+
end
|
207
|
+
end
|
208
|
+
end
|
@@ -26,6 +26,7 @@ require_relative 'class_maintenance'
|
|
26
26
|
require_relative 'class_spatialRepresentation'
|
27
27
|
require_relative 'class_referenceSystem'
|
28
28
|
require_relative 'class_featureCatalog'
|
29
|
+
require_relative 'class_extension'
|
29
30
|
|
30
31
|
module ADIWG
|
31
32
|
module Mdtranslator
|
@@ -62,6 +63,7 @@ module ADIWG
|
|
62
63
|
representationClass = SpatialRepresentation.new(@xml, @hResponseObj)
|
63
64
|
referenceSystemClass = MD_ReferenceSystem.new(@xml, @hResponseObj)
|
64
65
|
mdCatalogClass = MD_FeatureCatalogue.new(@xml, @hResponseObj)
|
66
|
+
extensionClass = MD_MetadataExtensionInformation.new(@xml, @hResponseObj)
|
65
67
|
|
66
68
|
# create shortcuts to sections of internal object
|
67
69
|
hMetadata = intObj[:metadata]
|
@@ -291,6 +293,31 @@ module ADIWG
|
|
291
293
|
@xml.tag!('mdb:referenceSystemInfo')
|
292
294
|
end
|
293
295
|
|
296
|
+
taxonomyArray = hResInfo[:taxonomy]
|
297
|
+
unless taxonomyArray.empty?
|
298
|
+
# metadata information - metadata extension info
|
299
|
+
# add biological profile to all metadata records
|
300
|
+
intBio = intMetadataClass.newMetadataExtension
|
301
|
+
intBio[:name] = 'Taxonomy System'
|
302
|
+
intBio[:shortName] = 'TaxonSys'
|
303
|
+
intBio[:definition] = 'Documentation of taxonomic sources, procedures, and treatments'
|
304
|
+
intBio[:obligation] = 'optional'
|
305
|
+
intBio[:dataType] = 'class'
|
306
|
+
intBio[:maxOccurrence] = '1'
|
307
|
+
intBio[:parentEntities] << 'MD_Identification'
|
308
|
+
intBio[:rule] = 'New Metadata section as a class to MD_Identification'
|
309
|
+
intBio[:rationales] << 'The set of data elements contained within this class element ' +
|
310
|
+
'represents an attempt to provide better documentation of ' +
|
311
|
+
'taxonomic sources, procedures, and treatments.'
|
312
|
+
intBio[:sourceOrganization] = 'National Biological Information Infrastructure'
|
313
|
+
intBio[:sourceURI] = 'https://www2.usgs.gov/core_science_systems/Access/p1111-1.html'
|
314
|
+
intBio[:sourceRole] = 'author'
|
315
|
+
|
316
|
+
@xml.tag!('gmd:metadataExtensionInfo') do
|
317
|
+
extensionClass.writeXML(intBio)
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
294
321
|
# ###################### Begin Data Identification #####################
|
295
322
|
|
296
323
|
# metadata information - data identification info - required
|
@@ -65,9 +65,7 @@ module ADIWG
|
|
65
65
|
# if empty add indeterminatePosition="unknown"
|
66
66
|
unless hPeriod[:startDateTime].empty?
|
67
67
|
hDateTime = hPeriod[:startDateTime]
|
68
|
-
|
69
|
-
timeResolution = hDateTime[:dateResolution]
|
70
|
-
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
|
68
|
+
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDateTime)
|
71
69
|
@xml.tag!('gml:beginPosition', dateStr)
|
72
70
|
end
|
73
71
|
if hPeriod[:startDateTime].empty?
|
@@ -79,9 +77,7 @@ module ADIWG
|
|
79
77
|
# if empty add indeterminatePosition="unknown"
|
80
78
|
unless hPeriod[:endDateTime].empty?
|
81
79
|
hDateTime = hPeriod[:endDateTime]
|
82
|
-
|
83
|
-
timeResolution = hDateTime[:dateResolution]
|
84
|
-
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateTime(dateTime, timeResolution)
|
80
|
+
dateStr = AdiwgDateTimeFun.stringDateTimeFromDateObject(hDateTime)
|
85
81
|
@xml.tag!('gml:endPosition', dateStr)
|
86
82
|
end
|
87
83
|
if hPeriod[:endDateTime].empty?
|
@@ -24,6 +24,7 @@ module ADIWG
|
|
24
24
|
def self.build(hDictionary)
|
25
25
|
|
26
26
|
Jbuilder.new do |json|
|
27
|
+
json.dictionaryId hDictionary[:dictionaryId] unless hDictionary[:dictionaryId].empty?
|
27
28
|
json.citation Citation.build(hDictionary[:citation]) unless hDictionary[:citation].empty?
|
28
29
|
json.description hDictionary[:description]
|
29
30
|
json.subject hDictionary[:subjects] unless hDictionary[:subjects].empty?
|
@@ -90,7 +90,7 @@ module ADIWG
|
|
90
90
|
# allocation - online resource [] {onlineResource}
|
91
91
|
hAllocation[:onlineResources].each do |hOnline|
|
92
92
|
@html.div do
|
93
|
-
@html.
|
93
|
+
@html.h5('Online Resource', {'class' => 'h5'})
|
94
94
|
@html.div(:class => 'block') do
|
95
95
|
onlineClass.writeHtml(hOnline)
|
96
96
|
end
|
@@ -147,14 +147,14 @@ module ADIWG
|
|
147
147
|
end
|
148
148
|
end
|
149
149
|
|
150
|
-
# citation - other
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
150
|
+
# citation - other details []
|
151
|
+
unless hCitation[:otherDetails].empty?
|
152
|
+
hCitation[:otherDetails].each do |detail|
|
153
|
+
@html.em('Other Details: ')
|
154
|
+
@html.text!(detail)
|
155
|
+
@html.br
|
156
|
+
end
|
157
|
+
end
|
158
158
|
|
159
159
|
end # writeHtml
|
160
160
|
end # Html_Citation
|
@@ -262,7 +262,7 @@ module ADIWG
|
|
262
262
|
# ResultContentDescription
|
263
263
|
unless result[:resultContentDescription].empty?
|
264
264
|
@html.div do
|
265
|
-
@html.
|
265
|
+
@html.h5('Result Content Description', {'class' => 'h5'})
|
266
266
|
@html.div(:class => 'block') do
|
267
267
|
coverageInfoClass.writeHtml(result[:resultContentDescription])
|
268
268
|
end
|
@@ -272,7 +272,7 @@ module ADIWG
|
|
272
272
|
# ResourceFormat
|
273
273
|
unless result[:resourceFormat].empty?
|
274
274
|
@html.div do
|
275
|
-
@html.
|
275
|
+
@html.h5('Resource Format', {'class' => 'h5'})
|
276
276
|
@html.div(:class => 'block') do
|
277
277
|
formatClass.writeHtml(result[:resourceFormat])
|
278
278
|
end
|
@@ -282,7 +282,7 @@ module ADIWG
|
|
282
282
|
# ResultFile
|
283
283
|
unless result[:resultFile].empty?
|
284
284
|
@html.div do
|
285
|
-
@html.
|
285
|
+
@html.h5('Result File', {'class' => 'h5'})
|
286
286
|
@html.div(:class => 'block') do
|
287
287
|
resultFileClass.writeHtml(result[:resultFile])
|
288
288
|
end
|
@@ -82,7 +82,7 @@ module ADIWG
|
|
82
82
|
# geographic extent - identifier {identifier}
|
83
83
|
unless hExtent[:identifier].empty?
|
84
84
|
@html.div do
|
85
|
-
@html.
|
85
|
+
@html.h5('Identifier', 'class' => 'h5')
|
86
86
|
@html.div(:class => 'block') do
|
87
87
|
identifierClass.writeHtml(hExtent[:identifier])
|
88
88
|
end
|
@@ -41,7 +41,7 @@ module ADIWG
|
|
41
41
|
# lineage - scope
|
42
42
|
unless hLineage[:resourceScope].empty?
|
43
43
|
@html.div do
|
44
|
-
@html.
|
44
|
+
@html.h5('Scope', {'class' => 'h5'})
|
45
45
|
@html.div(:class => 'block') do
|
46
46
|
scopeClass.writeHtml(hLineage[:resourceScope])
|
47
47
|
end
|
@@ -51,7 +51,7 @@ module ADIWG
|
|
51
51
|
# lineage - citation
|
52
52
|
hLineage[:lineageCitation].each do |hCitation|
|
53
53
|
@html.div do
|
54
|
-
@html.
|
54
|
+
@html.h5('Citation', {'class' => 'h5'})
|
55
55
|
@html.div(:class => 'block') do
|
56
56
|
citationClass.writeHtml(hCitation)
|
57
57
|
end
|
@@ -61,7 +61,7 @@ module ADIWG
|
|
61
61
|
# lineage - data sources
|
62
62
|
hLineage[:dataSources].each do |hsource|
|
63
63
|
@html.div do
|
64
|
-
@html.
|
64
|
+
@html.h5('Data Source', {'class' => 'h5'})
|
65
65
|
@html.div(:class => 'block') do
|
66
66
|
sourceClass.writeHtml(hsource)
|
67
67
|
end
|
@@ -71,7 +71,7 @@ module ADIWG
|
|
71
71
|
# lineage - process steps
|
72
72
|
hLineage[:processSteps].each do |hStep|
|
73
73
|
@html.div do
|
74
|
-
@html.
|
74
|
+
@html.h5('Process Step', {'class' => 'h5'})
|
75
75
|
@html.div(:class => 'block') do
|
76
76
|
stepClass.writeHtml(hStep)
|
77
77
|
end
|
@@ -47,11 +47,11 @@ module ADIWG
|
|
47
47
|
# maintenance - scopes [] {scope}
|
48
48
|
unless hMaint[:scopes].empty?
|
49
49
|
@html.div do
|
50
|
-
@html.
|
50
|
+
@html.h5('Maintenance Scopes', {'class' => 'h5'})
|
51
51
|
@html.div(:class => 'block') do
|
52
52
|
hMaint[:scopes].each do |hScope|
|
53
53
|
@html.div do
|
54
|
-
@html.
|
54
|
+
@html.h5(hScope[:scopeCode], 'class' => 'h5')
|
55
55
|
@html.div(:class => 'block') do
|
56
56
|
scopeClass.writeHtml(hScope)
|
57
57
|
end
|
@@ -64,11 +64,11 @@ module ADIWG
|
|
64
64
|
# maintenance - contacts [] {responsibility}
|
65
65
|
unless hMaint[:contacts].empty?
|
66
66
|
@html.div do
|
67
|
-
@html.
|
67
|
+
@html.h5('Maintenance Contacts', {'class' => 'h5'})
|
68
68
|
@html.div(:class => 'block') do
|
69
69
|
hMaint[:contacts].each do |hContact|
|
70
70
|
@html.div do
|
71
|
-
@html.
|
71
|
+
@html.h5(hContact[:roleName], 'class' => 'h5')
|
72
72
|
@html.div(:class => 'block') do
|
73
73
|
responsibilityClass.writeHtml(hContact)
|
74
74
|
end
|
@@ -29,7 +29,7 @@ module ADIWG
|
|
29
29
|
# medium - specification {citation}
|
30
30
|
unless hMedium[:mediumSpecification].empty?
|
31
31
|
@html.div do
|
32
|
-
@html.
|
32
|
+
@html.h5('Medium Specification', {'class' => 'h5'})
|
33
33
|
@html.div(:class => 'block') do
|
34
34
|
citationClass.writeHtml(hMedium[:mediumSpecification])
|
35
35
|
end
|
@@ -74,7 +74,7 @@ module ADIWG
|
|
74
74
|
# medium - identifier {identifier}
|
75
75
|
unless hMedium[:identifier].empty?
|
76
76
|
@html.div do
|
77
|
-
@html.
|
77
|
+
@html.h5('Identifier for the Medium', {'class' => 'h5'})
|
78
78
|
@html.div(:class => 'block') do
|
79
79
|
identifierClass.writeHtml(hMedium[:identifier])
|
80
80
|
end
|
@@ -76,7 +76,7 @@ module ADIWG
|
|
76
76
|
# default metadata locales {locale}
|
77
77
|
unless hMetaInfo[:defaultMetadataLocale].empty?
|
78
78
|
@html.div do
|
79
|
-
@html.
|
79
|
+
@html.h5('Default Locale', {'class' => 'h5'})
|
80
80
|
@html.div(:class => 'block') do
|
81
81
|
localeClass.writeHtml(hMetaInfo[:defaultMetadataLocale])
|
82
82
|
end
|
@@ -86,7 +86,7 @@ module ADIWG
|
|
86
86
|
# other metadata locales [] {locale}
|
87
87
|
hMetaInfo[:otherMetadataLocales].each do |hLocale|
|
88
88
|
@html.div do
|
89
|
-
@html.
|
89
|
+
@html.h5('Other Locale', {'class' => 'h5'})
|
90
90
|
@html.div(:class => 'block') do
|
91
91
|
localeClass.writeHtml(hLocale)
|
92
92
|
end
|
@@ -104,7 +104,7 @@ module ADIWG
|
|
104
104
|
@html.div(:class => 'block') do
|
105
105
|
hMetaInfo[:metadataContacts].each do |hResponsibility|
|
106
106
|
@html.div do
|
107
|
-
@html.
|
107
|
+
@html.h5(hResponsibility[:roleName], 'class' => 'h5')
|
108
108
|
@html.div(:class => 'block') do
|
109
109
|
responsibilityClass.writeHtml(hResponsibility)
|
110
110
|
end
|
@@ -179,7 +179,7 @@ module ADIWG
|
|
179
179
|
@html.div(:class => 'block') do
|
180
180
|
hMetaInfo[:alternateMetadataReferences].each do |hCitation|
|
181
181
|
@html.div do
|
182
|
-
@html.
|
182
|
+
@html.h5(hCitation[:title], 'class' => 'h5')
|
183
183
|
@html.div(:class => 'block') do
|
184
184
|
citationClass.writeHtml(hCitation)
|
185
185
|
@html.br
|
@@ -44,7 +44,7 @@ module ADIWG
|
|
44
44
|
@html.div(:class => 'block') do
|
45
45
|
hRelease[:addressee].each do |hAddressee|
|
46
46
|
@html.div do
|
47
|
-
@html.
|
47
|
+
@html.h5(hAddressee[:roleName], 'class' => 'h5')
|
48
48
|
@html.div(:class => 'block') do
|
49
49
|
responsibilityClass.writeHtml(hAddressee)
|
50
50
|
end
|
@@ -154,7 +154,7 @@ module ADIWG
|
|
154
154
|
hResource[:graphicOverviews].each do |hGraphic|
|
155
155
|
counter += 1
|
156
156
|
@html.div do
|
157
|
-
@html.
|
157
|
+
@html.h5('Overview '+counter.to_s, 'class' => 'h5')
|
158
158
|
@html.div(:class => 'block') do
|
159
159
|
graphicClass.writeHtml(hGraphic)
|
160
160
|
end
|
@@ -173,7 +173,7 @@ module ADIWG
|
|
173
173
|
# contacts - responsibility
|
174
174
|
hResource[:pointOfContacts].each do |hContact|
|
175
175
|
@html.div do
|
176
|
-
@html.
|
176
|
+
@html.h5(hContact[:roleName], 'class' => 'h5')
|
177
177
|
@html.div(:class => 'block') do
|
178
178
|
responsibilityClass.writeHtml(hContact)
|
179
179
|
end
|
@@ -183,7 +183,7 @@ module ADIWG
|
|
183
183
|
# contacts - credits
|
184
184
|
unless hResource[:credits].empty?
|
185
185
|
@html.div do
|
186
|
-
@html.
|
186
|
+
@html.h5('Other Credits', 'class' => 'h5')
|
187
187
|
@html.div(:class => 'block') do
|
188
188
|
hResource[:credits].each do |credit|
|
189
189
|
@html.em('Credit: ')
|
@@ -216,7 +216,7 @@ module ADIWG
|
|
216
216
|
unless hResource[:temporalResolutions].empty?
|
217
217
|
hResource[:temporalResolutions].each do |hResolution|
|
218
218
|
@html.div do
|
219
|
-
@html.
|
219
|
+
@html.h5('Resolution', 'class' => 'h5')
|
220
220
|
@html.div(:class => 'block') do
|
221
221
|
durationClass.writeHtml(hResolution)
|
222
222
|
end
|
@@ -347,7 +347,7 @@ module ADIWG
|
|
347
347
|
hResource[:taxonomy].each do |hTaxonomy|
|
348
348
|
counter += 1
|
349
349
|
@html.div do
|
350
|
-
@html.
|
350
|
+
@html.h5('Taxonomic Structure '+counter.to_s, 'class' => 'h5')
|
351
351
|
@html.div(:class => 'block') do
|
352
352
|
taxonomyClass.writeHtml(hTaxonomy)
|
353
353
|
end
|
@@ -27,7 +27,7 @@ module ADIWG
|
|
27
27
|
hResponsibility[:parties].each do |hParty|
|
28
28
|
hContact = Html_Document.getContact(hParty[:contactId])
|
29
29
|
@html.div do
|
30
|
-
@html.
|
30
|
+
@html.h5(hContact[:name], 'class' => 'h5')
|
31
31
|
@html.div(:class => 'block') do
|
32
32
|
|
33
33
|
# party - contact ID
|
@@ -31,7 +31,7 @@ module ADIWG
|
|
31
31
|
# spatial Representation - grid {gridRepresentation}
|
32
32
|
unless hRepresentation[:gridRepresentation].empty?
|
33
33
|
@html.div do
|
34
|
-
@html.
|
34
|
+
@html.h5('Grid Representation ', 'class' => 'h5')
|
35
35
|
@html.div(:class => 'block') do
|
36
36
|
gridClass.writeHtml(hRepresentation[:gridRepresentation])
|
37
37
|
end
|
@@ -41,7 +41,7 @@ module ADIWG
|
|
41
41
|
# spatial Representation - vector {vectorRepresentation}
|
42
42
|
unless hRepresentation[:vectorRepresentation].empty?
|
43
43
|
@html.div do
|
44
|
-
@html.
|
44
|
+
@html.h5('Vector Representation ', 'class' => 'h5')
|
45
45
|
@html.div(:class => 'block') do
|
46
46
|
vectorClass.writeHtml(hRepresentation[:vectorRepresentation])
|
47
47
|
end
|
@@ -51,7 +51,7 @@ module ADIWG
|
|
51
51
|
# spatial Representation - georectified {georectifiedRepresentation}
|
52
52
|
unless hRepresentation[:georectifiedRepresentation].empty?
|
53
53
|
@html.div do
|
54
|
-
@html.
|
54
|
+
@html.h5('Georectified Representation ', 'class' => 'h5')
|
55
55
|
@html.div(:class => 'block') do
|
56
56
|
georectifiedClass.writeHtml(hRepresentation[:georectifiedRepresentation])
|
57
57
|
end
|
@@ -61,7 +61,7 @@ module ADIWG
|
|
61
61
|
# spatial Representation - georeferenceable {georeferenceableRepresentation}
|
62
62
|
unless hRepresentation[:georeferenceableRepresentation].empty?
|
63
63
|
@html.div do
|
64
|
-
@html.
|
64
|
+
@html.h5('Georeferenceable Representation ', 'class' => 'h5')
|
65
65
|
@html.div(:class => 'block') do
|
66
66
|
georeferenceableClass.writeHtml(hRepresentation[:georeferenceableRepresentation])
|
67
67
|
end
|
@@ -106,7 +106,7 @@ module ADIWG
|
|
106
106
|
@html.div(:class => 'block') do
|
107
107
|
hTaxonomy[:observers].each do |hObserver|
|
108
108
|
@html.div do
|
109
|
-
@html.
|
109
|
+
@html.h5(hObserver[:roleName], 'class' => 'h5')
|
110
110
|
@html.div(:class => 'block') do
|
111
111
|
responsibilityClass.writeHtml(hObserver)
|
112
112
|
end
|
@@ -66,7 +66,7 @@ module ADIWG
|
|
66
66
|
# time instant - identifier {identifier}
|
67
67
|
unless hInstant[:identifier].empty?
|
68
68
|
@html.div do
|
69
|
-
@html.
|
69
|
+
@html.h5('Identifier', 'class' => 'h5')
|
70
70
|
@html.div(:class => 'block') do
|
71
71
|
identifierClass.writeHtml(hInstant[:identifier])
|
72
72
|
end
|