xsdata.codegen.parsers.schema module¶
-
class
xsdata.codegen.parsers.schema.
SchemaParser
(config=<factory>, context=<factory>, handler=<class 'xsdata.formats.dataclass.parsers.handlers.lxml.LxmlEventHandler'>, index=<factory>, indices=<factory>, location=None, target_namespace=None, default_attributes=None, default_open_content=None)[source]¶ Bases:
xsdata.formats.dataclass.parsers.xml.XmlParser
A simple parser to convert an xsd schema to an easy to handle data structure based on dataclasses.
The parser is a dummy as possible but it will try to normalize certain things like apply parent properties to children.
- Parameters
element_form –
attribute_form –
default_open_content (
Optional
[DefaultOpenContent
]) –config (
ParserConfig
) –context (
XmlContext
) –handler (
Type
[XmlHandler
]) –index (
int
) –
-
element_form
: Optional[xsdata.models.enums.FormType] = None¶
-
attribute_form
: Optional[xsdata.models.enums.FormType] = None¶
-
default_open_content
: Optional[xsdata.models.xsd.DefaultOpenContent] = None¶
-
start
(clazz, queue, objects, qname, attrs, ns_map)[source]¶ Queue the next xml node for parsing.
Emit a start event with the current element qualified name and attributes.
-
end
(queue, objects, qname, text, tail)[source]¶ Override parent method to set element index and namespaces map.
-
start_schema
(attrs)[source]¶ Collect the schema’s default form for attributes and elements for later usage.
- Parameters
attrs (
Dict
) –
-
set_schema_forms
(obj)[source]¶ Set the default form type for elements and attributes.
Global elements and attributes are by default qualified.
- Parameters
obj (
Schema
) –
-
set_schema_namespaces
(obj)[source]¶ Set the given schema’s target namespace and add the default namespaces if the are missing xsi, xlink, xml, xs.
- Parameters
obj (
Schema
) –
-
static
set_namespace_map
(obj, ns_map)[source]¶ Add common namespaces like xml, xsi, xlink if they are missing.
-
static
add_default_imports
(obj)[source]¶ Add missing imports to the standard schemas if the namespace is declared and.
- Parameters
obj (
Schema
) –
-
resolve_schemas_locations
(obj)[source]¶ Resolve the locations of the schema overrides, redefines, includes and imports relatively to the schema location.
- Parameters
obj (
Schema
) –
-
resolve_path
(location)[source]¶ Resolve the given location string relatively the schema location path.
-
resolve_local_path
(location, namespace)[source]¶ Resolve the given namespace to one of the local standard schemas or fallback to the external file path.
-
end_attribute
(obj)[source]¶ Assign the schema’s default form for attributes if the given attribute form is None.
- Parameters
obj (~T) –
-
end_complex_type
(obj)[source]¶ Prepend an attribute group reference when default attributes apply.
- Parameters
obj (~T) –
-
end_default_open_content
(obj)[source]¶ Set the instance default open content to be used later as a property for all extensions and restrictions.
- Parameters
obj (~T) –
-
end_element
(obj)[source]¶ Assign the schema’s default form for elements if the given element form is None.
- Parameters
obj (~T) –
-
end_extension
(obj)[source]¶ Set the open content if any to the given extension.
- Parameters
obj (~T) –
-
classmethod
end_open_content
(obj)[source]¶ Adjust the index to trick later processors into putting attributes derived from this open content last in classes.
- Parameters
obj (~T) –