Module: Asciidoctor::ISO::Validate

Included in:
Converter
Defined in:
lib/asciidoctor/iso/validate.rb

Class Method Summary collapse

Class Method Details

.title_validate(root) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/asciidoctor/iso/validate.rb', line 7

def title_validate(root)
  if root.at("//title_en/title_intro").nil? &&
      !root.at("//title_fr/title_intro").nil?
    warn "No English Title Intro!"
  end
  if !root.at("//title_en/title_intro").nil? &&
      root.at("//title_fr/title_intro").nil?
    warn "No French Title Intro!"
  end
  if root.at("//title_en/title_part").nil? &&
      !root.at("//title_fr/title_part").nil?
    warn "No English Title Part!"
  end
  if !root.at("//title_en/title_part").nil? &&
      root.at("//title_fr/title_part").nil?
    warn "No French Title Part!"
  end
end

.validate(doc) ⇒ Object



26
27
28
29
30
31
32
33
# File 'lib/asciidoctor/iso/validate.rb', line 26

def validate(doc)
  filename = File.join(File.dirname(__FILE__), "validate.rng")
  schema = Nokogiri::XML::RelaxNG(File.read(filename))
  title_validate(doc.root)
  schema.validate(doc).each do |error|
    warn "RELAXNG Validation: #{error.message}"
  end
end