xsdata 21.1__tar.gz → 21.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xsdata-21.1 → xsdata-21.2}/CHANGES.rst +26 -0
- {xsdata-21.1/xsdata.egg-info → xsdata-21.2}/PKG-INFO +22 -20
- {xsdata-21.1 → xsdata-21.2}/README.rst +21 -19
- xsdata-21.2/docs/api/reference/xsdata.models.datatype.XmlBase64Binary.rst +7 -0
- xsdata-21.2/docs/api/reference/xsdata.models.datatype.XmlHexBinary.rst +7 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.camel_case.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.capitalize.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.kebab_case.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.mixed_case.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.mixed_pascal_case.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.mixed_snake_case.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.pascal_case.rst +6 -0
- xsdata-21.2/docs/api/reference/xsdata.utils.text.snake_case.rst +6 -0
- xsdata-21.2/docs/api/utils.rst +19 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/xml-datatypes.rst +2 -0
- {xsdata-21.1 → xsdata-21.2}/docs/data-types-table.rst +36 -36
- {xsdata-21.1 → xsdata-21.2}/docs/models.rst +153 -2
- {xsdata-21.1 → xsdata-21.2}/setup.cfg +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/test_attribute_group.py +6 -8
- xsdata-21.2/tests/codegen/handlers/test_attribute_sanitizer.py +186 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/test_attribute_substitution.py +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/test_attribute_type.py +44 -54
- xsdata-21.1/tests/codegen/handlers/test_attribute_enumeration.py → xsdata-21.2/tests/codegen/handlers/test_class_enumeration.py +41 -9
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/test_class_extension.py +164 -71
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/mappers/test_definitions.py +6 -6
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/mappers/test_schema.py +11 -13
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/models/test_attr.py +15 -3
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/models/test_attr_type.py +0 -8
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/models/test_class.py +12 -11
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/models/test_restrictions.py +39 -42
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/parsers/test_schema.py +6 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_analyzer.py +5 -4
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_container.py +21 -29
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_sanitizer.py +62 -70
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_transformer.py +7 -1
- xsdata-21.2/tests/codegen/test_utils.py +199 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_validator.py +6 -11
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_writer.py +3 -3
- {xsdata-21.1 → xsdata-21.2}/tests/conftest.py +0 -1
- {xsdata-21.1 → xsdata-21.2}/tests/factories.py +15 -15
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter01.json +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter08.json +5 -5
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter10.json +5 -5
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter10.py +12 -11
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter12.json +2 -2
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter13.json +6 -6
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter13.py +11 -18
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter15.json +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/accessible/__init__.py +2 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/accessible/schema.py +19 -16
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/google/__init__.py +2 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/google/schema.py +18 -17
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/numpy/__init__.py +2 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/numpy/schema.py +19 -17
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/rst/__init__.py +2 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/rst/schema.py +17 -16
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/order.json +11 -11
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/order.pu +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/test_json.py +4 -3
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/test_nodes.py +55 -4
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/test_xml.py +10 -2
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_client.py +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_context.py +33 -22
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_elements.py +4 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_filters.py +63 -49
- {xsdata-21.1 → xsdata-21.2}/tests/formats/test_converter.py +37 -45
- {xsdata-21.1 → xsdata-21.2}/tests/integration/test_calculator.py +1 -1
- {xsdata-21.1 → xsdata-21.2}/tests/integration/test_hello_rpc.py +3 -3
- xsdata-21.2/tests/models/enums/test_datatype.py +64 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/test_config.py +3 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/test_datatype.py +126 -8
- {xsdata-21.1 → xsdata-21.2}/tests/models/test_mixins.py +6 -15
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_alternative.py +8 -1
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_any.py +6 -6
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_any_attribute.py +5 -5
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_attribute.py +11 -8
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_attribute_group.py +3 -3
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_complex_type.py +0 -4
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_element.py +11 -15
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_enumeration.py +0 -4
- xsdata-21.2/tests/models/xsd/test_extension.py +12 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_group.py +3 -3
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_list.py +3 -4
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_restriction.py +10 -12
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_simple_type.py +7 -11
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_union.py +14 -14
- {xsdata-21.1 → xsdata-21.2}/tests/utils/test_collections.py +24 -2
- {xsdata-21.1 → xsdata-21.2}/tests/utils/test_text.py +11 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/analyzer.py +3 -7
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/container.py +21 -30
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/__init__.py +4 -4
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/attribute_group.py +2 -3
- xsdata-21.2/xsdata/codegen/handlers/attribute_sanitizer.py +131 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/attribute_substitution.py +1 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/attribute_type.py +32 -30
- xsdata-21.2/xsdata/codegen/handlers/class_enumeration.py +94 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/class_extension.py +113 -44
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/mappers/definitions.py +4 -5
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/mappers/schema.py +17 -21
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/mixins.py +5 -5
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/models.py +42 -22
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/parsers/schema.py +1 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/sanitizer.py +30 -61
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/transformer.py +6 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/utils.py +54 -22
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/validator.py +4 -9
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/converter.py +98 -58
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/context.py +42 -18
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/filters.py +53 -57
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/models/elements.py +6 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/json.py +15 -4
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/nodes.py +44 -12
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/json.py +1 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/xml.py +2 -2
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/class.jinja2 +1 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/enum.jinja2 +2 -2
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/service.jinja2 +1 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/config.py +28 -17
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/datatype.py +144 -19
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/enums.py +119 -59
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/mixins.py +4 -13
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/xsd.py +70 -81
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/collections.py +34 -1
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/constants.py +5 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/text.py +17 -6
- {xsdata-21.1 → xsdata-21.2/xsdata.egg-info}/PKG-INFO +22 -20
- {xsdata-21.1 → xsdata-21.2}/xsdata.egg-info/SOURCES.txt +15 -5
- xsdata-21.1/tests/codegen/handlers/test_attribute_mismatch.py +0 -91
- xsdata-21.1/tests/codegen/test_utils.py +0 -127
- xsdata-21.1/tests/models/enums/test_datatype.py +0 -15
- xsdata-21.1/tests/models/xsd/test_extension.py +0 -13
- xsdata-21.1/tests/models/xsd/test_simple_content.py +0 -9
- xsdata-21.1/xsdata/codegen/handlers/attribute_enumeration.py +0 -55
- xsdata-21.1/xsdata/codegen/handlers/attribute_mismatch.py +0 -53
- {xsdata-21.1 → xsdata-21.2}/LICENSE +0 -0
- {xsdata-21.1 → xsdata-21.2}/MANIFEST.in +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/Makefile +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/_templates/dataclass.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/.gitignore +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/codegen.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/generics.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/parsing.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.context.XmlContext.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.models.elements.XmlMeta.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.models.elements.XmlVar.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.models.generics.AnyElement.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.models.generics.DerivedElement.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.JsonParser.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.XmlParser.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.config.ParserConfig.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.handlers.LxmlEventHandler.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.handlers.LxmlSaxHandler.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.handlers.XmlEventHandler.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.handlers.XmlSaxHandler.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.mixins.XmlHandler.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.nodes.AnyTypeNode.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.nodes.ElementNode.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.nodes.PrimitiveNode.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.nodes.UnionNode.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.nodes.WildcardNode.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.parsers.nodes.XmlNode.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.serializers.JsonSerializer.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.serializers.XmlSerializer.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.serializers.config.SerializerConfig.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.serializers.mixins.XmlWriter.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.serializers.writers.LxmlEventWriter.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.formats.dataclass.serializers.writers.XmlEventWriter.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.DocstringStyle.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.GeneratorAlias.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.GeneratorAliases.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.GeneratorConfig.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.GeneratorConventions.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.GeneratorOutput.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.NameCase.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.NameConvention.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.OutputFormat.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.config.OutputStructure.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.datatype.XmlDate.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.datatype.XmlDateTime.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.datatype.XmlDuration.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.datatype.XmlPeriod.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/reference/xsdata.models.datatype.XmlTime.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/serializing.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/xml-context.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/xml-handlers.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/xml-nodes.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api/xml-writers.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/api.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/changelog.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/codegen.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/conf.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/data-types.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter01.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter03.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter04.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter05.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter08.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter10.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter12.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter13.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter15.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter16.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/defxmlschema/chapter17.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/demos.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/examples/basic_model.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/examples/config.sample.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/index.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/installation.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/json.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/make.bat +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/plantuml.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/robots.txt +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/scripts/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/scripts/generate_data_types.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/scripts/generate_defxml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/wsdl.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/docs/xml.rst +0 -0
- {xsdata-21.1 → xsdata-21.2}/setup.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/test_attribute_merge.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/handlers/test_attribute_mixed_content.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/mappers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/models/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/parsers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/parsers/test_definitions.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/codegen/test_resolver.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/bk001.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/bk002.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/books-xinclude.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/books.json +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/books.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/books.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/books_auto_ns.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/books_default_ns.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/fixtures.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/books/schema.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/calculator/AddRQ.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/calculator/AddRS.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/calculator/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/calculator/services.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/calculator/services.wsdl +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter01.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter01.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter01.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter01.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03.json +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03ord.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03ord.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03prod.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03prod.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03prod2.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter03prod2.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04.json +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04cust.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04cust.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04ord2.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04prod.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter04prod.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05.json +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05prod.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter05prod.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter06.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter06.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter07.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter07.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter08.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter08.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter08.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter08.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter10.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter10.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter10.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter12.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter12.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter12.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter12.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter13.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter13.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter13.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter15.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter15.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter15.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter15.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter16.json +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter16.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter16.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter16.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter16.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter17.json +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter17.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter17.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter17.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/defxmlschema/chapter17.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/docstrings/schema.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/fix.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/HelloRQ.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/HelloRS.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/HelloRS_SoapFault.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/hello.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/hello.wsdl +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/hello/hello.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/order.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/order.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/order.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/fixtures/primer/order.xsdata.xml +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/handlers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/handlers/test_lxml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/handlers/test_native.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/test_mixins.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/test_utils.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/parsers/test_xml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/test_json.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/test_mixins.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/writers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/writers/test_lxml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/serializers/writers/test_native.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_generator.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_transport.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/dataclass/test_utils.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/plantuml/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/plantuml/test_generator.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/formats/test_mixins.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/benchmarks/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/benchmarks/conftest.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/benchmarks/test_handlers.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/test_books.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/test_defxmlschema.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/test_docstrings.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/integration/test_primer.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/enums/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/wsdl/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/wsdl/test_binding.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/wsdl/test_definitions.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/wsdl/test_port_type.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_all.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_annotation_base.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_choice.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_complex_content.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/models/xsd/test_schema.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/test_cli.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/utils/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/utils/test_dates.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/utils/test_downloader.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/utils/test_namespaces.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tests/utils/test_testing.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/tox.ini +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/cli.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/attribute_merge.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/handlers/attribute_mixed_content.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/mappers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/parsers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/parsers/definitions.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/resolver.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/codegen/writer.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/exceptions.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/bindings.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/client.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/generator.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/models/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/models/generics.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/config.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/handlers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/handlers/lxml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/handlers/native.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/mixins.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/utils.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/parsers/xml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/config.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/mixins.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/writers/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/writers/lxml.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/serializers/writers/native.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/docstrings.accessible.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/docstrings.google.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/docstrings.numpy.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/docstrings.rst.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/imports.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/templates/module.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/transports.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/dataclass/utils.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/mixins.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/plantuml/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/plantuml/generator.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/plantuml/templates/class.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/plantuml/templates/enum.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/formats/plantuml/templates/module.jinja2 +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/logger.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/models/wsdl.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/py.typed +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/schemas/xlink.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/schemas/xml.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/schemas/xsi.xsd +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/__init__.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/dates.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/downloader.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/namespaces.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/package.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata/utils/testing.py +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata.egg-info/dependency_links.txt +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata.egg-info/entry_points.txt +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata.egg-info/requires.txt +0 -0
- {xsdata-21.1 → xsdata-21.2}/xsdata.egg-info/top_level.txt +0 -0
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
21.2 (2021-02-02)
|
|
2
|
+
-----------------
|
|
3
|
+
|
|
4
|
+
- Added class name context for user naming schemes `#348 <https://github.com/tefra/xsdata/issues/348>`_
|
|
5
|
+
- Added mixed pascal naming scheme `#348 <https://github.com/tefra/xsdata/issues/348>`_
|
|
6
|
+
- Added access to element/attribute name generators `#381 <https://github.com/tefra/xsdata/issues/381>`_
|
|
7
|
+
- Added XmlHexBinary/XmlBase64Binary builtin data types `#387 <https://github.com/tefra/xsdata/issues/387>`_
|
|
8
|
+
- Added support for xs:anyType root elements `#399 <https://github.com/tefra/xsdata/issues/399>`_
|
|
9
|
+
- Updated JSON binding modules to use the fields local name `#389 <https://github.com/tefra/xsdata/issues/389>`_
|
|
10
|
+
- Updated enum classes generation
|
|
11
|
+
- Promote all inner enums to root `#383 <https://github.com/tefra/xsdata/issues/383>`_
|
|
12
|
+
- Fixed issues with producing invalid members `#385 <https://github.com/tefra/xsdata/issues/385>`_
|
|
13
|
+
- Added support for list/tuple member values
|
|
14
|
+
- Updated parsers accuracy for Union types
|
|
15
|
+
- Updated dependency resolution accuracy
|
|
16
|
+
- Update base classes generation strategies
|
|
17
|
+
- Updated builtin data types with helper constructors/methods
|
|
18
|
+
- Fixed inner class names conflicts `#375 <https://github.com/tefra/xsdata/issues/375>`_
|
|
19
|
+
- Fixed issue not generating fields derived from xs:alternative elements `#393 <https://github.com/tefra/xsdata/issues/393>`_
|
|
20
|
+
- Fixed duplicate root class name regression from v20.12
|
|
21
|
+
- Fixed issue adding unused lib imports
|
|
22
|
+
- Fixed issue adding unused name properties to choice elements
|
|
23
|
+
|
|
24
|
+
This is a sleeper release ✨✨✨ so many code generation improvements and finally the
|
|
25
|
+
JSON binding is aligned with XML.
|
|
26
|
+
|
|
1
27
|
21.1 (2021-01-08)
|
|
2
28
|
-----------------
|
|
3
29
|
- Fixed XmlWriter converting attribute keys to QName. `#346 <https://github.com/tefra/xsdata/issues/346>`_
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: xsdata
|
|
3
|
-
Version: 21.
|
|
3
|
+
Version: 21.2
|
|
4
4
|
Summary: Python XML Binding
|
|
5
5
|
Home-page: https://github.com/tefra/xsdata
|
|
6
6
|
Author: Christodoulos Tsoulloftas
|
|
@@ -70,26 +70,28 @@ Description: .. image:: https://github.com/tefra/xsdata/raw/master/docs/_static/
|
|
|
70
70
|
- Pluggable code writer that supports python dataclasses and PlantUML class diagrams.
|
|
71
71
|
|
|
72
72
|
|
|
73
|
-
Changelog: 21.
|
|
73
|
+
Changelog: 21.2 (2021-02-02)
|
|
74
74
|
----------------------------
|
|
75
|
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
75
|
+
|
|
76
|
+
- Added class name context for user naming schemes `#348 <https://github.com/tefra/xsdata/issues/348>`_
|
|
77
|
+
- Added mixed pascal naming scheme `#348 <https://github.com/tefra/xsdata/issues/348>`_
|
|
78
|
+
- Added access to element/attribute name generators `#381 <https://github.com/tefra/xsdata/issues/381>`_
|
|
79
|
+
- Added XmlHexBinary/XmlBase64Binary builtin data types `#387 <https://github.com/tefra/xsdata/issues/387>`_
|
|
80
|
+
- Added support for xs:anyType root elements `#399 <https://github.com/tefra/xsdata/issues/399>`_
|
|
81
|
+
- Updated JSON binding modules to use the fields local name `#389 <https://github.com/tefra/xsdata/issues/389>`_
|
|
82
|
+
- Updated enum classes generation
|
|
83
|
+
- Promote all inner enums to root `#383 <https://github.com/tefra/xsdata/issues/383>`_
|
|
84
|
+
- Fixed issues with producing invalid members `#385 <https://github.com/tefra/xsdata/issues/385>`_
|
|
85
|
+
- Added support for list/tuple member values
|
|
86
|
+
- Updated parsers accuracy for Union types
|
|
87
|
+
- Updated dependency resolution accuracy
|
|
88
|
+
- Update base classes generation strategies
|
|
89
|
+
- Updated builtin data types with helper constructors/methods
|
|
90
|
+
- Fixed inner class names conflicts `#375 <https://github.com/tefra/xsdata/issues/375>`_
|
|
91
|
+
- Fixed issue not generating fields derived from xs:alternative elements `#393 <https://github.com/tefra/xsdata/issues/393>`_
|
|
92
|
+
- Fixed duplicate root class name regression from v20.12
|
|
93
|
+
- Fixed issue adding unused lib imports
|
|
94
|
+
- Fixed issue adding unused name properties to choice elements
|
|
93
95
|
|
|
94
96
|
Keywords: xsd,wsdl,schema,binding,xml,json,dataclasses,generator,cli
|
|
95
97
|
Platform: UNKNOWN
|
|
@@ -59,23 +59,25 @@ Features
|
|
|
59
59
|
- Pluggable code writer that supports python dataclasses and PlantUML class diagrams.
|
|
60
60
|
|
|
61
61
|
|
|
62
|
-
Changelog: 21.
|
|
62
|
+
Changelog: 21.2 (2021-02-02)
|
|
63
63
|
----------------------------
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
64
|
+
|
|
65
|
+
- Added class name context for user naming schemes `#348 <https://github.com/tefra/xsdata/issues/348>`_
|
|
66
|
+
- Added mixed pascal naming scheme `#348 <https://github.com/tefra/xsdata/issues/348>`_
|
|
67
|
+
- Added access to element/attribute name generators `#381 <https://github.com/tefra/xsdata/issues/381>`_
|
|
68
|
+
- Added XmlHexBinary/XmlBase64Binary builtin data types `#387 <https://github.com/tefra/xsdata/issues/387>`_
|
|
69
|
+
- Added support for xs:anyType root elements `#399 <https://github.com/tefra/xsdata/issues/399>`_
|
|
70
|
+
- Updated JSON binding modules to use the fields local name `#389 <https://github.com/tefra/xsdata/issues/389>`_
|
|
71
|
+
- Updated enum classes generation
|
|
72
|
+
- Promote all inner enums to root `#383 <https://github.com/tefra/xsdata/issues/383>`_
|
|
73
|
+
- Fixed issues with producing invalid members `#385 <https://github.com/tefra/xsdata/issues/385>`_
|
|
74
|
+
- Added support for list/tuple member values
|
|
75
|
+
- Updated parsers accuracy for Union types
|
|
76
|
+
- Updated dependency resolution accuracy
|
|
77
|
+
- Update base classes generation strategies
|
|
78
|
+
- Updated builtin data types with helper constructors/methods
|
|
79
|
+
- Fixed inner class names conflicts `#375 <https://github.com/tefra/xsdata/issues/375>`_
|
|
80
|
+
- Fixed issue not generating fields derived from xs:alternative elements `#393 <https://github.com/tefra/xsdata/issues/393>`_
|
|
81
|
+
- Fixed duplicate root class name regression from v20.12
|
|
82
|
+
- Fixed issue adding unused lib imports
|
|
83
|
+
- Fixed issue adding unused name properties to choice elements
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
=========
|
|
2
|
+
Utilities
|
|
3
|
+
=========
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
.. currentmodule:: xsdata.utils
|
|
7
|
+
|
|
8
|
+
.. autosummary::
|
|
9
|
+
:toctree: reference
|
|
10
|
+
:nosignatures:
|
|
11
|
+
|
|
12
|
+
text.capitalize
|
|
13
|
+
text.pascal_case
|
|
14
|
+
text.camel_case
|
|
15
|
+
text.mixed_case
|
|
16
|
+
text.mixed_pascal_case
|
|
17
|
+
text.mixed_snake_case
|
|
18
|
+
text.snake_case
|
|
19
|
+
text.kebab_case
|
|
@@ -16,77 +16,77 @@
|
|
|
16
16
|
-
|
|
17
17
|
-
|
|
18
18
|
* - :class:`bytes`
|
|
19
|
-
- base64Binary
|
|
20
19
|
- hexBinary
|
|
20
|
+
- base64Binary
|
|
21
21
|
-
|
|
22
22
|
-
|
|
23
23
|
-
|
|
24
24
|
* - :class:`~decimal.Decimal`
|
|
25
25
|
- decimal
|
|
26
|
-
-
|
|
26
|
+
-
|
|
27
27
|
-
|
|
28
28
|
-
|
|
29
29
|
-
|
|
30
30
|
* - :class:`float`
|
|
31
31
|
- float
|
|
32
|
-
-
|
|
32
|
+
- double
|
|
33
33
|
-
|
|
34
34
|
-
|
|
35
35
|
-
|
|
36
36
|
* - :class:`int`
|
|
37
|
-
- byte
|
|
38
|
-
- int
|
|
39
37
|
- integer
|
|
40
|
-
-
|
|
38
|
+
- nonPositiveInteger
|
|
41
39
|
- negativeInteger
|
|
40
|
+
- long
|
|
41
|
+
- int
|
|
42
42
|
* -
|
|
43
|
-
- nonNegativeInteger
|
|
44
|
-
- nonPositiveInteger
|
|
45
|
-
- positiveInteger
|
|
46
43
|
- short
|
|
47
|
-
-
|
|
48
|
-
|
|
49
|
-
- unsignedInt
|
|
44
|
+
- byte
|
|
45
|
+
- nonNegativeInteger
|
|
50
46
|
- unsignedLong
|
|
47
|
+
- unsignedInt
|
|
48
|
+
* -
|
|
51
49
|
- unsignedShort
|
|
50
|
+
- unsignedByte
|
|
51
|
+
- positiveInteger
|
|
52
52
|
-
|
|
53
53
|
-
|
|
54
54
|
* - :class:`object`
|
|
55
|
-
- anySimpleType
|
|
56
55
|
- anyType
|
|
56
|
+
- anySimpleType
|
|
57
57
|
-
|
|
58
58
|
-
|
|
59
59
|
-
|
|
60
60
|
* - :class:`~xml.etree.ElementTree.QName`
|
|
61
|
-
- NOTATION
|
|
62
61
|
- QName
|
|
62
|
+
- NOTATION
|
|
63
63
|
-
|
|
64
64
|
-
|
|
65
65
|
-
|
|
66
66
|
* - :class:`str`
|
|
67
|
-
-
|
|
67
|
+
- string
|
|
68
68
|
- anyURI
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
69
|
+
- normalizedString
|
|
70
|
+
- token
|
|
71
|
+
- language
|
|
72
72
|
* -
|
|
73
|
-
-
|
|
74
|
-
-
|
|
73
|
+
- NMTOKEN
|
|
74
|
+
- NMTOKENS
|
|
75
|
+
- Name
|
|
76
|
+
- NCName
|
|
75
77
|
- ID
|
|
78
|
+
* -
|
|
76
79
|
- IDREF
|
|
77
80
|
- IDREFS
|
|
81
|
+
- ENTITIES
|
|
82
|
+
- ENTITY
|
|
83
|
+
- anyAtomicType
|
|
78
84
|
* -
|
|
79
|
-
-
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
* -
|
|
85
|
-
- NMTOKENS
|
|
86
|
-
- normalizedString
|
|
87
|
-
- simpleDerivationSet
|
|
88
|
-
- string
|
|
89
|
-
- token
|
|
85
|
+
- error
|
|
86
|
+
-
|
|
87
|
+
-
|
|
88
|
+
-
|
|
89
|
+
-
|
|
90
90
|
* - :class:`~xsdata.models.datatype.XmlDate`
|
|
91
91
|
- date
|
|
92
92
|
-
|
|
@@ -100,17 +100,17 @@
|
|
|
100
100
|
-
|
|
101
101
|
-
|
|
102
102
|
* - :class:`~xsdata.models.datatype.XmlDuration`
|
|
103
|
+
- duration
|
|
103
104
|
- dayTimeDuration
|
|
104
105
|
- yearMonthDuration
|
|
105
|
-
- duration
|
|
106
106
|
-
|
|
107
107
|
-
|
|
108
108
|
* - :class:`~xsdata.models.datatype.XmlPeriod`
|
|
109
|
-
- gDay
|
|
110
|
-
- gMonth
|
|
111
|
-
- gMonthDay
|
|
112
|
-
- gYear
|
|
113
109
|
- gYearMonth
|
|
110
|
+
- gYear
|
|
111
|
+
- gMonthDay
|
|
112
|
+
- gMonth
|
|
113
|
+
- gDay
|
|
114
114
|
* - :class:`~xsdata.models.datatype.XmlTime`
|
|
115
115
|
- time
|
|
116
116
|
-
|
|
@@ -27,6 +27,9 @@ Basic Model
|
|
|
27
27
|
Class Meta
|
|
28
28
|
==========
|
|
29
29
|
|
|
30
|
+
Through the Meta class you can control the model's behaviour during data binding
|
|
31
|
+
procedures.
|
|
32
|
+
|
|
30
33
|
.. list-table::
|
|
31
34
|
:widths: 20 10 300
|
|
32
35
|
:header-rows: 1
|
|
@@ -36,13 +39,19 @@ Class Meta
|
|
|
36
39
|
- Description
|
|
37
40
|
* - name
|
|
38
41
|
- str
|
|
39
|
-
- The real name of the element this class represents.
|
|
42
|
+
- The real/local name of the element this class represents.
|
|
40
43
|
* - nillable
|
|
41
44
|
- bool
|
|
42
45
|
- Specifies whether an explicit empty value can be assigned, default: False
|
|
43
46
|
* - namespace
|
|
44
47
|
- str
|
|
45
48
|
- The element xml namespace.
|
|
49
|
+
* - element_name_generator
|
|
50
|
+
- Callable
|
|
51
|
+
- Element name generator
|
|
52
|
+
* - attribute_name_generator
|
|
53
|
+
- Callable
|
|
54
|
+
- Attribute name generator
|
|
46
55
|
|
|
47
56
|
|
|
48
57
|
Field Typing
|
|
@@ -55,6 +64,9 @@ Simply follow the Python lib
|
|
|
55
64
|
Field Metadata
|
|
56
65
|
==============
|
|
57
66
|
|
|
67
|
+
Through the metadata properties you can control the field's behaviour during data
|
|
68
|
+
binding procedures.
|
|
69
|
+
|
|
58
70
|
.. list-table::
|
|
59
71
|
:widths: 20 10 250
|
|
60
72
|
:header-rows: 1
|
|
@@ -64,7 +76,7 @@ Field Metadata
|
|
|
64
76
|
- Description
|
|
65
77
|
* - name
|
|
66
78
|
- str
|
|
67
|
-
- The real name of the element or attribute this field represents.
|
|
79
|
+
- The real/local name of the element or attribute this field represents.
|
|
68
80
|
* - type
|
|
69
81
|
- str
|
|
70
82
|
- The field xml type:
|
|
@@ -328,3 +340,142 @@ is directly assigned as text to elements.
|
|
|
328
340
|
.. code-block:: xml
|
|
329
341
|
|
|
330
342
|
<root>2020</root>
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
Advance Topics
|
|
346
|
+
==============
|
|
347
|
+
|
|
348
|
+
Customize element and attribute names
|
|
349
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
350
|
+
|
|
351
|
+
Through the model and field metadata you can explicitly specify the serialized
|
|
352
|
+
names. You can also provide callables to set the real/local names per model or
|
|
353
|
+
for the entire binding context.
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
**Ordered by priority**
|
|
357
|
+
|
|
358
|
+
.. tab:: Explicit names
|
|
359
|
+
|
|
360
|
+
Explicit model and field names is the most straight forward way to customize
|
|
361
|
+
the real/local names for elements and attributes. It can become tedious though
|
|
362
|
+
when you have to do this for models with a lot of fields.
|
|
363
|
+
|
|
364
|
+
.. doctest::
|
|
365
|
+
|
|
366
|
+
>>> from dataclasses import dataclass, field
|
|
367
|
+
>>> from datetime import date
|
|
368
|
+
>>> from xsdata.formats.dataclass.serializers import XmlSerializer
|
|
369
|
+
>>> from xsdata.formats.dataclass.serializers.config import SerializerConfig
|
|
370
|
+
...
|
|
371
|
+
>>> config = SerializerConfig(pretty_print=True, xml_declaration=False)
|
|
372
|
+
>>> serializer = XmlSerializer(config=config)
|
|
373
|
+
...
|
|
374
|
+
>>> @dataclass
|
|
375
|
+
... class Person:
|
|
376
|
+
...
|
|
377
|
+
... class Meta:
|
|
378
|
+
... name = "Person" # Explicit name
|
|
379
|
+
...
|
|
380
|
+
... first_name: str = field(metadata=dict(name="firstName"))
|
|
381
|
+
... last_name: str = field(metadata=dict(name="lastName"))
|
|
382
|
+
... birth_date: date = field(
|
|
383
|
+
... metadata=dict(
|
|
384
|
+
... type="Attribute",
|
|
385
|
+
... format="%Y-%m-%d",
|
|
386
|
+
... name="dob" # Explicit name
|
|
387
|
+
... )
|
|
388
|
+
... )
|
|
389
|
+
...
|
|
390
|
+
>>> obj = Person(
|
|
391
|
+
... first_name="Chris",
|
|
392
|
+
... last_name="T",
|
|
393
|
+
... birth_date=date(1986, 9, 25),
|
|
394
|
+
... )
|
|
395
|
+
>>> print(serializer.render(obj))
|
|
396
|
+
<Person dob="1986-09-25">
|
|
397
|
+
<firstName>Chris</firstName>
|
|
398
|
+
<lastName>T</lastName>
|
|
399
|
+
</Person>
|
|
400
|
+
<BLANKLINE>
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
.. tab:: Model name generators
|
|
404
|
+
|
|
405
|
+
Through the Meta class you can provide callables to apply a naming scheme for all
|
|
406
|
+
the model fields. The :mod:`xsdata.utils.text` has various helpers that you can
|
|
407
|
+
reuse.
|
|
408
|
+
|
|
409
|
+
.. doctest::
|
|
410
|
+
|
|
411
|
+
>>> from xsdata.utils import text
|
|
412
|
+
...
|
|
413
|
+
>>> @dataclass
|
|
414
|
+
... class person:
|
|
415
|
+
...
|
|
416
|
+
... class Meta:
|
|
417
|
+
... element_name_generator = text.pascal_case
|
|
418
|
+
... attribute_name_generator = text.camel_case
|
|
419
|
+
...
|
|
420
|
+
... first_name: str
|
|
421
|
+
... last_name: str
|
|
422
|
+
... birth_date: date = field(
|
|
423
|
+
... metadata=dict(
|
|
424
|
+
... type="Attribute",
|
|
425
|
+
... format="%Y-%m-%d"
|
|
426
|
+
... )
|
|
427
|
+
... )
|
|
428
|
+
...
|
|
429
|
+
>>> obj = person(
|
|
430
|
+
... first_name="Chris",
|
|
431
|
+
... last_name="T",
|
|
432
|
+
... birth_date=date(1986, 9, 25),
|
|
433
|
+
... )
|
|
434
|
+
>>> print(serializer.render(obj))
|
|
435
|
+
<Person birthDate="1986-09-25">
|
|
436
|
+
<FirstName>Chris</FirstName>
|
|
437
|
+
<LastName>T</LastName>
|
|
438
|
+
</Person>
|
|
439
|
+
<BLANKLINE>
|
|
440
|
+
|
|
441
|
+
|
|
442
|
+
.. tab:: Context name generators
|
|
443
|
+
|
|
444
|
+
Through the :class:`~xsdata.formats.dataclass.context.XmlContext` instance you can
|
|
445
|
+
provide callables to apply a naming scheme for all models and their fields. This way
|
|
446
|
+
you can avoid declaring them for every model but you have to use the same context
|
|
447
|
+
whenever you want to use a parser/serializer.
|
|
448
|
+
|
|
449
|
+
.. doctest::
|
|
450
|
+
|
|
451
|
+
>>> from xsdata.formats.dataclass.context import XmlContext
|
|
452
|
+
...
|
|
453
|
+
>>> @dataclass
|
|
454
|
+
... class Person:
|
|
455
|
+
...
|
|
456
|
+
... first_name: str
|
|
457
|
+
... last_name: str
|
|
458
|
+
... birth_date: date = field(
|
|
459
|
+
... metadata=dict(
|
|
460
|
+
... type="Attribute",
|
|
461
|
+
... format="%Y-%m-%d"
|
|
462
|
+
... )
|
|
463
|
+
... )
|
|
464
|
+
...
|
|
465
|
+
>>> obj = Person(
|
|
466
|
+
... first_name="Chris",
|
|
467
|
+
... last_name="T",
|
|
468
|
+
... birth_date=date(1986, 9, 25),
|
|
469
|
+
... )
|
|
470
|
+
...
|
|
471
|
+
>>> context = XmlContext(
|
|
472
|
+
... element_name_generator=text.camel_case,
|
|
473
|
+
... attribute_name_generator=text.kebab_case
|
|
474
|
+
... )
|
|
475
|
+
>>> serializer = XmlSerializer(context=context, config=config)
|
|
476
|
+
>>> print(serializer.render(obj))
|
|
477
|
+
<person birth-date="1986-09-25">
|
|
478
|
+
<firstName>Chris</firstName>
|
|
479
|
+
<lastName>T</lastName>
|
|
480
|
+
</person>
|
|
481
|
+
<BLANKLINE>
|
|
@@ -9,9 +9,7 @@ from xsdata.codegen.models import Attr
|
|
|
9
9
|
from xsdata.codegen.models import Status
|
|
10
10
|
from xsdata.codegen.utils import ClassUtils
|
|
11
11
|
from xsdata.exceptions import AnalyzerValueError
|
|
12
|
-
from xsdata.models.
|
|
13
|
-
from xsdata.models.xsd import ComplexType
|
|
14
|
-
from xsdata.models.xsd import Group
|
|
12
|
+
from xsdata.models.enums import Tag
|
|
15
13
|
|
|
16
14
|
|
|
17
15
|
class AttributeGroupHandlerTests(FactoryTestCase):
|
|
@@ -47,8 +45,8 @@ class AttributeGroupHandlerTests(FactoryTestCase):
|
|
|
47
45
|
|
|
48
46
|
@mock.patch.object(ClassUtils, "copy_group_attributes")
|
|
49
47
|
def test_process_attribute_with_group(self, mock_copy_group_attributes):
|
|
50
|
-
complex_bar = ClassFactory.create(qname="bar",
|
|
51
|
-
group_bar = ClassFactory.create(qname="bar",
|
|
48
|
+
complex_bar = ClassFactory.create(qname="bar", tag=Tag.COMPLEX_TYPE)
|
|
49
|
+
group_bar = ClassFactory.create(qname="bar", tag=Tag.GROUP)
|
|
52
50
|
group_attr = AttrFactory.attribute_group(name="bar")
|
|
53
51
|
target = ClassFactory.create()
|
|
54
52
|
target.attrs.append(group_attr)
|
|
@@ -64,8 +62,8 @@ class AttributeGroupHandlerTests(FactoryTestCase):
|
|
|
64
62
|
|
|
65
63
|
@mock.patch.object(ClassUtils, "copy_group_attributes")
|
|
66
64
|
def test_process_attribute_with_attribute_group(self, mock_copy_group_attributes):
|
|
67
|
-
complex_bar = ClassFactory.create(qname="bar",
|
|
68
|
-
group_bar = ClassFactory.create(qname="bar",
|
|
65
|
+
complex_bar = ClassFactory.create(qname="bar", tag=Tag.COMPLEX_TYPE)
|
|
66
|
+
group_bar = ClassFactory.create(qname="bar", tag=Tag.ATTRIBUTE_GROUP)
|
|
69
67
|
group_attr = AttrFactory.attribute_group(name="bar")
|
|
70
68
|
target = ClassFactory.create()
|
|
71
69
|
target.attrs.append(group_attr)
|
|
@@ -81,7 +79,7 @@ class AttributeGroupHandlerTests(FactoryTestCase):
|
|
|
81
79
|
|
|
82
80
|
def test_process_attribute_with_circular_reference(self):
|
|
83
81
|
group_attr = AttrFactory.attribute_group(name="bar")
|
|
84
|
-
target = ClassFactory.create(qname="bar",
|
|
82
|
+
target = ClassFactory.create(qname="bar", tag=Tag.GROUP)
|
|
85
83
|
target.attrs.append(group_attr)
|
|
86
84
|
|
|
87
85
|
target.status = Status.PROCESSING
|