Mappings#
Local attributes#
Field of a mapping type is bound to a local element attributes.
Model
class Company(BaseXmlModel):
properties: Dict[str, str]
Document
<Company trade-name="SpaceX" type="Private"/>
{
"properties": {
"trade-name": "SpaceX",
"type": "Private"
}
}
Sub-element attributes#
Field of a mapping type marked as pydantic_xml.element()
is bound to a sub-element attributes.
Parameter tag
of pydantic_xml.element()
is used as a sub-element tag to which attribute
the field is bound. If it is omitted field name is used (respecting pydantic
field aliases).
Model
class Company(BaseXmlModel):
founder: Dict[str, str] = element(tag='Founder')
Document
<Company>
<Founder name="Elon" surname="Musk"/>
</Company>
{
"founder": {
"name": "Elon",
"surname": "Musk"
}
}