2009-09-08 42 views
6

xmlドキュメントをスキーマに対して検証する方法に関するいくつかのソースがありますが、ユーザー提供のスキーマが有効なスキーマであることを検証する必要があるアプリケーションがあります。私はこれを確認する方法はありますか? XSDスキーマを検証するためのXSDスキーマはありますか?あるいは私のためにこれを行う図書館や宝石はありますか?RubyでのXSDスキーマ検証

答えて

4

スキーマは、XMLドキュメント自体あるとして、あなたは他の文書のようにそれらを検証することができます。 XMLスキーマ用のXSDとDTDは、このサイトhttp://www.w3.org/2001/XMLSchemaにあります。

9

あなたはこのためにNokogiriを使用することができます。

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

+1 Nokogiri – Kevin

+0

これはノーコギリ、特にlibxmlより実用的な経験を強くお勧めします。 – Jim