update_attributes_effective_choice
xsdata.codegen.handlers.update_attributes_effective_choice
UpdateAttributesEffectiveChoice
Bases: HandlerInterface
Detect implied repeated choices and update them.
valid eg:
Source code in xsdata/codegen/handlers/update_attributes_effective_choice.py
8 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 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 |
|
process(target)
Process entrypoint for classes.
Ignore enumerations, for performance reasons.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target | Class | The target class instance | required |
Source code in xsdata/codegen/handlers/update_attributes_effective_choice.py
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
reset_symmetrical_choices(target)
classmethod
Mark symmetrical choices as sequences.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target | Class | The target class instance | required |
Source code in xsdata/codegen/handlers/update_attributes_effective_choice.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 60 61 62 63 64 65 66 67 |
|
reset_effective_choice(paths, index, max_occur)
classmethod
Update an attr path to resemble a repeatable sequence.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
paths | list[tuple[str, int, int, int]] | The paths of an attr | required |
index | int | The sequence index | required |
max_occur | int | The new max occurrences | required |
Source code in xsdata/codegen/handlers/update_attributes_effective_choice.py
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
|
merge_attrs(target, groups)
classmethod
Merge same name/tag/namespace attrs.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target | Class | The target class | required |
groups | list[list[int]] | The list of connected attr indexes | required |
Returns:
Type | Description |
---|---|
list[Attr] | The final list of target class attrs |
Source code in xsdata/codegen/handlers/update_attributes_effective_choice.py
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 |
|
group_repeating_attrs(target)
classmethod
Create a list of indexes of the same attrs.
[
[0, 1 ,2], [3, 4, 6], [5,]
]
Parameters:
Name | Type | Description | Default |
---|---|---|---|
target | Class | The target class instance | required |
Returns:
Type | Description |
---|---|
list[list[int]] | The list of indexes |
Source code in xsdata/codegen/handlers/update_attributes_effective_choice.py
123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
|