Class: OpenSRS::XmlProcessor::Nokogiri
Overview
Class Method Summary
collapse
build_element, decode_data, encode_data, encode_dt_array, encode_dt_assoc, parse
Class Method Details
.build(data) ⇒ Object
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/opensrs/xml_processor/nokogiri.rb', line 12
def self.build(data)
builder = ::Nokogiri::XML::Builder.new
envelope = ::Nokogiri::XML::Node.new('OPS_envelope', builder.doc)
= ::Nokogiri::XML::Node.new('header', builder.doc)
version = ::Nokogiri::XML::Node.new('version', builder.doc)
body = ::Nokogiri::XML::Node.new('body', builder.doc)
data_block = ::Nokogiri::XML::Node.new('data_block', builder.doc)
other_data = encode_data(data, builder.doc)
version << '0.9'
<< version
envelope <<
builder.doc << envelope
data_block << other_data
body << data_block
envelope << body
OpenSRS::SanitizableString.new(builder.to_xml, sanitize(builder.to_xml))
end
|
.data_block_element(response) ⇒ Object
44
45
46
47
|
# File 'lib/opensrs/xml_processor/nokogiri.rb', line 44
def self.data_block_element(response)
doc = ::Nokogiri::XML(response)
doc.xpath('//OPS_envelope/body/data_block/*')
end
|
.decode_dt_array_data(element) ⇒ Object
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/opensrs/xml_processor/nokogiri.rb', line 49
def self.decode_dt_array_data(element)
dt_array = []
element.children.each do |item|
next if item.content.strip.empty?
dt_array[item.attributes['key'].value.to_i] = decode_data(item.children)
end
dt_array
end
|
.decode_dt_assoc_data(element) ⇒ Object
61
62
63
64
65
66
67
68
69
70
71
|
# File 'lib/opensrs/xml_processor/nokogiri.rb', line 61
def self.decode_dt_assoc_data(element)
dt_assoc = {}
element.children.each do |item|
next if item.content.strip.empty?
dt_assoc[item.attributes['key'].value] = decode_data(item.children)
end
dt_assoc
end
|
.new_element(element_name, container) ⇒ Object
73
74
75
|
# File 'lib/opensrs/xml_processor/nokogiri.rb', line 73
def self.new_element(element_name, container)
::Nokogiri::XML::Node.new(element_name.to_s, container.document)
end
|