module RDF::TriX::Reader::Nokogiri
Nokogiri
implementation of the TriX
reader.
@see nokogiri.org/
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/nokogiri.rb, line 14 def self.library :nokogiri 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/nokogiri.rb, line 23 def initialize_xml(input, **options) require 'nokogiri' unless defined?(::Nokogiri) @xml = ::Nokogiri::XML(input) log_error("Errors: #{@xml.errors.join('\n')}") unless @xml.errors.empty? @xml end
Protected Instance Methods
element_content(element)
click to toggle source
@private
# File lib/rdf/trix/reader/nokogiri.rb, line 66 def element_content(element) element.content end
element_elements(element)
click to toggle source
@private
# File lib/rdf/trix/reader/nokogiri.rb, line 60 def element_elements(element) element.children.select { |node| node.element? } end
find_graphs(&block)
click to toggle source
@private
# File lib/rdf/trix/reader/nokogiri.rb, line 34 def find_graphs(&block) @xml.xpath('//trix:graph', OPTIONS).each(&block) end
read_base()
click to toggle source
@private
# File lib/rdf/trix/reader/nokogiri.rb, line 40 def read_base base = @xml.root.attribute_with_ns("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/nokogiri.rb, line 47 def read_graph(graph_element) name = graph_element.children.select { |node| node.element? && node.name.to_s == 'uri' }.first.content.strip rescue nil name ? RDF::URI.intern(name) : nil end
triple_elements(element)
click to toggle source
@private
# File lib/rdf/trix/reader/nokogiri.rb, line 54 def triple_elements(element) element.xpath('./trix:triple', OPTIONS) end