/// <summary> /// Shamelessly taken from Xsd2Code project /// </summary> private bool ContainsTypeName(XmlSchema schema, CodeTypeDeclaration type) { //TODO: Does not work for combined anonymous types //fallback: Check if the namespace attribute of the type equals the namespace of the file. //first, find the XmlType attribute. var ns = ExtractNamespace(type); if (ns != null && ns != schema.TargetNamespace) { return(false); } if (!Options.ExcludeImportedTypesByNameAndNamespace) { return(true); } string typeName = type.GetXmlName(); foreach (var item in schema.Items) { var complexItem = item as XmlSchemaComplexType; if (complexItem != null) { if (complexItem.Name == typeName) { return(true); } } var simpleItem = item as XmlSchemaSimpleType; if (simpleItem != null) { if (simpleItem.Name == typeName) { return(true); } } var elementItem = item as XmlSchemaElement; if (elementItem != null) { if (elementItem.Name == typeName) { return(true); } } } return(false); }