Ruby中的XSD架构验证

Bry*_*ard 6 ruby validation xsd

我找到了几个关于如何针对模式验证xml文档的来源,但我在ruby中有一个应用程序,我需要验证用户提供的模式本身是一个有效的模式.有没有办法可以检查这个?是否有XSD架构来验证XSD架构?或者是否有图书馆或宝石为我这样做?

Gre*_*ell 9

您可以使用Nokogiri:

begin
  schema = Nokogiri::XML::Schema(File.read('invalid_schema.xsd'))
rescue Nokogiri::XML::SyntaxError => e
  puts "Invalid XML Schema!"
end
Run Code Online (Sandbox Code Playgroud)


Mar*_*tin 4

由于模式本身就是 XML 文档,因此您可以像验证任何其他文档一样验证它们。XML Schema 的 XSD 和 DTD 都可以在此站点http://www.w3.org/2001/XMLSchema上找到。