【发布时间】:2010-11-26 16:11:19
【问题描述】:
我找到了几个关于如何根据模式验证 xml 文档的来源,但我有一个 ruby 应用程序,我需要在其中验证用户提供的模式本身是否是有效的模式。有没有办法让我检查这个?是否有用于验证 XSD 架构的 XSD 架构?或者是否有图书馆或宝石可以为我做到这一点?
【问题讨论】:
标签: ruby validation xsd
我找到了几个关于如何根据模式验证 xml 文档的来源,但我有一个 ruby 应用程序,我需要在其中验证用户提供的模式本身是否是有效的模式。有没有办法让我检查这个?是否有用于验证 XSD 架构的 XSD 架构?或者是否有图书馆或宝石可以为我做到这一点?
【问题讨论】:
标签: ruby validation xsd
您可以为此使用Nokogiri:
begin
schema = Nokogiri::XML::Schema(File.read('invalid_schema.xsd'))
rescue Nokogiri::XML::SyntaxError => e
puts "Invalid XML Schema!"
end
【讨论】:
由于模式本身就是 XML 文档,因此您可以像任何其他文档一样验证它们。 XML Schema 的 XSD 和 DTD 都可以在此站点 http://www.w3.org/2001/XMLSchema 上找到。
【讨论】: