diff --git a/XmlSchemaClassGenerator/ModelBuilder.cs b/XmlSchemaClassGenerator/ModelBuilder.cs index 835a860e..5684db66 100644 --- a/XmlSchemaClassGenerator/ModelBuilder.cs +++ b/XmlSchemaClassGenerator/ModelBuilder.cs @@ -665,10 +665,9 @@ private IEnumerable CreatePropertiesForAttributes(Uri source, Typ return properties; } - private IEnumerable CreatePropertiesForElements(Uri source, TypeModel typeModel, XmlSchemaParticle particle, IEnumerable items) + private IEnumerable CreatePropertiesForElements(Uri source, TypeModel typeModel, XmlSchemaParticle particle, IEnumerable items, int order = 0) { var properties = new List(); - var order = 0; foreach (var item in items) { @@ -755,7 +754,11 @@ private IEnumerable CreatePropertiesForElements(Uri source, TypeM } var groupItems = GetElements(groupRef.Particle); - var groupProperties = CreatePropertiesForElements(source, typeModel, item.XmlParticle, groupItems); + var groupProperties = CreatePropertiesForElements(source, typeModel, item.XmlParticle, groupItems, order).ToList(); + if (_configuration.EmitOrder) + { + order += groupProperties.Count; + } properties.AddRange(groupProperties); } }