void WriteElementNamespaces(XElement elem, IReadOnlyList<string> baseTypes) { elem.Add(new XAttribute(XNamespace.Xmlns + "xsi", xsiNamespace), new XAttribute(XNamespace.Xmlns + "xsd", xsdNamespace)); for (var i = 0; i < baseTypes.Count; i++) { var prefix = BaseType; if (i != 0) { prefix += i; } elem.Add(new XAttribute(XNamespace.Xmlns + prefix, baseTypes[i])); } }