1

我从http://www.hl7.org/implement/standards/fhir/downloads.html下载了“验证包” 。

解压缩“validator.zip”并阅读“readme.txt”后,我尝试在 Windows 命令提示符上运行“org.hl7.fhir.validator.jar”文件。

java -jar org.hl7.fhir.validator.jar mysourcefile.xml

我遇到了以下错误:

java.lang.Exception:org.hl7.fhir.instance.test.ToolsHelper.main(ToolsHelper.java:77)处的未知命令“mysourcefile.xml” java.lang.ArrayIndexOutOfBoundsException:org.hl7.fhir.instance 处的 1。 test.ToolsHelper.main(ToolsHelper.java:81)

为什么“mysourcefile.xml”是未知命令?请帮忙。谢谢!

4

4 回答 4

1

如果要根据基本规范验证资源,请运行以下命令:

java -jar org.hl7.fhir.validator.jar your-fhir-resource.xml -defn validation.zip

如果要根据配置文件(结构定义)验证资源,请运行以下命令:

java -jar org.hl7.fhir.validator.jar your-fhir-resource.xml -defn validation.zip -profile your-structure-definition.xml
于 2015-03-19T15:30:22.397 回答
1

更新文档

验证说明:

  1. 您需要安装 java 1.7 jre 或 jdk
  2. 下载验证器工具和验证包(分别是 java 可执行文件和 FHIR 定义字典),并解压缩验证器(但不是验证包)
  3. 使用以下命令行执行验证器: java –jar org.hl7.fhir.validator.jar [source] (-defn [definitions]) (-profile [profile]) (-output [output]) 其中:

    • [source] 是要验证的资源或捆绑提要的文件名或 url  [definitions] 是验证包 (validation.zip) 的文件名或 url。默认值:从 jar 文件中获取

    • [profile] 是用于验证资源的特定配置文件的可选文件名或 URL。在没有此参数的情况下,将使用定义根据基本规范检查资源。

    • [输出] 是结果的文件名 (OperationOutcome)。默认值:结果被发送到标准输出。

注意:此时验证器只能验证 XML 资源,不能验证 JSON 资源。

这是一个 Windows 批处理文件,它将执行所有这些操作:

REM get the validator and unzip it
wget.exe http://hl7-fhir.github.io/validator.zip
7z.exe x validator.zip
7z.exe x saxon.zip
REM Get the validation source file (dictionary)
wget.exe http://hl7-fhir.github.io/validation-min.zip
REM get an example to validate
wget.exe http://ec2-54-87-74-90.compute-
1.amazonaws.com/open/Patient/1234 -O daf-patient.xml
REM validate it. The DAF profile will be loaded out of the
definitions in validation-min.zip
java -jar org.hl7.fhir.validator.jar daf-patient.xml -defn
validation-min.zip -profile
http://hl7.org/fhir/StructureDefinition/patient-daf-dafpatient
pause
于 2015-03-26T06:04:13.913 回答
1

jar 文件设置为加载错误的类。正确的类是 org.hl7.fhir.instance.validation.Validator。

您可以在运行 jar 时显式命名该类,您将获得帮助,其中将显示:

  Usage: FHIRValidator.jar [source] (-defn [definitions]) (-output [output]) (-noxslt)

您还将获得更多文档。

否则,您编辑 jar 内的清单并更改主类。

于 2014-06-27T11:49:31.360 回答
0

文档需要更新。尝试:

java -jar org.hl7.fhir.validator.jar round mysourcefile.xml output.xml

但我不认为 DSTU validation.jar 正在应用 XSD 或 Schematrons。如果这是您的目标,那么您可以使用其他工具。

对于 XSD:

xmllint --noout --schema <XSD_FILE> mysourcefile.xml

对于 Schematron,使用probatron4j

java -jar probatron.jar mysourcefile.xml fhir-atom.sch
于 2014-06-27T02:32:04.317 回答