フィルタを使用してスキーマを検証しようとしています。問題は、親の.xsd内のタグに記述されている従属.xsdを見つけることができないことです。 私はresourceResolver-refも使用しましたが、同じ問題に直面しています。ここにサンプル構成ファイルとクラスファイルがあります。私はここで混乱していますタグを持つ.xsd(スキーマ)をスキーマバリデータを使用して検証する方法
<mulexml:schema-validation-filter schemaLocations="${app.home}/sample.xsd" returnResult="false" ref="classpathResourceResolver" name="sample_schema_Validation" doc:name="Schema Validation" />
package org.test.util;
import java.io.IOException;
import java.io.InputStream;
import org.apache.xerces.dom.DOMInputImpl;
import org.mule.util.IOUtils;
import org.w3c.dom.ls.LSInput;
import org.w3c.dom.ls.LSResourceResolver;
public class ClasspathResourceResolver implements LSResourceResolver {
@Override
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
try {
InputStream resource = IOUtils.getResourceAsStream(systemId, getClass());
return new DOMInputImpl(publicId, systemId, baseURI, resource, null);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
は、どのように私は私の外部リソース(依存XSD)をロードするための参照を渡すことができますか? 親切に手伝ってください!