xsdata.formats.dataclass.parsers.xml module

class xsdata.formats.dataclass.parsers.xml.QueueItem(index, position)[source]

Bases: object

index: int = None
position: int = None
class xsdata.formats.dataclass.parsers.xml.ClassQueueItem(index, position, meta, default=None)[source]

Bases: xsdata.formats.dataclass.parsers.xml.QueueItem

meta: ClassMeta = None
default: Any = None
class xsdata.formats.dataclass.parsers.xml.PrimitiveQueueItem(index, position, types, default=None)[source]

Bases: xsdata.formats.dataclass.parsers.xml.QueueItem

types: List[Type] = None
default: Any = None
class xsdata.formats.dataclass.parsers.xml.WildcardQueueItem(index, position, qname)[source]

Bases: xsdata.formats.dataclass.parsers.xml.QueueItem

qname: str = None
class xsdata.formats.dataclass.parsers.xml.SkipQueueItem(index, position)[source]

Bases: xsdata.formats.dataclass.parsers.xml.QueueItem

index = None
position = None
class xsdata.formats.dataclass.parsers.xml.XmlParser(name_generator=<function ModelInspect.<lambda>>, cache=<factory>, index=<factory>)[source]

Bases: xsdata.formats.bindings.AbstractXmlParser, xsdata.formats.dataclass.mixins.ModelInspect

index: int = None
queue: List[Optional[QueueItem]] = None
namespaces: Namespaces = None
objects: List[Tuple[QName, Any]] = None
parse_context(context, clazz)[source]

Dispatch elements to handlers as they arrive and are fully parsed.

Initialize queue with clazz metadata and reset pending objects list.

Raises

ValueError – When the requested type doesn’t match the result object

Return type

~T

queue_node(element)[source]

Queue the necessary metadata to bind the given element when it’s fully parsed.

Checks for the last item in queue: - Is none or has none meta -> inside a wildcard - Element tag exists in known variables -> dataclass or primitive - Element tag equals meta qualified name -> root element - Element tag unknown but queue supports wildcard -> start a wildcard

Raises

ParserError – When the parser cant compute next queue item.

create_skip_queue_item()[source]
create_class_queue_item(var, parent_qname)[source]
create_primitive_queue_item(var)[source]
create_wildcard_queue_item(parent_qname)[source]
dequeue_node(element)[source]

Build an objects tree for the given element.

Construct a dataclass instance with the attributes of the given element and any pending objects that belong to the model. Otherwise parse as a primitive type the element’s text content.

Returns object

A dataclass object or a python primitive value.

Return type

Optional[~T]

emit_event(event, name, **kwargs)[source]

Call if exist the parser’s hook for the given element and event.

fetch_class_children(item, element)[source]

Return a dictionary of qualified object names and their values for the given queue item.

Return type

Dict

fetch_any_children(item)[source]
Return type

List[object]

classmethod bind_element_param(params, var, value)[source]
classmethod bind_element_wildcard_param(params, var, qname, value)[source]
classmethod bind_element_mixed_param(params, meta, element)[source]
bind_element_attrs(metadata, element)[source]

Parse the given element’s attributes and any text content and return a dictionary of field names and values based on the given class metadata.

Return type

Dict

classmethod bind_element_text(metadata, element)[source]
classmethod parse_any_element(element)[source]
Return type

Optional[AnyElement]

classmethod parse_any_text(element)[source]
Return type

Optional[AnyText]

classmethod parse_any_attributes(element)[source]
classmethod element_text_and_tail(element)[source]
Return type

Tuple

classmethod find_eligible_wildcard(meta, qname, params)[source]
Return type

Optional[ClassVar]