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')

Constant Summary

Constants included from XmlUtils

XmlUtils::VALID_ELEMENT_NAMES

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, bare_set_qname_safe?, 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, native_identity_stable?, needs_custom_serialize?, next_sibling, node_name, node_type, parent, parse, parse_fragment, 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, bare_get_qname_safe?, bare_set_qname_safe?, bulk_materialize?, children_accepts_entity_flag?, create_cdata, create_comment, create_declaration, create_doctype, create_document, create_element, create_entity_reference, create_namespace, create_processing_instruction, create_text, decode_entities, digest, duplicate_node, entity_bearing?, entity_reference_name, expanded_attr_reads?, expanded_attr_value, free_document, has_declaration?, in_scope_namespaces, iterparse, iterparse_file, line_number, materialize_fields, native_identity_stable?, native_inclusive10, parse, parse_errors, parse_fragment, parse_html, patch_node, patches_children?, plan_rows, preprocess_entities, remove_attribute_native, remove_declaration, restore_entities, root, same_node?, sax_parse, sax_supported?, serialize_generation, set_attribute_name, set_attribute_value, set_namespace, set_root, source_position, walk_descendants, wrap_native, 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



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