Class: Writexlsx::Package::XMLWriterSimple

Inherits:
Object
  • Object
show all
Defined in:
lib/write_xlsx/package/xml_writer_simple.rb

Instance Method Summary collapse

Constructor Details

#initializeXMLWriterSimple

Returns a new instance of XMLWriterSimple.



10
11
12
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 10

def initialize
  @io = StringIO.new
end

Instance Method Details

#characters(data) ⇒ Object



69
70
71
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 69

def characters(data)
  io_write(escape_data(data))
end

#closeObject



77
78
79
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 77

def close
  @io.close
end

#crlfObject



73
74
75
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 73

def crlf
  io_write("\n")
end

#data_element(tag, data, attr = []) ⇒ Object



51
52
53
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 51

def data_element(tag, data, attr = [])
  tag_elements(tag, attr) { io_write("#{escape_data(data)}") }
end

#empty_tag(tag, attr = []) ⇒ Object



41
42
43
44
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 41

def empty_tag(tag, attr = [])
  str = "<#{tag}#{key_vals(attr)}/>"
  io_write(str)
end

#empty_tag_encoded(tag, attr = []) ⇒ Object



46
47
48
49
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 46

def empty_tag_encoded(tag, attr = [])
  str = "<#{tag}#{key_vals(attr)}/>"
  io_write(str)
end

#end_tag(tag) ⇒ Object



36
37
38
39
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 36

def end_tag(tag)
  str = "</#{tag}>"
  io_write(str)
end

#io_write(str) ⇒ Object



85
86
87
88
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 85

def io_write(str)
  @io << str
  str
end

#set_xml_writer(filename = nil) ⇒ Object



14
15
16
17
18
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 14

def set_xml_writer(filename = nil)
  fh = File.open(filename, "wb")

  @io = fh
end

#si_element(data, attr) ⇒ Object

Optimised tag writer ? for shared strings <si> elements.



58
59
60
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 58

def si_element(data, attr)
  tag_elements('si') { data_element('t', data, attr) }
end

#si_rich_element(data) ⇒ Object

Optimised tag writer for shared strings <si> rich string elements.



65
66
67
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 65

def si_rich_element(data)
  io_write("<si>#{data}</si>")
end

#start_tag(tag, attr = []) ⇒ Object



31
32
33
34
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 31

def start_tag(tag, attr = [])
  str = "<#{tag}#{key_vals(attr)}>"
  io_write(str)
end

#stringObject



81
82
83
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 81

def string
  @io.string
end

#tag_elements(tag, attributes = []) ⇒ Object



25
26
27
28
29
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 25

def tag_elements(tag, attributes = [])
  start_tag(tag, attributes)
  yield
  end_tag(tag)
end

#xml_decl(encoding = 'UTF-8', standalone = true) ⇒ Object



20
21
22
23
# File 'lib/write_xlsx/package/xml_writer_simple.rb', line 20

def xml_decl(encoding = 'UTF-8', standalone = true)
  str = %Q!<?xml version="1.0" encoding="#{encoding}" standalone="#{standalone ? 'yes' : 'no'}"?>\n!
  io_write(str)
end