2009-09-08 18 views
6

Ho trovato diverse fonti su come convalidare un documento xml su uno schema, ma ho un'applicazione in ruby ​​in cui ho bisogno di convalidare che uno schema fornito dall'utente sia uno schema valido stesso. C'è un modo per controllarlo? Esiste uno schema XSD per convalidare uno schema XSD? O ci sono biblioteche o gemme che fanno questo per me?Convalida schema XSD in Ruby

risposta

4

Come gli schemi sono documenti XML stessi è possibile convalidare come qualsiasi altro documento. Sia un XSD che un DTD per lo schema XML possono essere trovati su questo sito http://www.w3.org/2001/XMLSchema.

9

È possibile utilizzare Nokogiri per questo:

begin 
    schema = Nokogiri::XML::Schema(File.read('invalid_schema.xsd')) 
rescue Nokogiri::XML::SyntaxError => e 
    puts "Invalid XML Schema!" 
end 
+1

+1 per Nokogiri – Kevin

+0

Raccomando caldamente nokogiri per questo, specialmente su libxml da esperienza pratica. – Jim