Class: LLT::Review::Alignment::Parser::NokogiriHandler

Inherits:
Nokogiri::XML::SAX::Document
  • Object
show all
Includes:
Helper, Helpers::Parsing::Helper, Helpers::Parsing::Helper::ForNokogiri
Defined in:
lib/llt/review/alignment/parser/nokogiri_handler.rb

Instance Method Summary collapse

Methods included from Helper

#namespace

Methods included from Helpers::Parsing::Helper

#initialize, #result

Instance Method Details

#characters(string) ⇒ Object



30
31
32
# File 'lib/llt/review/alignment/parser/nokogiri_handler.rb', line 30

def characters(string)
  set_text(string)
end

#end_element(name) ⇒ Object



26
27
28
# File 'lib/llt/review/alignment/parser/nokogiri_handler.rb', line 26

def end_element(name)
  @in_text = false if name == 'text'
end

#parse(data) ⇒ Object



11
12
13
# File 'lib/llt/review/alignment/parser/nokogiri_handler.rb', line 11

def parse(data)
  Nokogiri::XML::SAX::Parser.new(self).parse(data)
end

#start_element(name, attrs = []) ⇒ Object



15
16
17
18
19
20
21
22
23
24
# File 'lib/llt/review/alignment/parser/nokogiri_handler.rb', line 15

def start_element(name, attrs = [])
  case name
  when 'w'        then register_word(first_val(attrs))
  when 'text'     then @in_text = true
  when 'refs'     then register_translation(first_val(attrs)) unless @original
  when 'wds'      then set_orig_or_translation(Hash[attrs]['lnum'])
  when 'sentence' then register_sentence(Hash[attrs]['id'])
  when 'language' then set_languages(attrs)
  end
end