当我运行xmllint -schema c:\temp\CDASchemas\cda\Schemas\CDA.xsd testee_test_original.xml --noout时,它告诉我"testee_test_original.xml验证“。
好的,很好。
但是,我随后删除了整个<patient>元素,并再次运行它。"testee_test_original.xml验证“
为什么会这样呢?我认为这就是XSD的意义所在。如果没有,我还需要什么来实际验证CCD不仅格式良好,而且具有符合标准的所有所需数据?
发布于 2016-04-24 00:07:49
我猜您已经删除了patient元素,但既没有删除PatientRole,也没有删除recordTarget (这是必需的)。在CDA中,患者信息位于PatientRole的recordTarget中(这是一个强制元素)。
尽管如您所建议的,患者姓名应该是必填项,但它不是。我不知道为什么,但这可能是因为在只提供患者标识符(这是PatientRole的强制元素)而不是全名的情况下应该很有趣。
希望对你有用。马蒂
https://stackoverflow.com/questions/36801414
复制相似问题