class LLT::Review::Alignment::Parser::NokogiriHandler

Public Instance Methods

characters(string) click to toggle source
# File lib/llt/review/alignment/parser/nokogiri_handler.rb, line 30
def characters(string)
  set_text(string)
end
end_element(name) click to toggle source
# File lib/llt/review/alignment/parser/nokogiri_handler.rb, line 26
def end_element(name)
  @in_text = false if name == 'text'
end
parse(data) click to toggle source
# 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 = []) click to toggle source
# 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

Private Instance Methods

set_languages(attrs) click to toggle source
# File lib/llt/review/alignment/parser/nokogiri_handler.rb, line 36
def set_languages(attrs)
  hsh = Hash[attrs]
  lang = hsh['xml:lang']
  hsh['lnum'] == 'L1' ? @lang1 = lang : @lang2 = lang
end