Je suis en train de spécifier un espace de noms à l'aide lxml similaire à cet exemple (pris de here):Python: l'ajout d'espaces de noms dans lxml
<TreeInventory xsi:noNamespaceSchemaLocation="Trees.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</TreeInventory>
Je ne sais pas comment ajouter l'instance de schéma à utilisez et aussi l'emplacement du schéma. Le documentation m'a lancé, en faisant quelque chose comme:
>>> NS = 'http://www.w3.org/2001/XMLSchema-instance'
>>> TREE = '{%s}' % NS
>>> NSMAP = {None: NS}
>>> tree = etree.Element(TREE + 'TreeInventory', nsmap=NSMAP)
>>> etree.tostring(tree, pretty_print=True)
'<TreeInventory xmlns="http://www.w3.org/2001/XMLSchema-instance"/>\n'
Je ne sais pas comment le spécifier une instance bien, puis spécifiez également un emplacement. Il semble que cela peut être fait avec le nsmap
keyword-arg en etree.Element
, mais je ne vois pas comment.
Juste une petite correction: Doit être noNamespaceSchemaLocation, no noNameSpaceSchemaLocation. –