miércoles, 27 de noviembre de 2013

Validación XML

1ª Opción
dtd = XML::Dtd.new(IO.read(dtd_path, encoding: "UTF-8"))
document = io ? XML::Document.io(xml[:tempfile], encoding: XML::Encoding::ISO_8859_1) : document = XML::Document.file(xml, encoding: XML::Encoding::ISO_8859_1)
document.validate(dtd)


2ª Opción
xsd = Nokogiri::XML::Schema(File.read(PO_SCHEMA_FILE))
doc = Nokogiri::XML(File.read(PO_XML_FILE))
xsd.validate(doc).each do |error|
  puts error.message
end

http://www.xmlsoft.org/xmldtd.html
http://www.xmlvalidation.com/