Module: Moxml::Declaration

Includes:
Node
Defined in:
lib/moxml/declaration.rb

Constant Summary collapse

ALLOWED_VERSIONS =
["1.0", "1.1"].freeze
ALLOWED_STANDALONE =
%w[yes no].freeze
ALLOWED_ATTRIBUTES =
%w[version encoding standalone].freeze

Constants included from NodeBehavior

NodeBehavior::TYPES

Constants included from XmlUtils

XmlUtils::VALID_ELEMENT_NAMES

Instance Attribute Summary

Attributes included from NodeBehavior

#context, #native, #parent_node

Instance Method Summary collapse

Methods included from Node

adapter, contract_module, contract_modules, node_type_map, wrap

Methods included from NodeBehavior

#==, #adapter, #add_child, #add_next_sibling, #add_previous_sibling, #after, #ancestors, #at_xpath, #before, #blank?, #children, #clear_native_memo!, #content, #descendants, #digest, #document, #dup, #each, #each_node, #entity_bearing?, #find, #find_all, #first_child, #following_siblings, #has_children?, #identifier, #initialize, #invalidate_namespace_cache!, #last_child, #line_number, #materialize, #materialize_fields, #namespace, #namespaces, #next_sibling, #outer_xml, #parent, #path, #preceding_siblings, #previous_sibling, #prime_contract, #refresh_native!, #replace, #source_position, #text, #to_xml, #xpath

Methods included from XmlUtils

#encode_entities, #normalize_xml_value, #validate_comment_content, #validate_declaration_encoding, #validate_declaration_standalone, #validate_declaration_version, #validate_element_name, #validate_entity_reference_name, #validate_pi_target, #validate_prefix, #validate_uri

Instance Method Details

#declaration?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'lib/moxml/declaration.rb', line 44

def declaration?
  true
end

#encodingObject



20
21
22
# File 'lib/moxml/declaration.rb', line 20

def encoding
  adapter.declaration_attribute(@native, "encoding")
end

#encoding=(new_encoding) ⇒ Object



24
25
26
27
# File 'lib/moxml/declaration.rb', line 24

def encoding=(new_encoding)
  adapter.validate_declaration_encoding(new_encoding)
  adapter.set_declaration_attribute(@native, "encoding", new_encoding)
end

#removeObject



38
39
40
41
42
# File 'lib/moxml/declaration.rb', line 38

def remove
  native_doc = @parent_node&.native
  adapter.remove_declaration(native_doc) if native_doc
  super
end

#standaloneObject



29
30
31
# File 'lib/moxml/declaration.rb', line 29

def standalone
  adapter.declaration_attribute(@native, "standalone")
end

#standalone=(new_standalone) ⇒ Object



33
34
35
36
# File 'lib/moxml/declaration.rb', line 33

def standalone=(new_standalone)
  adapter.validate_declaration_standalone(new_standalone)
  adapter.set_declaration_attribute(@native, "standalone", new_standalone)
end

#versionObject



11
12
13
# File 'lib/moxml/declaration.rb', line 11

def version
  adapter.declaration_attribute(@native, "version")
end

#version=(new_version) ⇒ Object



15
16
17
18
# File 'lib/moxml/declaration.rb', line 15

def version=(new_version)
  adapter.validate_declaration_version(new_version)
  adapter.set_declaration_attribute(@native, "version", new_version)
end