class ExtractRelationships
Attributes
input[RW]
output[RW]
Public Class Methods
extract(*args)
click to toggle source
# File src/extract/extract_relationships.rb, line 7 def self.extract(*args) self.new.extract(*args) end
Public Instance Methods
attr(name, value)
click to toggle source
# File src/extract/extract_relationships.rb, line 23 def attr(name, value) return unless @state == :in_relationship case name when :Id @id = value when :Target @target = value end end
end_element(name)
click to toggle source
# File src/extract/extract_relationships.rb, line 33 def end_element(name) return unless @state == :in_relationship return unless name == :Relationship @output[@id] = @target @state = :not_in_relationship @id, @target = nil, nil end
extract(input_xml)
click to toggle source
# File src/extract/extract_relationships.rb, line 11 def extract(input_xml) @input, @output = input, {} @state = :not_in_relationship Ox.sax_parse(self, input_xml, :convert_special => true) output end
start_element(name)
click to toggle source
# File src/extract/extract_relationships.rb, line 18 def start_element(name) return false unless name == :Relationship @state = :in_relationship end