1

我正在通过 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");
 }

所以我的问题是你能告诉我,在这种情况下它会打印“验证失败”吗?

问候,阿米特。

4

1 回答 1

0

在 DSTU3 中尝试,这已经有一段时间了,还修复了几个 XPath 相关问题。

于 2018-08-02T08:06:13.230 回答