все Python 3xml.etree.ElementTreeпонятие
xml.etree.ElementTree.QName
пространства имён
Обёртка полного имени {uri}local: позволяет задать тег или значение атрибута с пространством имён отдельно uri и локальным именем.
Синтаксис
q = ET.QName(text_or_uri, tag=None)
ElementTree хранит имена в нотации Кларка '{uri}local', и QName лишь собирает её из двух частей: в .text лежит та же строка. Пригождается, когда значение атрибута само является именем с префиксом (xsi:type), — тогда при сериализации префикс будет объявлен. Сравнивается QName со строкой по .text, но elem.tag после разбора — обычная str, а не QName.
Примеры
import xml.etree.ElementTree as ET
q = ET.QName('http://ex.com/ns', 'item')
print(q.text, q == '{http://ex.com/ns}item') # → {http://ex.com/ns}item True
e = ET.Element(q)
print(ET.tostring(e, encoding='unicode')) # → <ns0:item xmlns:ns0="http://ex.com/ns" />
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности