module RDF::TriX::Reader::REXML

REXML implementation of the TriX reader.

@see www.germane-software.com/software/rexml/

Constants

OPTIONS

Public Class Methods

library() click to toggle source

Returns the name of the underlying XML library.

@return [Symbol]

# File lib/rdf/trix/reader/rexml.rb, line 14
def self.library
  :rexml
end

Public Instance Methods

initialize_xml(input, **options) click to toggle source

Initializes the underlying XML library.

@param [Hash{Symbol => Object}] options @return [void]

# File lib/rdf/trix/reader/rexml.rb, line 23
def initialize_xml(input, **options)
  require 'rexml/document' unless defined?(::REXML)
  @xml = ::REXML::Document.new(input, :compress_whitespace => %w{uri})
end

Protected Instance Methods

element_content(element) click to toggle source

@private

# File lib/rdf/trix/reader/rexml.rb, line 64
def element_content(element)
  element.text
end
element_elements(element) click to toggle source

@private

# File lib/rdf/trix/reader/rexml.rb, line 58
def element_elements(element)
  element.elements.to_a
end
find_graphs(&block) click to toggle source

@private

# File lib/rdf/trix/reader/rexml.rb, line 32
def find_graphs(&block)
  @xml.elements.each('TriX/graph', &block)
end
read_base() click to toggle source

@private

# File lib/rdf/trix/reader/rexml.rb, line 38
def read_base
  base = @xml.root.attribute("base", "http://www.w3.org/XML/1998/namespace") if @xml && @xml.root
  RDF::URI(base.to_s) if base
end
read_graph(graph_element) click to toggle source

@private

# File lib/rdf/trix/reader/rexml.rb, line 45
def read_graph(graph_element)
  name = graph_element.elements.select { |element| element.name.to_s == 'uri' }.first.text.strip rescue nil
  name ? RDF::URI.intern(name) : nil
end
triple_elements(element) click to toggle source

@private

# File lib/rdf/trix/reader/rexml.rb, line 52
def triple_elements(element)
  element.get_elements('triple')
end