我正在通过 Schema/Schematron 验证器验证资源。我向它提供了无效的患者资源 xml,但它仍然没有抱怨并给出“验证通过”的输出。
正如您可以观察到的下面的代码片段,我给出了多个性别和出生日期以及一个与模式不同的标签作为 dummytag。还有一个性别标签的值为“male1”无效:
FhirContext ctx = FhirContext.forDstu2();
String msgString2 = "<Patient>\r\n" +
" <gender value=\"male1\"/>\r\n" +
" <gender value=\"female\"/>\r\n" +
" <birthDate>1953-12-20</birthDate>\r\n" +
" <birthDate>1953-12-20</birthDate>\r\n" +
" <dummytag>abcd</dummytag>\r\n" +
"</Patient>";
IParser parser = ctx.newXmlParser();
Patient patient = parser.parseResource(Patient.class, msgString2);
FhirValidator val = ctx.newValidator();
IValidatorModule module1 = new SchemaBaseValidator(ctx);
IValidatorModule module2 = new SchematronBaseValidator(ctx);
val.registerValidatorModule(module1);
val.registerValidatorModule(module2);
ValidationResult result = val.validateWithResult(patient);
if (result.isSuccessful()) {
System.out.println("Validation passed");
} else {
// We failed validation!
System.out.println("Validation failed");
}
所以我的问题是你能告诉我,在这种情况下它会打印“验证失败”吗?
问候,阿米特。