Class: LLT::Review::Treebank::Parser::NokogiriHandler

Inherits:
Nokogiri::XML::SAX::Document
  • Object
show all
Includes:
Helpers::Parsing::Helper, Helpers::Parsing::Helper::ForNokogiri, Helper
Defined in:
lib/llt/review/treebank/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



38
39
40
41
42
# File 'lib/llt/review/treebank/parser/nokogiri_handler.rb', line 38

def characters(string)
  if @in_annotator
    parse_annotator_values(string)
  end
end

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



28
29
30
31
32
33
34
35
36
# File 'lib/llt/review/treebank/parser/nokogiri_handler.rb', line 28

def end_element(name, attrs = [])
  if name == 'annotator'
    @in_annotator = false
  end

  if @in_annotator
    set_annotator_variable(name, false)
  end
end

#parse(data) ⇒ Object



11
12
13
# File 'lib/llt/review/treebank/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
25
26
# File 'lib/llt/review/treebank/parser/nokogiri_handler.rb', line 15

def start_element(name, attrs = [])
  case name
  when 'word'     then register_word(attrs)
  when 'sentence' then register_sentence(first_val(attrs))
  when 'treebank' then register_treebank_attrs(attrs)
  when 'annotator' then @in_annotator = true
  end

  if @in_annotator
    set_annotator_variable(name, true)
  end
end