2012-04-09 11 views
-2

私はXSDに対してXMLを検証しています。しかし、私のjava検証エラーメッセージは、XMLSpyの検証エラーメッセージとは異なります。ここでXMLSpyは正しいですし、Javaの検証メッセージは誤解を招くものです。私は、XMLを検証するために、次のコードを使用しています:誤解を招くJava XML検証

SAXParserFactory factory = SAXParserFactory.newInstance(); 
factory.setValidating(true); 
factory.setNamespaceAware(true); 
SAXParser saxParser = factory.newSAXParser(); 
saxParser.setProperty(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA); 

saxParser.setProperty(JAXP_SCHEMA_SOURCE,new File("TXLife2.26.00.xsd")); 
MySAXHandler dh = new MySAXHandler(); 
saxParser.parse(new File("test.xml"), dh); 

のJava検証メッセージは言う:

CVC-複雑-type.2.4.a:無効なコンテンツが要素で始まる発見された '<要素>' 。

しかし、XMLSpyには言う:

要素<要素は>要素< PARENT_ELEMENTあなたが得るエラーメッセージは、使用しているバリデータに依存>

+2

エラーメッセージIDの内容は、使用されているパーサー実装に依存します。 –

+1

あなたの質問は何ですか?その答えが「これを修正するにはどうすればいいですか?」という答えは、SOL – ControlAltDel

+0

@Pangeaのようなものです。それを解決するにはどうしますか? –

答えて

1

の下で、この場所で許可されていません。どちらも同じエラーを報告しています。より良いエラーメッセージを持つJava XSDバリデータが必要な場合は、Saxonに試してみてください:好きかもしれません。エラーメッセージの設計では、(a)ユーザが意図したもの、(b)ユーザがその技術についてどれくらい理解しているかについての限られた情報で作業しています。

+0

Saxon EEには、XSDに対してXMLを検証する機能があります。同じことをするフリーウェアライブラリはありますか? –