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
|
# File 'lib/adiwg/mdtranslator/writers/iso19115_3/classes/class_transferOptions.rb', line 23
def writeXML(hOption, inContext = nil)
olResClass = CI_OnlineResource.new(@xml, @hResponseObj)
mediumClass = MD_Medium.new(@xml, @hResponseObj)
formatClass = MD_Format.new(@xml, @hResponseObj)
outContext = 'transfer option'
outContext = inContext + ' transfer option' unless inContext.nil?
@xml.tag!('mrd:MD_DigitalTransferOptions') do
unless hOption[:unitsOfDistribution].nil?
@xml.tag!('mrd:unitsOfDistribution') do
@xml.tag!('gco:CharacterString', hOption[:unitsOfDistribution])
end
end
if hOption[:unitsOfDistribution].nil? && @hResponseObj[:writerShowTags]
@xml.tag!('mrd:unitsOfDistribution')
end
unless hOption[:transferSize].nil?
@xml.tag!('mrd:transferSize') do
@xml.tag!('gco:Real', hOption[:transferSize].to_s)
end
end
if hOption[:transferSize].nil? && @hResponseObj[:writerShowTags]
@xml.tag!('mrd:transferSize')
end
aOnlineOps = hOption[:onlineOptions]
aOnlineOps.each do |hOlOption|
@xml.tag!('mrd:onLine') do
olResClass.writeXML(hOlOption, outContext)
end
end
if aOnlineOps.empty? && @hResponseObj[:writerShowTags]
@xml.tag!('mrd:onLine')
end
aOfflineOps = hOption[:offlineOptions]
aOfflineOps.each do |hOffline|
@xml.tag!('mrd:offLine') do
mediumClass.writeXML(hOffline)
end
end
if aOfflineOps.empty? && @hResponseObj[:writerShowTags]
@xml.tag!('mrd:offLine')
end
hDuration = hOption[:transferFrequency]
unless hDuration.empty?
duration = AdiwgDateTimeFun.writeDuration(hDuration)
@xml.tag!('mrd:transferFrequency') do
@xml.tag!('gco:TM_PeriodDuration', duration)
end
end
if hDuration.empty? && @hResponseObj[:writerShowTags]
@xml.tag!('mrd:transferFrequency')
end
aFormats = hOption[:distributionFormats]
aFormats.each do |hFormat|
@xml.tag!('mrd:distributionFormat') do
formatClass.writeXML(hFormat)
end
end
if aFormats.empty? && @hResponseObj[:writerShowTags]
@xml.tag!('mrd:distributionFormat')
end
end end
|