UserXmlParser#
- class xsdata.formats.dataclass.parsers.UserXmlParser(config=<factory>, context=<factory>, handler=<class 'xsdata.formats.dataclass.parsers.handlers.native.XmlEventHandler'>)[source]#
User Xml parser for dataclasses with hooks for emitting events to alter the behavior when an elements starts or ends.
- Parameters:
config (
ParserConfig
) – Parser configurationcontext (
XmlContext
) – Model context providerhandler (
Type
[XmlHandler
]) – Override default XmlHandler
- Variables:
ms_map – The prefix-URI map generated during parsing
emit_cache – Qname to event name cache
- handler#
alias of
XmlEventHandler
- start(clazz, queue, objects, qname, attrs, ns_map)[source]#
Start element notification receiver.
Build and queue the XmlNode for the starting element.
- Parameters:
clazz (
Optional
[Type
]) – Root class type, if it’s missing look for any suitable models from the current context.queue (
List
[XmlNode
]) – The active XmlNode queueobjects (
List
[Tuple
[Optional
[str
],Any
]]) – The list of all intermediate parsed objectsqname (
str
) – Qualified nameattrs (
Dict
) – Attribute key-value mapns_map (
Dict
) – Namespace prefix-URI map
- end(queue, objects, qname, text, tail)[source]#
End element notification receiver.
Pop the last XmlNode from the queue and use it to build and return the resulting object tree with its text and tail content.
- emit_event(event, name, **kwargs)[source]#
Propagate event to subclasses.
Match event and name to a subclass method and trigger it with any input keyword arguments.
Example:
event=start, name={urn}bookTitle -> start_booking_title(**kwargs)
- __eq__(other)#
Return self==value.
- __hash__ = None#
- from_bytes(source, clazz=None)#
Parse the input bytes array return the resulting object tree.
- Return type:
TypeVar
(T
)
- from_path(path, clazz=None)#
Parse the input file path and return the resulting object tree.
- Return type:
TypeVar
(T
)
- from_string(source, clazz=None)#
Parse the input string and return the resulting object tree.
- Return type:
TypeVar
(T
)