From 585d6f3435374e1ddd6e98d391ef7ab500f6d7c8 Mon Sep 17 00:00:00 2001 From: Michael Ganss Date: Thu, 20 Jan 2022 17:43:47 +0100 Subject: [PATCH] Improve support for group references (see c94de71cccf28595f7d2b0c67f5e6c1a87e3eb2a and #299) --- XmlSchemaClassGenerator/ModelBuilder.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/XmlSchemaClassGenerator/ModelBuilder.cs b/XmlSchemaClassGenerator/ModelBuilder.cs index 2b5ab7c0..7b4d8e41 100644 --- a/XmlSchemaClassGenerator/ModelBuilder.cs +++ b/XmlSchemaClassGenerator/ModelBuilder.cs @@ -184,10 +184,7 @@ private void RenameInterfacePropertiesIfRenamedInDerivedClasses() { if (implementationClassProperty.Name != implementationClassProperty.OriginalPropertyName && implementationClassProperty.OriginalPropertyName == interfaceProperty.Name - && implementationClassProperty.XmlSchemaName == interfaceProperty.XmlSchemaName - && implementationClassProperty.XmlParent?.Parent is XmlSchemaGroup implementationGroup - && interfaceProperty.XmlParent?.Parent is XmlSchemaGroup interfaceGroup - && implementationGroup.QualifiedName == interfaceGroup.QualifiedName) + && implementationClassProperty.XmlSchemaName == interfaceProperty.XmlSchemaName) { RenameInterfacePropertyInBaseClasses(interfaceModel, implementationClass, interfaceProperty, implementationClassProperty.Name); interfaceProperty.Name = implementationClassProperty.Name; @@ -944,7 +941,7 @@ private IEnumerable CreatePropertiesForElements(Uri source, TypeM CreateTypeModel(group, groupRef.RefName); } - var groupItems = GetElements(group.Particle).Where(p => !processedItems.Any(q => p.XmlParticle == q.XmlParticle)).ToList(); + var groupItems = GetElements(groupRef.Particle).Where(p => !processedItems.Any(q => p.XmlParticle == q.XmlParticle)).ToList(); var groupProperties = CreatePropertiesForElements(source, typeModel, item, groupItems, order: order, processedItems: processedItems).ToList(); if (_configuration.EmitOrder) {