Class: RNV::Validator
- Inherits:
-
Object
- Object
- RNV::Validator
- Defined in:
- lib/rnv/validator.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
-
#errors ⇒ Array<RNV::Error>
errors from document.
-
#initialize ⇒ Validator
constructor
A new instance of Validator.
-
#load_schema_from_file(file) ⇒ Boolean
True if schema loaded successfuly.
-
#load_schema_from_string(str) ⇒ Boolean
True if schema loaded successfuly.
-
#parse_file(xml, pre_processor = PreProcessor.new) ⇒ Boolean
parse and validate file.
-
#parse_string(str, pre_processor = PreProcessor.new) ⇒ Boolean
parse and validate buffer.
Constructor Details
Instance Attribute Details
#document ⇒ RNV::Document
112 113 114 |
# File 'lib/rnv/validator.rb', line 112 def document @document end |
Instance Method Details
#errors ⇒ Array<RNV::Error>
errors from document
120 121 122 |
# File 'lib/rnv/validator.rb', line 120 def errors @document.errors end |
#load_schema_from_file(file) ⇒ Boolean
Returns true if schema loaded successfuly.
132 133 134 |
# File 'lib/rnv/validator.rb', line 132 def load_schema_from_file(file) @document.load_file(file) end |
#load_schema_from_string(str) ⇒ Boolean
Returns true if schema loaded successfuly.
126 127 128 |
# File 'lib/rnv/validator.rb', line 126 def load_schema_from_string(str) @document.load_string(str) end |
#parse_file(xml, pre_processor = PreProcessor.new) ⇒ Boolean
parse and validate file
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
# File 'lib/rnv/validator.rb', line 160 def parse_file(xml, pre_processor = PreProcessor.new) @document.start_document rnv_doc = NokogiriSaxDocument.new(@document) rnv_doc.pre_processor = pre_processor file = xml.is_a?(File) ? xml : File.open(xml) raise RNV::DocumentEmpty if file.size == 0 parser = Nokogiri::XML::SAX::Parser.new(rnv_doc) parser.parse(file) do |ctx| ctx.replace_entities = true rnv_doc.ctx = ctx end @document.valid? end |
#parse_string(str, pre_processor = PreProcessor.new) ⇒ Boolean
parse and validate buffer
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/rnv/validator.rb', line 140 def parse_string(str, pre_processor = PreProcessor.new) @document.start_document rnv_doc = NokogiriSaxDocument.new(@document) rnv_doc.pre_processor = pre_processor raise RNV::DocumentEmpty if str.nil? or str.empty? parser = Nokogiri::XML::SAX::Parser.new(rnv_doc) parser.parse_memory(str) do |ctx| ctx.replace_entities = true rnv_doc.ctx = ctx end @document.valid? end |