Class: AXML

Inherits:
Object
  • Object
show all
Defined in:
lib/axml.rb

Defined Under Namespace

Classes: El, XMLParser

Constant Summary collapse

NotBlankText_re =
/[^\s+]+/m

Class Method Summary collapse

Class Method Details

.parse(stream, opts = {:keep_blanks => false}) ⇒ Object

Returns the root node (as Element) or nodes (as Array) options:

:keep_blanks => *true | false


16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/axml.rb', line 16

def self.parse(stream, opts={:keep_blanks => false})
  parser = AXML::XMLParser.new
  if opts[:keep_blanks] == false
    parser.set_no_keep_blanks
  end
  if ti = opts[:text_indices]
    if ti.is_a?(Array) && ti.size > 1
      raise NotImplementedError, "currently only supports a single element"
    else
      ti = 
        if ti.is_a?(Array)
          ti.first.to_s
        else
          ti.to_s
        end
      parser.set_single_text_indices(ti)
    end
  end
  parser.parse(stream)
  parser.root
end

.parse_file(file) ⇒ Object



7
8
9
10
11
# File 'lib/axml.rb', line 7

def self.parse_file(file)
  root = nil
  File.open(file) {|fh| root = parse(fh) }
  root
end