class Plaintext::ZippedXmlHandler
Handler base class for XML based (MS / Open / Libre) office documents.
Public Instance Methods
text(file, options = {})
click to toggle source
# File lib/plaintext/file_handler/zipped_xml_handler.rb, line 53 def text(file, options = {}) max_size = options[:max_size] Zip::File.open(file) do |zip_file| zip_file.each do |entry| if entry.name == @file_name return xml_to_text entry.get_input_stream, max_size end end end end
Private Instance Methods
xml_to_text(io, max_size)
click to toggle source
# File lib/plaintext/file_handler/zipped_xml_handler.rb, line 66 def xml_to_text(io, max_size) sax_doc = SaxDocument.new @element, @namespace_uri, max_size Nokogiri::XML::SAX::Parser.new(sax_doc).parse(io) text = sax_doc.text max_size.present? ? text[0, max_size] : text end