analyzer
xsdata.codegen.analyzer
ClassAnalyzer
Validate, analyze, sanitize and filter the generated classes.
Source code in xsdata/codegen/analyzer.py
9 10 11 12 13 14 15 16 17 18 19 20 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 |
|
process(container)
classmethod
Main entrypoint for the class container instance.
Orchestrate the class validations and processors.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
container | ClassContainer | The class container instance | required |
Returns:
Type | Description |
---|---|
List[Class] | The list of classes to be generated. |
Source code in xsdata/codegen/analyzer.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
class_references(target)
classmethod
Produce a list of instance references for the given class.
Collect the ids of the class, attr, extension and inner instances.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target | Class | The target class instance | required |
List
The list of id references.
Source code in xsdata/codegen/analyzer.py
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 |
|
validate_references(classes)
classmethod
Validate all codegen objects are not cross-referenced.
This validation ensures we never share any attr, or extension between classes.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
classes | List[Class] | The list of classes to be generated. | required |
Raises:
Type | Description |
---|---|
AnalyzerValueError | If an object is shared between the classes. |
Source code in xsdata/codegen/analyzer.py
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
|