class OoxmlParser::Styles

Class for parsing ‘styles.xml` file

Attributes

document_defaults[RW]

@return [DocumentDefaults] defaults of document

styles[R]

@return [Array<DocumentStyle>] array of document styles

Public Class Methods

new(parent: nil) click to toggle source
Calls superclass method OoxmlParser::OOXMLDocumentObject::new
# File lib/ooxml_parser/docx_parser/document_structure/styles.rb, line 12
def initialize(parent: nil)
  @styles = []
  super
end

Public Instance Methods

default_style(type) click to toggle source

@param [Symbol] type of style to get @return [DocumentStyle] default document style

# File lib/ooxml_parser/docx_parser/document_structure/styles.rb, line 34
def default_style(type)
  styles.find { |style| style.type == type && style.default }
end
parse() click to toggle source

Parse styles data @return [Styles] result of parsing

# File lib/ooxml_parser/docx_parser/document_structure/styles.rb, line 19
def parse
  doc = parse_xml("#{root_object.unpacked_folder}word/styles.xml")
  doc.xpath('w:styles/*').each do |node_child|
    case node_child.name
    when 'docDefaults'
      @document_defaults = DocumentDefaults.new(parent: self).parse(node_child)
    when 'style'
      @styles << DocumentStyle.new(parent: self).parse(node_child)
    end
  end
  self
end