Class: Moxml::Document
- Inherits:
-
Node
- Object
- Node
- Moxml::Document
show all
- Defined in:
- lib/moxml/document.rb
Instance Attribute Summary
Attributes inherited from Node
#native
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Node
#add_next_sibling, #add_previous_sibling, #children, #column, #initialize, #inner_html, #inner_html=, #line, #next_sibling, #outer_html, #parent, #path, #previous_sibling, #remove, #replace, #text, #text=, wrap
Constructor Details
This class inherits a constructor from Moxml::Node
Class Method Details
.parse(input, options = {}) ⇒ Object
3
4
5
|
# File 'lib/moxml/document.rb', line 3
def self.parse(input, options = {})
new(Moxml.adapter.parse(input, options))
end
|
Instance Method Details
#add_declaration(version = "1.0", encoding = "UTF-8", standalone = nil) ⇒ Object
65
66
67
68
69
70
71
72
73
|
# File 'lib/moxml/document.rb', line 65
def add_declaration(version = "1.0", encoding = "UTF-8", standalone = nil)
decl = Declaration.new(version, encoding, standalone)
if declaration
declaration.replace(decl)
else
add_child(decl)
end
decl
end
|
#at_css(selector) ⇒ Object
83
84
85
86
|
# File 'lib/moxml/document.rb', line 83
def at_css(selector)
node = adapter.at_css(native, selector)
node.nil? ? nil : wrap_node(node)
end
|
#at_xpath(expression, namespaces = {}) ⇒ Object
88
89
90
91
|
# File 'lib/moxml/document.rb', line 88
def at_xpath(expression, namespaces = {})
node = adapter.at_xpath(native, expression, namespaces)
node.nil? ? nil : wrap_node(node)
end
|
#create_cdata(content) ⇒ Object
19
20
21
|
# File 'lib/moxml/document.rb', line 19
def create_cdata(content)
Cdata.new(adapter.create_cdata(native, content))
end
|
23
24
25
|
# File 'lib/moxml/document.rb', line 23
def (content)
.new(adapter.(native, content))
end
|
#create_element(name) ⇒ Object
11
12
13
|
# File 'lib/moxml/document.rb', line 11
def create_element(name)
Element.new(adapter.create_element(native, name))
end
|
#create_processing_instruction(target, content) ⇒ Object
27
28
29
30
31
|
# File 'lib/moxml/document.rb', line 27
def create_processing_instruction(target, content)
ProcessingInstruction.new(
adapter.create_processing_instruction(native, target, content)
)
end
|
#create_text(content) ⇒ Object
15
16
17
|
# File 'lib/moxml/document.rb', line 15
def create_text(content)
Text.new(adapter.create_text(native, content))
end
|
#css(selector) ⇒ Object
75
76
77
|
# File 'lib/moxml/document.rb', line 75
def css(selector)
NodeSet.new(adapter.css(native, selector))
end
|
#declaration ⇒ Object
61
62
63
|
# File 'lib/moxml/document.rb', line 61
def declaration
children.find { |node| node.is_a?(Declaration) }
end
|
#encoding ⇒ Object
37
38
39
|
# File 'lib/moxml/document.rb', line 37
def encoding
declaration&.encoding
end
|
#encoding=(encoding) ⇒ Object
41
42
43
|
# File 'lib/moxml/document.rb', line 41
def encoding=(encoding)
(declaration || add_declaration).encoding = encoding
end
|
#root ⇒ Object
7
8
9
|
# File 'lib/moxml/document.rb', line 7
def root
wrap_node(adapter.root(native))
end
|
#standalone ⇒ Object
53
54
55
|
# File 'lib/moxml/document.rb', line 53
def standalone
declaration&.standalone
end
|
#standalone=(standalone) ⇒ Object
57
58
59
|
# File 'lib/moxml/document.rb', line 57
def standalone=(standalone)
(declaration || add_declaration).standalone = standalone
end
|
#to_xml(options = {}) ⇒ Object
33
34
35
|
# File 'lib/moxml/document.rb', line 33
def to_xml(options = {})
adapter.serialize(native, options)
end
|
#version ⇒ Object
45
46
47
|
# File 'lib/moxml/document.rb', line 45
def version
declaration&.version
end
|
#version=(version) ⇒ Object
49
50
51
|
# File 'lib/moxml/document.rb', line 49
def version=(version)
(declaration || add_declaration).version = version
end
|
#xpath(expression, namespaces = {}) ⇒ Object
79
80
81
|
# File 'lib/moxml/document.rb', line 79
def xpath(expression, namespaces = {})
NodeSet.new(adapter.xpath(native, expression, namespaces))
end
|