Parse View3D object
 @param node [Nokogiri::XML:Element] node to parse
 @return [View3D] result of parsing
967064
def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'barChart'
          @bar_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'lineChart'
          @line_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'areaChart'
          @area_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'bubbleChart'
          @bubble_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'doughnutChart'
          @doughnut_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'pieChart'
          @pie_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'scatterChart'
          @scatter_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'radarChart'
          @radar_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'stockChart'
          @stock_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'surface3DChart'
          @surface_3d_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'line3DChart'
          @line_3d_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'bar3DChart'
          @bar_3d_chart = CommonChartData.new(parent: self).parse(node_child)
        when 'pie3DChart'
          @pie_3d_chart = CommonChartData.new(parent: self).parse(node_child)
        end
      end
      self
    end
608857
def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'relativeFrom'
          @relative_from = value_to_symbol(value)
        end
      end

      node.xpath('*').each do |node_child|
        case node_child.name
        when 'posOffset', 'pctPosHOffset', 'pctPosVOffset'
          @offset = OoxmlSize.new(node_child.text.to_f, :emu)
        when 'align'
          @align = node_child.text.to_sym
        end
      end
      self
    end
454264
def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'customHeight'
          @custom_height = option_enabled?(node, 'customHeight')
        when 'ht'
          @height = OoxmlSize.new(value.value.to_f, :point)
        when 'hidden'
          @hidden = option_enabled?(node, 'hidden')
        when 'r'
          @index = value.value.to_i
        end
      end
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'c'
          @cells[Coordinates.parse_coordinates_from_string(node_child.attribute('r').value.to_s).column_number.to_i - 1] = XlsxCell.new(parent: self).parse(node_child)
        end
      end
      self
    end
417974
def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'col'
          @column = Coordinates.get_column_name(node_child.text.to_i + 1)
        when 'colOff'
          @column_offset = OoxmlSize.new(node_child.text.to_f, :emu)
        when 'row'
          @row = node_child.text.to_i + 1
        when 'rowOff'
          @row_offset = OoxmlSize.new(node_child.text.to_f, :emu)
        end
      end
      self
    end
600846
def parse(node)
      @id = node.attribute('id').value
      @type = node.attribute('type').value
      node.xpath('*').each do |text_field_node_child|
        case text_field_node_child.name
        when 't'
          @text = text_field_node_child.text
        end
      end
      self
    end
460000
def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'ref'
          @reference = Coordinates.parser_coordinates_range(value.value.to_s)
        when 'si'
          @string_index = value.value.to_i
        when 't'
          @type = value.value.to_s
        end
      end

      @value = node.text unless node.text.empty?
      self
    end
943652
def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'sdtContent'
          @sdt_content = SDTContent.new(parent: self).parse(node_child)
        when 'sdtPr'
          @properties = SDTProperties.new(parent: self).parse(node_child)
        end
      end
      self
    end
930295
def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'count'
          @count = value.value.to_i
        end
      end

      node.xpath('*').each do |node_child|
        case node_child.name
        when 'xf'
          @xf_array << Xf.new(parent: self).parse(node_child)
        end
      end
      self
    end
145640
def parse(node)
      node.xpath('mc:Choice/*', 'xmlns:mc' => 'http://schemas.openxmlformats.org/markup-compatibility/2006').each do |node_child|
        case node_child.name
        when 'timing'
          @timing = Timing.new(parent: self).parse(node_child)
        when 'transition'
          @transition = Transition.new(parent: self).parse(node_child)
        when 'sp'
          @elements << DocxShape.new(parent: self).parse(node_child)
        end
      end
      self
    end
857656
def parse(node)
      node.attributes.each_key do |key|
        case key
        when 'showGridLines'
          @show_gridlines = attribute_enabled?(node, key)
        when 'showRowColHeaders'
          @show_row_column_headers = attribute_enabled?(node, key)
        end
      end

      node.xpath('*').each do |node_child|
        case node_child.name
        when 'pane'
          @pane = Pane.new(parent: self).parse(node_child)
        end
      end
      self
    end
429597
def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'round', 'bevel'
          @type = node_child.name.to_sym
        when 'miter'
          @type = :miter
          @limit = node_child.attribute('lim').value.to_f
        end
      end
      self
    end
851985
def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'lnL', 'left'
          @left = TableCellLine.new(parent: self).parse(node_child)
        when 'lnR', 'right'
          @right = TableCellLine.new(parent: self).parse(node_child)
        when 'lnT', 'top'
          @top = TableCellLine.new(parent: self).parse(node_child)
        when 'lnB', 'bottom'
          @bottom = TableCellLine.new(parent: self).parse(node_child)
        when 'lnTlToBr', 'tl2br'
          @top_left_to_bottom_right = TableCellLine.new(parent: self).parse(node_child)
        when 'lnBlToTr', 'tr2bl'
          @top_right_to_bottom_left = TableCellLine.new(parent: self).parse(node_child)
        when 'insideV'
          @inner_vertical = TableCellLine.new(parent: self).parse(node_child)
        when 'insideH'
          @inner_horizontal = TableCellLine.new(parent: self).parse(node_child)
        end
      end
      self
    end
88183
def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'fillcolor'
          @fill_color = Color.new(parent: self).parse_hex_string(value.value.delete('#'))
        when 'opacity'
          @opacity = value.value.to_f
        when 'strokecolor'
          @stroke_color = Color.new(parent: self).parse_hex_string(value.value.delete('#'))
        when 'strokeweight'
          @stroke_weight = value.value.to_f
        end
      end
      self
    end
419780
def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'idx'
          @index = value.value.to_f
        end
      end

      node.xpath('*').each do |node_child|
        case node_child.name
        when 'v'
          @value = TextValue.new(parent: self).parse(node_child)
        end
      end

      self
    end
1190097
def parse_element(ele)
      if ele.is_a? Nokogiri::XML::Text
        return "#{ele.text}\n"
      else
        if (children = ele.children).count > 0
          return wrap_node(ele,children.map {|ele| parse_element(ele)}.join )
        else
          return wrap_node(ele,ele.text)
        end
      end
    end
574201
def parse(node)
      @properties = OldDocxShapeProperties.new(parent: self).parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'textbox'
          @text_box = TextBox.parse_list(node_child, parent: self)
        when 'imagedata'
          @file_reference = FileReference.new(parent: self).parse(node_child)
        when 'fill'
          @fill = OldDocxShapeFill.new(parent: self).parse(node_child)
        end
      end
      self
    end
1357521
def parse_xml(self, node):
        
        self._set_properties(node)
        self.name = node.get('name', None)
        self.opacity = node.get('opacity', self.opacity)
        self.visible = node.get('visible', self.visible)
        image_node = node.find('image')
        self.source = image_node.get('source', None)
        self.trans = image_node.get('trans', None)
        return self