1
Vote

PascalCase sets XmlRootAttribute.ElementName incorrectly

description

The PascalCase feature in 3.5 beta is great! However, if the tag name contains periods, the root element name generated is incorrect. It sets element name with an XmlRootAttribute constructor parameter ("T.1.01.0") and ElementName ("T1010"), but ElementName is not the tag name but the class name. See below for an example.
 
// ------------------------------------------------------------------------------
// <auto-generated>
// Generated by Xsd2Code. Version 3.5.0.40152
// <NameSpace>Company.Transactions</NameSpace><Collection>List</Collection><codeType>CSharp</codeType><EnableDataBinding>False</EnableDataBinding><EnableLazyLoading>False</EnableLazyLoading><TrackingChangesEnable>False</TrackingChangesEnable><GenTrackingClasses>False</GenTrackingClasses><HidePrivateFieldInIDE>False</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><VirtualProp>False</VirtualProp><PascalCase>True</PascalCase><BaseClassName>EntityBase</BaseClassName><IncludeSerializeMethod>False</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenBaseClass>False</GenBaseClass><GenerateCloneMethod>False</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net40</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><OrderXMLAttrib>False</OrderXMLAttrib><EnableEncoding>False</EnableEncoding><AutomaticProperties>True</AutomaticProperties><GenerateShouldSerialize>False</GenerateShouldSerialize><DisableDebug>False</DisableDebug><PropNameSpecified>Default</PropNameSpecified><Encoder>UTF8</Encoder><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><InitializeFields>Collections</InitializeFields><GenerateAllTypes>True</GenerateAllTypes>
// </auto-generated>
// ------------------------------------------------------------------------------
 
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.17379")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, TypeName = "T1010")]
[System.Xml.Serialization.XmlRootAttribute("T.1.01.0", Namespace = "", IsNullable = false, , ElementName = "T1010")]
public partial class T1010 { /* ... */ }

comments

jrummell wrote May 8, 2012 at 3:00 PM

If I have time this week or next, I'll try to submit a patch.