class OoxmlParser::XlsxHeaderFooter

Class for parsing <headerFooter> tag

Attributes

align_with_margins[R]

@return [Symbol] Specifies whether to align header with margins

different_first[R]

@return [Symbol] Specifies whether first header is different

different_odd_even[R]

@return [Symbol] Specifies whether odd and even headers are different

even_header[R]

@return [String] even header

first_header[R]

@return [String] first header

odd_header[R]

@return [String] odd header

scale_with_document[R]

@return [Symbol] Specifies whether to scale header with document

Public Instance Methods

parse(node) click to toggle source

Parse Header Footer data @param node [Nokogiri::XML:Element] node to parse @return [XlsxHeaderFooter] result of parsing

# File lib/ooxml_parser/xlsx_parser/xlsx_data/view_model/workbook/worksheet/xlsx_header_footer.rb, line 31
def parse(node)
  node.attributes.each do |key, value|
    case key
    when 'alignWithMargins'
      @align_with_margins = attribute_enabled?(value)
    when 'differentFirst'
      @different_first = attribute_enabled?(value)
    when 'differentOddEven'
      @different_odd_even = attribute_enabled?(value)
    when 'scaleWithDoc'
      @scale_with_document = attribute_enabled?(value)
    end

    node.xpath('*').each do |node_child|
      case node_child.name
      when 'oddHeader'
        @odd_header = HeaderFooterChild.new(parent: parent, type: odd_header).parse(node_child)
      when 'oddFooter'
        @odd_footer = HeaderFooterChild.new(parent: parent, type: odd_footer).parse(node_child)
      when 'evenHeader'
        @even_header = HeaderFooterChild.new(parent: parent, type: even_header).parse(node_child)
      when 'evenFooter'
        @even_footer = HeaderFooterChild.new(parent: parent, type: even_footer).parse(node_child)
      when 'firstHeader'
        @first_header = HeaderFooterChild.new(parent: parent, type: first_header).parse(node_child)
      when 'firstFooter'
        @first_footer = HeaderFooterChild.new(parent: parent, type: first_footer).parse(node_child)
      end
    end
  end
  self
end