class OoxmlParser::Numbering
Class for data of Numbering
Attributes
@return [Array, AbstractNumbering] abstract numbering list
@return [Array, NumberingDefinition] numbering definition list
Public Class Methods
Source
# File lib/ooxml_parser/docx_parser/document_structure/numbering.rb, line 14 def initialize(parent: nil) @abstract_numbering_list = [] @numbering_definition_list = [] super end
Calls superclass method
OoxmlParser::OOXMLDocumentObject::new
Public Instance Methods
Source
# File lib/ooxml_parser/docx_parser/document_structure/numbering.rb, line 40 def parse numbering_xml = "#{root_object.unpacked_folder}word/numbering.xml" return nil unless File.exist?(numbering_xml) node = parse_xml(numbering_xml) node.xpath('w:numbering/*').each do |numbering_child_node| case numbering_child_node.name when 'abstractNum' @abstract_numbering_list << AbstractNumbering.new(parent: self).parse(numbering_child_node) when 'num' @numbering_definition_list << NumberingDefinition.new(parent: self).parse(numbering_child_node) end end self end
Parse Numbering
data @return [Numbering] result of parse
Source
# File lib/ooxml_parser/docx_parser/document_structure/numbering.rb, line 23 def properties_by_num_id(num_id) abstract_num_id = nil @numbering_definition_list.each do |num_def| next unless num_id == num_def.id abstract_num_id = num_def.abstract_numbering_id.value break end return nil if abstract_num_id.nil? @abstract_numbering_list.each do |abstract_num_item| return abstract_num_item if abstract_num_id == abstract_num_item.id end end
Get properties by number id @param num_id [Integer] index of number id @return [nil, AbstractNumbering] result of search