J'essaie d'utiliser lxml.etree
pour reproduire l'exemple CDA trouvé dans le CDA QuickStart Guide found here.lxml xsi: espace de noms schemaLocation problème de validation URI
En particulier, je rencontre des problèmes avec les espaces de noms qui tentent de recréer cet élément.
<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">
Le code J'utilise est la suivante
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'})
Le problème est avec l'entrée en schemaLocation
nsmap
. lxml
semble essayer de valider la valeur et donne l'erreur
ValueError: Invalid namespace URI u'urn:hl7-org:v3 CDA.xsd'
Suis-je spécifiant la valeur schemaLocation
mal? Existe-t-il un moyen de forcer lxml
à accepter n'importe quelle valeur de chaîne? Ou la valeur dans l'exemple est-elle simplement destinée à être un espace réservé que je suis supposé remplacer par quelque chose d'autre?
Merci d'avoir creusé cela, j'avais renoncé à trouver la réponse. – user3419537