Я работаю с несколькими привязками классов XSD, используя PyXB 1.2.6. Я хочу получить порядок имен подэлементов произвольного определения типа элемента. До сих пор я придумал этот код:
from pyxb.binding.basis import element
def get_sub_elements(type_definition):
"""Returns an ordered list of the respective
sub-elements of the given PyXB element.
"""
if isinstance(type_definition, element):
type_definition = type_definition._element__typeDefinition()
element_map = type_definition._ElementMap
return tuple(name.localName() for name in element_map.keys())
Однако, поскольку _ElementMap
- это dict
, он выдает ключи в случайном порядке. Однако мне нужен порядок элементов, как это определено в соответствующем XSD. Как мне этого добиться?