スキーマのグループを使用して、受信した XML の断片に対して何らかの検証を実行する必要があります。
これらのスキーマはすべて同じ targetNamespace を共有しますが、異なる .xsd ファイルに分かれています。
私の Java プログラムは、各 xsd ファイルを InputSource[] 配列にロードし、それらを SAX パーサー (SCHEMA_SOURCE プロパティ) に渡します。ただし、XMLReader.parse メソッドを呼び出すと、次のスタック トレースが表示されます。
** java.lang.IllegalArgumentException: オブジェクトの配列を SCHEMA_SOURCE プロパティの値として使用する場合、2 つのスキーマが同じ targetNamespace を共有してはなりません。org.apache.xerces.impl.xs.XMLSchemaLoader.processJAXPSchemaSource (不明なソース) org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema (不明なソース) org.apache.xerces.impl.xs.XMLSchemaValidator.findSchemaGrammar (未知のソース) org.apache.xerces.impl.xs.XMLSchemaValidator.handleStartElement (未知のソース) org.apache.xerces.impl.xs.XMLSchemaValidator.startElement (未知のソース) org.apache.xerces.impl.XMLNSDocumentScannerImpl org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook (不明なソース) の .scanStartElement (不明なソース) org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher で。
名前空間を共有するスキーマを使用して XML を解析する必要があります。これを実行して上記のエラーを回避することは可能ですか?
あらゆる形の助けやアドバイスをいただければ幸いです
ありがとう