2012-01-16 2 views
2

いくつかのXML検証で問題が発生しており、問題をデバッグしようとしています。私はJAXBContext.generateSchema()を使用してXSDをオンザフライで生成してから、SchemaFactory.newSchema(スキーマ)を使用して統一されたスキーマを作成しています。しかし、私の検証は失敗しています。私はnewSchemaが作成している統一されたスキーマが私の期待どおりであるかどうかを確認したいと思いますが、結果のSchemaクラスを文字列またはテキストファイルにエクスポートする方法を見つけることができません。java JAXB Schemaクラスをxsdファイルにエクスポートするにはどうすればよいですか?

javax.xml.validation.Schemaクラスを読み込み可能なStringおよび/またはXSDファイルにエクスポートする方法はありますか?私はAPIを見渡して何も見つけられないようだ。代わりにJAXBContext.generateSchema(からそれらを作成した後、あなたのスキーマを組み合わせる

おかげで、

エリック

答えて

0

)は、なぜ自分たJAXBContextから一度にすべてを生成しません。

JAXBContext jc = JAXBContext.newInstance(new Class[] { Class1.class, 
                 Class2.class, 
                 Class3.class 
                 } 
             ); 
jc.generateSchema(new SchemaOutputResolver() { 
    @Override 
    public Result createOutput(String namespaceUri, String suggestedFileName) throws IOException { 
     File file = new File(suggestedFileName); 
     return new StreamResult(file); 
    } 
}); 
+0

私はこのコードを見てからしばらくしていましたが、複数の名前空間がある場合はできませんでした。異なる名前空間を持つ複数のスキーマを生成するソリューションは、http://stackoverflow.com/a/2696765/827480にあります。しかし、この時点で私の問題は、それらがすべて適切な順序で解決されることでした。私はそれが動作するようになった(http://stackoverflow.com/a/8885327/827480を参照)が、統一されたスキーマをエクスポートする方法があるかどうかまだ疑問に思っていた。これまでのところ、その問題の解決策はまだ見つかりませんでした。 –

関連する問題