2009-09-08 21 views
6

He encontrado varias fuentes sobre cómo validar un documento xml contra un esquema, pero tengo una aplicación en ruby ​​en la que necesito validar que un esquema proporcionado por el usuario es un esquema válido en sí mismo. ¿Hay alguna manera de que pueda verificar esto? ¿Hay un esquema XSD para validar un esquema XSD? ¿O hay bibliotecas o gemas que hacen esto por mí?XSD Schema Validation en Ruby

Respuesta

4

Como los esquemas son documentos XML en sí se puede validar como cualquier otro documento. Tanto un XSD como un DTD para XML Schema se pueden encontrar en este sitio http://www.w3.org/2001/XMLSchema.

9

Se puede utilizar para este Nokogiri:

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

+1 para Nokogiri – Kevin

+0

Recomiendo nokogiri para esto, especialmente sobre libxml de la experiencia práctica. – Jim