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
127 128 129 |
# File 'lib/rnv/validator.rb', line 127 def document @document end |
Instance Method Details
#errors ⇒ Array<RNV::Error>
errors from document
135 136 137 |
# File 'lib/rnv/validator.rb', line 135 def errors @document.errors end |
#load_schema_from_file(file) ⇒ Boolean
Returns true if schema loaded successfuly.
147 148 149 |
# File 'lib/rnv/validator.rb', line 147 def load_schema_from_file(file) @document.load_file(file) end |
#load_schema_from_string(str) ⇒ Boolean
Returns true if schema loaded successfuly.
141 142 143 |
# File 'lib/rnv/validator.rb', line 141 def load_schema_from_string(str) @document.load_string(str) end |
#parse_file(xml, pre_processor = PreProcessor.new) ⇒ Boolean
parse and validate file
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/rnv/validator.rb', line 175 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
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/rnv/validator.rb', line 155 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 |