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.
-
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
-
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
-