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

◆ XDR_BeginAttribute()

static void System.Xml.Schema.XdrBuilder.XDR_BeginAttribute ( XdrBuilder builder)
inlinestaticprivate

Definition at line 1079 of file XdrBuilder.cs.

1080 {
1081 if (builder._BaseDecl._TypeName.IsEmpty)
1082 {
1083 builder.SendValidationEvent(System.SR.Sch_MissAttribute);
1084 }
1085 SchemaAttDef schemaAttDef = null;
1086 XmlQualifiedName typeName = builder._BaseDecl._TypeName;
1087 string prefix = builder._BaseDecl._Prefix;
1088 if (builder._ElementDef._AttDefList != null)
1089 {
1090 schemaAttDef = (SchemaAttDef)builder._ElementDef._AttDefList[typeName];
1091 }
1092 if (schemaAttDef == null)
1093 {
1094 XmlQualifiedName key = typeName;
1095 if (prefix.Length == 0)
1096 {
1097 key = new XmlQualifiedName(typeName.Name, builder._TargetNamespace);
1098 }
1099 if (builder._SchemaInfo.AttributeDecls.TryGetValue(key, out var value))
1100 {
1101 schemaAttDef = value.Clone();
1102 schemaAttDef.Name = typeName;
1103 }
1104 else if (prefix.Length != 0)
1105 {
1106 builder.SendValidationEvent(System.SR.Sch_UndeclaredAttribute, XmlQualifiedName.ToString(typeName.Name, prefix));
1107 }
1108 }
1109 if (schemaAttDef != null)
1110 {
1111 builder.XDR_CheckAttributeDefault(builder._BaseDecl, schemaAttDef);
1112 }
1113 else
1114 {
1115 schemaAttDef = new SchemaAttDef(typeName, prefix);
1116 DeclBaseInfo declBaseInfo = new DeclBaseInfo();
1119 declBaseInfo._TypeName = builder._BaseDecl._TypeName;
1120 declBaseInfo._ElementDecl = builder._ElementDef._ElementDecl;
1121 declBaseInfo._MinOccurs = builder._BaseDecl._MinOccurs;
1122 declBaseInfo._Default = builder._BaseDecl._Default;
1123 declBaseInfo._Next = builder._UndefinedAttributeTypes;
1125 }
1126 builder._ElementDef._ElementDecl.AddAttDef(schemaAttDef);
1127 }
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
static string Sch_MissAttribute
Definition SR.cs:428
static string Sch_UndeclaredAttribute
Definition SR.cs:414
Definition SR.cs:7

References System.Xml.Dictionary, System.key, System.Xml.XmlQualifiedName.Name, System.prefix, System.SR.Sch_MissAttribute, System.SR.Sch_UndeclaredAttribute, System.Xml.XmlQualifiedName.ToString(), System.Collections.Generic.Dictionary< TKey, TValue >.TryGetValue(), and System.value.