From 7ba7203bb3c684503aff96c2777ad1757dd88530 Mon Sep 17 00:00:00 2001 From: Michael Ganss Date: Wed, 26 May 2021 13:12:19 +0200 Subject: [PATCH] Use type's source URI --- XmlSchemaClassGenerator/ModelBuilder.cs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/XmlSchemaClassGenerator/ModelBuilder.cs b/XmlSchemaClassGenerator/ModelBuilder.cs index 4b2ca572..84eea232 100644 --- a/XmlSchemaClassGenerator/ModelBuilder.cs +++ b/XmlSchemaClassGenerator/ModelBuilder.cs @@ -247,11 +247,10 @@ private void CreateElements(IEnumerable elements) { foreach (var rootElement in elements) { - var rootSchema = rootElement.GetSchema(); - var source = CodeUtilities.CreateUri(rootSchema.SourceUri); + var typeSource = CodeUtilities.CreateUri(rootElement.ElementSchemaType.SourceUri); var qualifiedName = rootElement.ElementSchemaType.QualifiedName; if (qualifiedName.IsEmpty) { qualifiedName = rootElement.QualifiedName; } - var type = CreateTypeModel(source, rootElement.ElementSchemaType, qualifiedName); + var type = CreateTypeModel(typeSource, rootElement.ElementSchemaType, qualifiedName); ClassModel derivedClassModel = null; if (type.RootElementName != null) @@ -261,10 +260,12 @@ private void CreateElements(IEnumerable elements) // There is already another global element with this type. // Need to create an empty derived class. + var elementSource = CodeUtilities.CreateUri(rootElement.SourceUri); + derivedClassModel = new ClassModel(_configuration) { Name = _configuration.NamingProvider.RootClassNameFromQualifiedName(rootElement.QualifiedName), - Namespace = CreateNamespaceModel(source, rootElement.QualifiedName) + Namespace = CreateNamespaceModel(elementSource, rootElement.QualifiedName) }; derivedClassModel.Documentation.AddRange(GetDocumentation(rootElement));