<#@ template language="C#" hostspecific="True" #> <#@ include file="Utility.tt" #> <#@ assembly name="System.Xml" #> <#@ import namespace="System.Xml" #> <# Init(); #> // Generated on <#= DateTime.Now.ToString() #> // from <#= _mappingFile #> namespace <#=_namespace#> { public partial class <#=_className#> { /// Property constants for <#=_className#> public class Properties { private Properties() { } <# foreach (XmlElement element in _classElements) { if (element.Attributes["name"] != null) { string propertyName = element.Attributes["name"].Value; #> /// Constant for <#=_className#>.<#=propertyName#> (="<#=propertyName#>") public const string <#=propertyName#> = "<#=propertyName#>"; <# } } #> } } } <#+ private string _mappingFile; private XmlDocument _mapping; private string _fullClassName; private string _className; private string _namespace; private XmlNodeList _classElements; private void Init() { _mappingFile = GetCommandLineProperty("mappingFile"); _mapping = new XmlDocument(); _mapping.Load(_mappingFile); _fullClassName = _mapping.SelectSingleNode("//*[local-name()='class']/@name").Value; _fullClassName = _fullClassName.Split(',')[0]; string[] names = _fullClassName.Split('.'); _className = names[names.Length - 1]; _namespace = _fullClassName.Substring(0, _fullClassName.Length - _className.Length - 1); _classElements = _mapping.SelectNodes("//*[local-name()='class']/*"); } #>