module DcmDict::XML::NokogiriTool
Public Class Methods
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 69 def self.create_xml_doc(xml_string) Nokogiri::XML(xml_string) end
Create XML
root object from xml source string xml_string
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 74 def self.each_tr_set(doc, xpath) alltr = doc.xpath(xpath) alltr.each do |tr| trset = tr.xpath('xmlns:td') yield trset if block_given? end end
Calls the given block from doc
once for each ‘table row’ identified by xpath
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 51 def self.extract_data_element_field_from_tr_set(trset) proc = tag_field_extract_proc(trset) TagFieldData.new(proc).data_element_data end
Extract data element data from xml table row using trset
(NodeSet) as source
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 45 def self.extract_data_element_field_from_xml_tr(xml_tr_string) nodeset = extract_nokogiri_nodeset(xml_tr_string) extract_data_element_field_from_tr_set(nodeset) end
Extract data element data from a table row using xml_tr_string
as source string
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 98 def self.extract_nokogiri_nodeset(xml_tr_string) doc = create_xml_doc(xml_tr_string) each_tr_set(doc, '//xmlns:tr') do |tdset| return tdset end end
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 63 def self.extract_uid_field_from_tr_set(trset) proc = uid_field_extract_proc(trset) UidFieldData.new(proc).uid_data end
Extract uid data from a table row using trset
(NodeSet) as source
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 57 def self.extract_uid_field_from_xml_tr(xml_tr_string) nodeset = extract_nokogiri_nodeset(xml_tr_string) extract_uid_field_from_tr_set(nodeset) end
Extract uid data from a table row using xml_tr_string
as source string
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 91 def self.make_nokogiri_proc(node_set, node_set_idx) Proc.new do |key| idx = node_set_idx[key] node_set[idx] ? node_set[idx].content.gsub(/ {2,}/, '') : '' end end
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 83 def self.tag_field_extract_proc(node_set) make_nokogiri_proc(node_set, DataElementNodeSetIdx) end
Source
# File lib/dcm_dict/xml/nokogiri_tool.rb, line 87 def self.uid_field_extract_proc(node_set) make_nokogiri_proc(node_set, UidNodeSetIdx) end