Class: LLT::Review::Treebank::Parser::OxHandler

Inherits:
Ox::Sax
  • Object
show all
Includes:
Helpers::Parsing::Helper, Helper
Defined in:
lib/llt/review/treebank/parser/ox_handler.rb

Instance Method Summary collapse

Methods included from Helper

#namespace

Methods included from Helpers::Parsing::Helper

#initialize, #result

Instance Method Details

#attr(name, value) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/llt/review/treebank/parser/ox_handler.rb', line 39

def attr(name, value)
  case
  when @in_word
    if name == :id
      register_word(value)
    else
      @word.send("#{name}=", value)
    end
  when @in_sentence
    register_sentence(value) if name == :id
  when @in_treebank
    register_language(value) if name == :"xml:lang"
    register_format(value)   if name == :format
  end
end

#end_element(name) ⇒ Object



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

def end_element(name)
  case name
  when :word     then @in_word = false
  when :sentence then @in_sentence = false
  when :annotator then @in_annotator = false
  end

  if @in_annotator
    set_annotator_variable(name, false)
  end
end

#parse(data) ⇒ Object



10
11
12
# File 'lib/llt/review/treebank/parser/ox_handler.rb', line 10

def parse(data)
  Ox.sax_parse(self, data)
end

#start_element(name) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/llt/review/treebank/parser/ox_handler.rb', line 14

def start_element(name)
  case name
  when :word     then @in_word = true
  when :sentence then @in_sentence = true
  when :annotator then @in_annotator = true
  when :treebank then @in_treebank = true
  end

  if @in_annotator
    set_annotator_variable(name, true)
  end
end

#text(value) ⇒ Object



55
56
57
58
59
# File 'lib/llt/review/treebank/parser/ox_handler.rb', line 55

def text(value)
  if @in_annotator
    parse_annotator_values(value)
  end
end