Sto cercando di specificare uno spazio dei nomi utilizzando lxml simile a questo esempio (tratto da here):Python: l'aggiunta di spazi dei nomi in lxml
<TreeInventory xsi:noNamespaceSchemaLocation="Trees.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
</TreeInventory>
Non sono sicuro di come aggiungere l'istanza dello schema di utilizzare e anche la posizione dello schema. Il documentation mi ha iniziato, facendo qualcosa di simile:
>>> 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'
Non sono sicuro di come specificare che un'istanza però, e poi anche specificare una posizione. Sembra che questo possa essere fatto con la parola chiave nsmap
in etree.Element
, ma non vedo come.
Piccola correzione: dovrebbe essere noNamespaceSchemaLocation, no noNameSpaceSchemaLocation. –