From 7e5b04a50b9eef7bcf60881d081945ae25b00e63 Mon Sep 17 00:00:00 2001 From: Michael Ganss Date: Mon, 24 Jul 2023 12:05:08 +0200 Subject: [PATCH] Do not generate duplicate properties with same name and type (fixes #401) --- XmlSchemaClassGenerator/ModelBuilder.cs | 9 +++++++++ appveyor.yml | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/XmlSchemaClassGenerator/ModelBuilder.cs b/XmlSchemaClassGenerator/ModelBuilder.cs index c2f664ba..a994ebbb 100644 --- a/XmlSchemaClassGenerator/ModelBuilder.cs +++ b/XmlSchemaClassGenerator/ModelBuilder.cs @@ -941,6 +941,15 @@ private PropertyModel PropertyFromElement(TypeModel owningTypeModel, XmlSchemaEl { PropertyModel property; XmlSchemaElementEx effectiveElement = substitute?.Element ?? element; + + property = properties.FirstOrDefault(p => element.QualifiedName == p.XmlSchemaName && p.Type.XmlSchemaType == element.ElementSchemaType); + + if (property != null) + { + property.IsCollection = true; + return property; + } + var name = _configuration.NamingProvider.ElementNameFromQualifiedName(effectiveElement.QualifiedName, effectiveElement); var originalName = name; if (name == owningTypeModel.Name) diff --git a/appveyor.yml b/appveyor.yml index 53f454e8..2dd18e66 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,4 @@ -version: 2.0.{build} +version: 2.0.{build}-beta skip_tags: true image: Visual Studio 2022 environment: