bases
xsdata.formats.dataclass.parsers.bases
NodeParser
dataclass
Bases: PushParser
Bind xml nodes to data classes.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
context | XmlContext | The models context instance | field(default_factory=XmlContext) |
handler | Type[XmlHandler] | The xml handler class | field(default=EventsHandler) |
Attributes:
Name | Type | Description |
---|---|---|
ns_map | The parsed namespace prefix-URI map |
Source code in xsdata/formats/dataclass/parsers/bases.py
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
|
parse(source, clazz=None)
Parse the input file or stream into the target class type.
If no clazz is provided, the binding context will try to locate it from imported dataclasses.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
source | Any | The source file or stream object to parse | required |
clazz | Optional[Type[T]] | The target class type to parse the source bytes object | None |
Returns:
Type | Description |
---|---|
T | An instance of the specified class representing the parsed content. |
Source code in xsdata/formats/dataclass/parsers/bases.py
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
|
start(clazz, queue, objects, qname, attrs, ns_map)
Build and queue the XmlNode for the starting element.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
clazz | Optional[Type] | The target class type, auto locate if omitted | required |
queue | List[XmlNode] | The XmlNode queue list | required |
objects | List[Parsed] | The list of all intermediate parsed objects | required |
qname | str | The element qualified name | required |
attrs | Dict | The element attributes | required |
ns_map | Dict | The element namespace prefix-URI map | required |
Source code in xsdata/formats/dataclass/parsers/bases.py
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
|
end(queue, objects, qname, text, tail)
Parse the last xml node and bind any intermediate objects.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
queue | List[XmlNode] | The XmlNode queue list | required |
objects | List[Parsed] | The list of all intermediate parsed objects | required |
qname | str | The element qualified name | required |
text | Optional[str] | The element text content | required |
tail | Optional[str] | The element tail content | required |
Returns:
Type | Description |
---|---|
bool | Whether the binding process was successful. |
Source code in xsdata/formats/dataclass/parsers/bases.py
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
|
RecordParser
dataclass
Bases: NodeParser
Bind xml nodes to dataclasses and store the intermediate events.
Attributes:
Name | Type | Description |
---|---|---|
events | List | The list of recorded events |
Source code in xsdata/formats/dataclass/parsers/bases.py
154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
|
start(clazz, queue, objects, qname, attrs, ns_map)
Build and queue the XmlNode for the starting element.
Record the start event for later processing.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
clazz | Optional[Type] | The target class type, auto locate if omitted | required |
queue | List[XmlNode] | The XmlNode queue list | required |
objects | List[Parsed] | The list of all intermediate parsed objects | required |
qname | str | The element qualified name | required |
attrs | Dict | The element attributes | required |
ns_map | Dict | The element namespace prefix-URI map | required |
Source code in xsdata/formats/dataclass/parsers/bases.py
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
|
end(queue, objects, qname, text, tail)
Parse the last xml node and bind any intermediate objects.
Record the end event for later processing
Parameters:
Name | Type | Description | Default |
---|---|---|---|
queue | List[XmlNode] | The XmlNode queue list | required |
objects | List[Parsed] | The list of all intermediate parsed objects | required |
qname | str | The element qualified name | required |
text | Optional[str] | The element text content | required |
tail | Optional[str] | The element tail content | required |
Returns:
Type | Description |
---|---|
Any | Whether the binding process was successful. |
Source code in xsdata/formats/dataclass/parsers/bases.py
188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 |
|
register_namespace(prefix, uri)
Register the uri prefix in the namespace registry.
Record the start-ns event for later processing
Parameters:
Name | Type | Description | Default |
---|---|---|---|
prefix | Optional[str] | Namespace prefix | required |
uri | str | Namespace uri | required |
Source code in xsdata/formats/dataclass/parsers/bases.py
213 214 215 216 217 218 219 220 221 222 223 |
|