Class: Ox::Document

Inherits:
Element show all
Defined in:
lib/ox/document.rb

Overview

Represents an XML document. It has a fixed set of attributes which form the XML prolog. A Document includes Elements.

Instance Attribute Summary

Attributes inherited from Node

#value

Instance Method Summary collapse

Methods inherited from Element

#<<, #alocate, #attr_match, #each, #eql?, #locate, #method_missing, #nodes, #prepend_child, #replace_text, #respond_to?, #text

Methods included from HasAttrs

#[], #[]=, #attributes, #method_missing

Methods inherited from Node

#eql?

Constructor Details

#initialize(prolog = {}) ⇒ Document

Create a new Document.

  • prolog [Hash] prolog attributes

    • :version [String] version, typically '1.0' or '1.1'

    • :encoding [String] encoding for the document, currently included but ignored

    • :standalone [String] indicates the document is standalone



11
12
13
14
15
16
17
# File 'lib/ox/document.rb', line 11

def initialize(prolog={})
  super(nil)
  @attributes = { }
  @attributes[:version] = prolog[:version] unless prolog[:version].nil?
  @attributes[:encoding] = prolog[:encoding] unless prolog[:encoding].nil?
  @attributes[:standalone] = prolog[:standalone] unless prolog[:standalone].nil?
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ox::Element

Instance Method Details

#rootObject

Returns the first Element in the document.



20
21
22
23
24
25
26
27
# File 'lib/ox/document.rb', line 20

def root()
  unless !instance_variable_defined?(:@nodes) || @nodes.nil?
    @nodes.each do |n|
      return n if n.is_a?(::Ox::Element)
    end
  end
  nil
end