private StructMapping ImportStructDataType(XmlSchemaSimpleType dataType, string typeNs, string identifier, Type baseType)
{
identifier = Accessor.UnescapeName(identifier);
string typeName = GenerateUniqueTypeName(identifier);
StructMapping structMapping = new StructMapping();
structMapping.IsReference = Schemas.IsReference(dataType);
TypeFlags flags = TypeFlags.Reference;
TypeDesc baseTypeDesc = Scope.GetTypeDesc(baseType);
structMapping.TypeDesc = new TypeDesc(typeName, typeName, TypeKind.Struct, baseTypeDesc, flags);
structMapping.Namespace = typeNs;
structMapping.TypeName = identifier;
CodeIdentifiers members = new CodeIdentifiers();
members.AddReserved(typeName);
AddReservedIdentifiersForDataBinding(members);
ImportTextMember(members, new CodeIdentifiers(), null);
structMapping.Members = (MemberMapping[])members.ToArray(typeof(MemberMapping));
structMapping.Scope = members;
Scope.AddTypeMapping(structMapping);
return structMapping;
}