diff --git a/XmlSchemaClassGenerator.Tests/XmlTests.cs b/XmlSchemaClassGenerator.Tests/XmlTests.cs index ba67ef9d..8d318628 100644 --- a/XmlSchemaClassGenerator.Tests/XmlTests.cs +++ b/XmlSchemaClassGenerator.Tests/XmlTests.cs @@ -35,25 +35,17 @@ private Assembly Compile(string name, string pattern, Generator generatorPrototy { GenerateNullables = true, IntegerDataType = typeof(int), - DataAnnotationMode = DataAnnotationMode.Partial, + DataAnnotationMode = DataAnnotationMode.All, GenerateDesignerCategoryAttribute = false, EntityFramework = false, - GenerateInterfaces = true + GenerateInterfaces = true, + NamespacePrefix = name, }; var gen = new Generator { OutputFolder = outputFolder, - NamespaceProvider = new NamespaceProvider - { - GenerateNamespace = key => - { - var xn = key.XmlSchemaNamespace; - var nm = string.Join(".", xn.Split('/').Where(p => Regex.IsMatch(p, @"^[A-Za-z]+$") && p != "schema") - .Select(n => Generator.ToTitleCase(n, NamingScheme.PascalCase))); - return name + (string.IsNullOrEmpty(nm) ? "" : ("." + nm)); - } - }, + NamespaceProvider = generatorPrototype.NamespaceProvider, Log = f => cs.Add(f), GenerateNullables = generatorPrototype.GenerateNullables, IntegerDataType = generatorPrototype.IntegerDataType, @@ -106,7 +98,12 @@ public void CanDeserializeSampleXml() TestSamples("Client", ClientPattern); Compile("IS24RestApi", IS24Pattern); TestSamples("IS24RestApi", IS24Pattern); - Compile("Wadl", WadlPattern, new Generator { EntityFramework = true, DataAnnotationMode = DataAnnotationMode.All }); + Compile("Wadl", WadlPattern, new Generator + { + EntityFramework = true, + DataAnnotationMode = DataAnnotationMode.All, + NamespaceProvider = new Dictionary { { new NamespaceKey("http://wadl.dev.java.net/2009/02"), "Wadl" } }.ToNamespaceProvider(new GeneratorConfiguration { NamespacePrefix = "Wadl" }.NamespaceProvider.GenerateNamespace) + }); TestSamples("Wadl", WadlPattern); } diff --git a/XmlSchemaClassGenerator/Generator.cs b/XmlSchemaClassGenerator/Generator.cs index e19d7a58..0b2db114 100644 --- a/XmlSchemaClassGenerator/Generator.cs +++ b/XmlSchemaClassGenerator/Generator.cs @@ -27,6 +27,12 @@ public NamespaceProvider NamespaceProvider set { _configuration.NamespaceProvider = value; } } + public string NamespacePrefix + { + get { return _configuration.NamespacePrefix; } + set { _configuration.NamespacePrefix = value; } + } + public string OutputFolder { get { return _configuration.OutputFolder; }