Я пытаюсь использовать lxml.etree
для воспроизведения примера CDA, найденного в CDA QuickStart Guide found here.lxml xsi: schemaLocation namespace Ошибка проверки URI
В частности, у меня возникают проблемы с пространствами имен, которые пытаются воссоздать этот элемент.
<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'})
Проблема заключается с schemaLocation
записи в nsmap
. lxml
, кажется, пытается проверить значение и дает ошибку
ValueError: Invalid namespace URI u'urn:hl7-org:v3 CDA.xsd'
Могу ли я, указав значение schemaLocation
неправильно? Есть ли способ заставить lxml
принять любое строковое значение? Или значение в примере просто предназначено для замены, которое я должен заменить чем-то другим?
Спасибо, что выкопали это, я отказался от поиска ответа. – user3419537