Class: Moxml::Adapter::HeadedOx

Inherits:
Ox
  • Object
show all
Defined in:
lib/moxml/adapter/headed_ox.rb

Overview

HeadedOx adapter - Ox parsing with Moxml's XPath engine.

Since the Ox adapter now routes XPath through Moxml's pure-Ruby XPath 1.0 engine, HeadedOx is the historical name for exactly that combination and inherits everything from Adapter::Ox. It exists for backwards compatibility and reports its own capabilities.

Examples:

context = Moxml.new(:headed_ox)
doc = context.parse(xml_string)
results = doc.xpath('//book[@price < 10]/title')

Class Method Summary collapse

Methods inherited from Ox

add_child, add_next_sibling, add_previous_sibling, ancestors, assign_parents, at_xpath, attachments, attribute_element, attributes, cdata_content, children, comment_content, create_document, create_native_cdata, create_native_comment, create_native_declaration, create_native_doctype, create_native_element, create_native_entity_reference, create_native_namespace, create_native_processing_instruction, create_native_text, declaration_attribute, dedupe_natives, doctype_external_id, doctype_name, doctype_system_id, document, duplicate_node, entity_reference_name, get_attribute, get_attribute_value, has_declaration?, inner_text, namespace, namespace_definitions, namespace_prefix, namespace_uri, needs_custom_serialize?, next_sibling, node_name, node_type, parent, parse, patch_node, patches_children?, previous_sibling, processing_instruction_content, processing_instruction_target, remove, remove_attribute, remove_attribute_native, remove_declaration, replace, replace_children, root, sax_parse, serialize, set_attribute, set_attribute_name, set_attribute_value, set_cdata_content, set_comment_content, set_declaration_attribute, set_namespace, set_node_name, set_processing_instruction_content, set_root, set_text_content, text_content, tree_scan_custom_needs, unpatch_node, validate_single_root, xpath, xpath_supported?

Methods inherited from Base

actual_native, attribute_name, bulk_materialize?, create_cdata, create_comment, create_declaration, create_doctype, create_document, create_element, create_entity_reference, create_namespace, create_processing_instruction, create_text, decode_entities, duplicate_node, entity_bearing?, entity_reference_name, has_declaration?, in_scope_namespaces, line_number, parse, patch_node, patches_children?, preprocess_entities, remove_attribute_native, remove_declaration, restore_entities, sax_parse, sax_supported?, set_attribute_name, set_attribute_value, set_namespace, set_root, wrappers_recyclable?

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

Class Method Details

.capabilitiesHash

Report adapter capabilities

Returns:

  • (Hash)

    Capability flags



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/moxml/adapter/headed_ox.rb', line 31

def capabilities
  {
    parse: true,
    sax_parsing: true,
    namespace_aware: true,
    namespace_support: :partial,
    dtd_support: true,
    parsing_speed: :fast,

    # XPath via Moxml's XPath engine
    xpath_support: :full,
    xpath_full: true,
    xpath_axes: :partial, # 6 of 13 axes: child, descendant, descendant-or-self, self, attribute, parent
    xpath_functions: :complete, # All 27 XPath 1.0 functions
    xpath_predicates: true,
    xpath_namespaces: true,
    xpath_variables: true,

    namespace_serialization: true,
    pretty_print: true,

    schema_validation: false,
    xslt_support: false,
  }
end

.context_adapter_nameObject



24
25
26
# File 'lib/moxml/adapter/headed_ox.rb', line 24

def context_adapter_name
  :headed_ox
end