Sha256: 8c91626c9f847a6374869a89e7761de6531bf4fc7bca272f124e6f286254ffdb
Contents?: true
Size: 1.03 KB
Versions: 1
Compression:
Stored size: 1.03 KB
Contents
module MarkupValidity class Validator # :nodoc: Dir.chdir(File.dirname(__FILE__)) do XHTML1_TRANSITIONAL = Nokogiri::XML::Schema( File.read('xhtml1-transitional.xsd') ) XHTML1_STRICT = Nokogiri::XML::Schema(File.read('xhtml1-strict.xsd')) end attr_reader :errors def initialize xml, reference = XHTML1_TRANSITIONAL doc = Nokogiri::XML xml @reference = reference @xml = xml @errors = reference.validate(doc) end def valid?; @errors.length == 0; end def inspect lines = @xml.split("\n") strings = [] errors.each do |error| start = error.line - [2, error.line].min error_line = error.line == 0 ? 1 : error.line strings << "Error on line: #{error_line}:" strings << error.message.gsub(/\{[^\}]*\}/, '') Range.new(start, error.line + 2).each { |number| strings << "#{number + 1}: #{lines[number]}" } strings << "" end strings.join("\n") end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
markup_validity-1.0.0 | lib/markup_validity/validator.rb |