private IEnumerable <string> ConvertXml(string name, string xsd, Generator generatorPrototype = null)
        {
            var writer = new MemoryOutputWriter();

            var gen = new Generator
            {
                OutputWriter       = writer,
                Version            = new VersionProvider("Tests", "1.0.0.1"),
                NamespaceProvider  = generatorPrototype.NamespaceProvider,
                GenerateNullables  = generatorPrototype.GenerateNullables,
                IntegerDataType    = generatorPrototype.IntegerDataType,
                DataAnnotationMode = generatorPrototype.DataAnnotationMode,
                GenerateDesignerCategoryAttribute = generatorPrototype.GenerateDesignerCategoryAttribute,
                EntityFramework    = generatorPrototype.EntityFramework,
                GenerateInterfaces = generatorPrototype.GenerateInterfaces,
                MemberVisitor      = generatorPrototype.MemberVisitor,
                TimeDataType       = generatorPrototype.TimeDataType
            };

            var set = new XmlSchemaSet();

            using (var stringReader = new StringReader(xsd))
            {
                var schema = XmlSchema.Read(stringReader, (s, e) =>
                {
                    throw new InvalidOperationException();
                });

                set.Add(schema);
            }

            gen.Generate(set);

            return(writer.Content);
        }
        private static IEnumerable <string> ConvertXml(string name, string xsd, Generator generatorPrototype = null)
        {
            if (name is null)
            {
                throw new ArgumentNullException(nameof(name));
            }

            var writer = new MemoryOutputWriter();

            var gen = new Generator
            {
                OutputWriter                       = writer,
                Version                            = new VersionProvider("Tests", "1.0.0.1"),
                NamespaceProvider                  = generatorPrototype.NamespaceProvider,
                GenerateNullables                  = generatorPrototype.GenerateNullables,
                IntegerDataType                    = generatorPrototype.IntegerDataType,
                UseIntegerDataTypeAsFallback       = generatorPrototype.UseIntegerDataTypeAsFallback,
                DataAnnotationMode                 = generatorPrototype.DataAnnotationMode,
                GenerateDesignerCategoryAttribute  = generatorPrototype.GenerateDesignerCategoryAttribute,
                GenerateComplexTypesForCollections = generatorPrototype.GenerateComplexTypesForCollections,
                EntityFramework                    = generatorPrototype.EntityFramework,
                AssemblyVisible                    = generatorPrototype.AssemblyVisible,
                GenerateInterfaces                 = generatorPrototype.GenerateInterfaces,
                MemberVisitor                      = generatorPrototype.MemberVisitor,
                CodeTypeReferenceOptions           = generatorPrototype.CodeTypeReferenceOptions
            };

            var set = new XmlSchemaSet();

            using (var stringReader = new StringReader(xsd))
            {
                var schema = XmlSchema.Read(stringReader, (s, e) =>
                {
                    throw new InvalidOperationException($"{e.Severity}: {e.Message}", e.Exception);
                });

                set.Add(schema);
            }

            gen.Generate(set);

            return(writer.Content);
        }