Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InstantiateSimpleTable()

DataTable System.Data.XSDSchema.InstantiateSimpleTable ( XmlSchemaElement node)
inlinepackage

Definition at line 1300 of file XSDSchema.cs.

1301 {
1303 string @namespace = node.QualifiedName.Namespace;
1304 DataTable dataTable = _ds.Tables.GetTable(text, @namespace);
1305 if (!FromInference && dataTable != null)
1306 {
1307 throw ExceptionBuilder.DuplicateDeclaration(text);
1308 }
1309 if (dataTable == null)
1310 {
1311 dataTable = new DataTable(text);
1312 dataTable.Namespace = @namespace;
1313 dataTable.Namespace = GetStringAttribute(node, "targetNamespace", @namespace);
1314 if (!FromInference)
1315 {
1316 dataTable.MinOccurs = node.MinOccurs;
1317 dataTable.MaxOccurs = node.MaxOccurs;
1318 }
1319 else
1320 {
1321 string prefix = GetPrefix(@namespace);
1322 if (prefix != null)
1323 {
1325 }
1326 }
1327 SetProperties(dataTable, node.UnhandledAttributes);
1328 SetExtProperties(dataTable, node.UnhandledAttributes);
1329 }
1332 if (!FromInference || (flag && dataTable.Columns.Count == 0))
1333 {
1334 HandleElementColumn(node, dataTable, isBase: false);
1335 string text2;
1336 if (FromInference)
1337 {
1338 int num = 0;
1339 text2 = text + "_Text";
1340 while (dataTable.Columns[text2] != null)
1341 {
1342 text2 += num++;
1343 }
1344 }
1345 else
1346 {
1347 text2 = text + "_Column";
1348 }
1349 dataTable.Columns[0].ColumnName = text2;
1350 dataTable.Columns[0].ColumnMapping = MappingType.SimpleContent;
1351 }
1352 if (!FromInference || _ds.Tables.GetTable(text, @namespace) == null)
1353 {
1354 _ds.Tables.Add(dataTable);
1355 if (FromInference)
1356 {
1357 _tableDictionary.Add(dataTable, new List<DataTable>());
1358 }
1359 }
1360 if (_dsElement != null && _dsElement.Constraints != null)
1361 {
1362 foreach (XmlSchemaIdentityConstraint constraint in _dsElement.Constraints)
1363 {
1364 if (!(constraint is XmlSchemaKeyref) && GetTableName(constraint) == dataTable.TableName)
1365 {
1366 HandleConstraint(constraint);
1367 }
1368 }
1369 }
1371 return dataTable;
1372 }
void Add(TKey key, TValue value)
string GetInstanceName(XmlSchemaAnnotated node)
static ? string DecodeName(string? name)
Definition XmlConvert.cs:55

References System.Data.DataTableCollection.Add(), System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Schema.XmlSchemaElement.Constraints, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.XmlConvert.DecodeName(), System.Xml.Dictionary, System.Data.ExceptionBuilder.DuplicateDeclaration(), System.Data.XSDSchema.GetInstanceName(), System.Data.DataTableCollection.GetTable(), System.prefix, System.Data.DataSet.Tables, and System.text.