private void FillDataColumnRepeatedSimpleElement (XmlSchemaElement parent, XmlSchemaElement el, DataColumn col)
{
if (targetElements.Contains (el))
return; // do nothing
AddParentKeyColumn (parent, el, col);
DataColumn pkey = currentTable.PrimaryKey;
string elName = XmlHelper.Decode (el.QualifiedName.Name);
string parentName = XmlHelper.Decode (parent.QualifiedName.Name);
DataTable dt = new DataTable ();
dt.TableName = elName;
dt.Namespace = el.QualifiedName.Namespace;
// reference key column to parent
DataColumn cc = new DataColumn ();
cc.ColumnName = parentName + "_Id";
cc.Namespace = parent.QualifiedName.Namespace;
cc.ColumnMapping = MappingType.Hidden;
cc.DataType = typeof (int);
// repeatable content simple element
DataColumn cc2 = new DataColumn ();
cc2.ColumnName = elName + "_Column";
cc2.Namespace = el.QualifiedName.Namespace;
cc2.ColumnMapping = MappingType.SimpleContent;
cc2.AllowDBNull = false;
#if NET_2_0
cc2.DataType = ConvertDatatype (GetSchemaPrimitiveType (el.ElementSchemaType));
#else
cc2.DataType = ConvertDatatype (GetSchemaPrimitiveType (el.ElementType));
#endif
dt.Columns.Add (cc2);
dt.Columns.Add (cc);
dataset.Tables.Add (dt);
RelationStructure rel = new RelationStructure ();
rel.ParentTableName = parentName;
rel.ChildTableName = dt.TableName;
rel.ParentColumnName = pkey.ColumnName;
rel.ChildColumnName = cc.ColumnName;
rel.IsNested = true;
rel.CreateConstraint = true;
relations.Add (rel);
}