【发布时间】:2016-09-21 14:11:21
【问题描述】:
我正在尝试使用lxml.etree 来重现CDA QuickStart Guide found here 中的CDA 示例。
特别是,我在尝试重新创建此元素时遇到了命名空间问题。
<ClinicalDocument xmlns="urn:hl7-org:v3" xmlns:mif="urn:hl7-org:v3/mif"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:hl7-org:v3 CDA.xsd">
我使用的代码如下
root = etree.Element('ClinicalDocument',
nsmap={None: 'urn:hl7-org:v3',
'mif': 'urn:hl7-org:v3/mif',
'xsi': 'http://www.w3.org/2001/XMLSchema-instance',
'{http://www.w3.org/2001/XMLSchema-instance}schemaLocation': 'urn:hl7-org:v3 CDA.xsd'})
问题在于nsmap 中的schemaLocation 条目。 lxml 似乎正在尝试验证该值并给出错误
ValueError: Invalid namespace URI u'urn:hl7-org:v3 CDA.xsd'
我是否错误地指定了 schemaLocation 值?有没有办法强制lxml 接受任何字符串值?还是示例中的值只是为了成为我应该用其他东西替换的占位符?
【问题讨论】:
标签: python xml lxml xml-namespaces cda