xsdata.codegen.parsers.schema module

class xsdata.codegen.parsers.schema.SchemaParser(context=<factory>, event_names=<factory>, config=<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
location: Optional[str] = None
element_form: Optional[xsdata.models.enums.FormType] = None
attribute_form: Optional[xsdata.models.enums.FormType] = None
target_namespace: Optional[str] = None
default_attributes: Optional[str] = None
default_open_content: Optional[xsdata.models.xsd.DefaultOpenContent] = None
dequeue(element, queue, objects)[source]

Override parent method to set element index and namespaces map.

Parameters
Return type

Any

start_schema(element, item)[source]

Collect the schema’s default form for attributes and elements for later usage.

Parameters
  • element (Element) –

  • item (XmlNode) –

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, element)[source]

Set the given schema’s target namespace and add the default namespaces if the are missing xsi, xlink, xml, xs.

Parameters
  • obj (Schema) –

  • element (Element) –

static set_namespace_map(element, obj)[source]

Add common namespaces like xml, xsi, xlink if they are missing.

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

Parameters

location (Optional[str]) –

Return type

Optional[str]

resolve_local_path(location, namespace)[source]

Resolve the given namespace to one of the local standard schemas or fallback to the external file path.

Parameters
Return type

Optional[str]

end_attribute(obj, element)[source]

Assign the schema’s default form for attributes if the given attribute form is None.

Parameters
  • obj (~T) –

  • element (Element) –

end_complex_type(obj, element)[source]

Prepend an attribute group reference when default attributes apply.

Parameters
  • obj (~T) –

  • element (Element) –

end_default_open_content(obj, element)[source]

Set the instance default open content to be used later as a property for all extensions and restrictions.

Parameters
  • obj (~T) –

  • element (Element) –

end_element(obj, element)[source]

Assign the schema’s default form for elements if the given element form is None.

Parameters
  • obj (~T) –

  • element (Element) –

end_extension(obj, element)[source]

Set the open content if any to the given extension.

Parameters
  • obj (~T) –

  • element (Element) –

classmethod end_open_content(obj, element)[source]

Adjust the index to trick later processors into putting attributes derived from this open content last in classes.

Parameters
  • obj (~T) –

  • element (Element) –

end_restriction(obj, element)[source]

Set the open content if any to the given restriction.

Parameters
  • obj (~T) –

  • element (Element) –

end_schema(obj, element)[source]

Normalize various properties for the schema and it’s children.

Parameters
  • obj (~T) –

  • element (Element) –