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

◆ HandleComplexType()

void System.Data.XSDSchema.HandleComplexType ( XmlSchemaComplexType ct,
DataTable table,
ArrayList tableChildren,
bool isNillable )
inlinepackage

Definition at line 944 of file XSDSchema.cs.

945 {
947 {
948 throw ExceptionBuilder.CircularComplexType(ct.Name);
949 }
950 bool isBase = false;
952 if (ct.ContentModel != null)
953 {
954 if (ct.ContentModel is XmlSchemaComplexContent)
955 {
956 XmlSchemaAnnotated content = ((XmlSchemaComplexContent)ct.ContentModel).Content;
958 {
960 if (!(ct.BaseXmlSchemaType is XmlSchemaComplexType) || !FromInference)
961 {
963 }
964 if (ct.BaseXmlSchemaType is XmlSchemaComplexType)
965 {
967 }
968 else if (xmlSchemaComplexContentExtension.BaseTypeName.Namespace != "http://www.w3.org/2001/XMLSchema")
969 {
970 HandleSimpleContentColumn(xmlSchemaComplexContentExtension.BaseTypeName.ToString(), table, isBase, ct.ContentModel.UnhandledAttributes, isNillable);
971 }
972 else
973 {
974 HandleSimpleContentColumn(xmlSchemaComplexContentExtension.BaseTypeName.Name, table, isBase, ct.ContentModel.UnhandledAttributes, isNillable);
975 }
976 if (xmlSchemaComplexContentExtension.Particle != null)
977 {
979 }
980 if (ct.BaseXmlSchemaType is XmlSchemaComplexType && FromInference)
981 {
983 }
984 }
985 else
986 {
988 if (!FromInference)
989 {
991 }
992 if (xmlSchemaComplexContentRestriction.Particle != null)
993 {
995 }
996 if (FromInference)
997 {
999 }
1000 }
1001 }
1002 else
1003 {
1004 XmlSchemaAnnotated content2 = ((XmlSchemaSimpleContent)ct.ContentModel).Content;
1006 {
1009 if (ct.BaseXmlSchemaType is XmlSchemaComplexType)
1010 {
1012 }
1013 else
1014 {
1015 HandleSimpleTypeSimpleContentColumn((XmlSchemaSimpleType)ct.BaseXmlSchemaType, xmlSchemaSimpleContentExtension.BaseTypeName.Name, table, isBase, ct.ContentModel.UnhandledAttributes, isNillable);
1016 }
1017 }
1018 else
1019 {
1022 }
1023 }
1024 }
1025 else
1026 {
1027 isBase = true;
1028 if (!FromInference)
1029 {
1030 HandleAttributes(ct.Attributes, table, isBase);
1031 }
1032 if (ct.Particle != null)
1033 {
1034 HandleParticle(ct.Particle, table, tableChildren, isBase);
1035 }
1036 if (FromInference)
1037 {
1038 HandleAttributes(ct.Attributes, table, isBase);
1039 if (isNillable)
1040 {
1041 HandleSimpleContentColumn("string", table, isBase, null, isNillable);
1042 }
1043 }
1044 }
1046 }
virtual void Remove(object? obj)
virtual int Add(object? value)
virtual bool Contains(object? item)
ArrayList _complexTypes
Definition XSDSchema.cs:47
void HandleSimpleTypeSimpleContentColumn(XmlSchemaSimpleType typeNode, string strType, DataTable table, bool isBase, XmlAttribute[] attrs, bool isNillable)
void HandleSimpleContentColumn(string strType, DataTable table, bool isBase, XmlAttribute[] attrs, bool isNillable)
void HandleAttributes(XmlSchemaObjectCollection attributes, DataTable table, bool isBase)
Definition XSDSchema.cs:907
void HandleComplexType(XmlSchemaComplexType ct, DataTable table, ArrayList tableChildren, bool isNillable)
Definition XSDSchema.cs:944
void HandleParticle(XmlSchemaParticle pt, DataTable table, ArrayList tableChildren, bool isBase)
Definition XSDSchema.cs:831

References System.Data.XSDSchema._complexTypes, System.Collections.ArrayList.Add(), System.Data.ExceptionBuilder.CircularComplexType(), System.Collections.ArrayList.Contains(), System.Data.XSDSchema.FromInference, System.Data.XSDSchema.HandleAttributes(), System.Data.XSDSchema.HandleComplexType(), System.Data.XSDSchema.HandleParticle(), System.Data.XSDSchema.HandleSimpleContentColumn(), System.Data.XSDSchema.HandleSimpleTypeSimpleContentColumn(), and System.Collections.ArrayList.Remove().

Referenced by System.Data.XSDSchema.HandleComplexType().