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

◆ CompileComplexContentExtension()

void System.Xml.Schema.Compiler.CompileComplexContentExtension ( XmlSchemaComplexType complexType,
XmlSchemaComplexContent complexContent,
XmlSchemaComplexContentExtension complexExtension )
inlineprivate

Definition at line 932 of file Compiler.cs.

933 {
934 XmlSchemaComplexType xmlSchemaComplexType = null;
935 if (complexType.Redefined != null && complexExtension.BaseTypeName == complexType.Redefined.QualifiedName)
936 {
937 xmlSchemaComplexType = (XmlSchemaComplexType)complexType.Redefined;
939 }
940 else
941 {
943 if (xmlSchemaComplexType == null)
944 {
946 return;
947 }
948 }
949 if ((xmlSchemaComplexType.FinalResolved & XmlSchemaDerivationMethod.Extension) != 0)
950 {
952 }
953 CompileLocalAttributes(xmlSchemaComplexType, complexType, complexExtension.Attributes, complexExtension.AnyAttribute, XmlSchemaDerivationMethod.Extension);
954 XmlSchemaParticle contentTypeParticle = xmlSchemaComplexType.ContentTypeParticle;
955 XmlSchemaParticle xmlSchemaParticle = CannonicalizeParticle(complexExtension.Particle, root: true);
956 if (contentTypeParticle != XmlSchemaParticle.Empty)
957 {
958 if (xmlSchemaParticle != XmlSchemaParticle.Empty)
959 {
960 XmlSchemaSequence xmlSchemaSequence = new XmlSchemaSequence();
964 }
965 else
966 {
967 complexType.SetContentTypeParticle(contentTypeParticle);
968 }
969 }
970 else
971 {
972 complexType.SetContentTypeParticle(xmlSchemaParticle);
973 }
975 if (xmlSchemaContentType == XmlSchemaContentType.Empty)
976 {
978 if (xmlSchemaContentType == XmlSchemaContentType.TextOnly)
979 {
980 complexType.SetDatatype(xmlSchemaComplexType.Datatype);
981 }
982 }
983 complexType.SetContentType(xmlSchemaContentType);
984 if (xmlSchemaComplexType.ContentType != XmlSchemaContentType.Empty && complexType.ContentType != xmlSchemaComplexType.ContentType)
985 {
987 return;
988 }
989 complexType.SetBaseSchemaType(xmlSchemaComplexType);
990 complexType.SetDerivedBy(XmlSchemaDerivationMethod.Extension);
991 }
void Add(TKey key, TValue value)
static string Sch_DifContentType
Definition SR.cs:976
static string Sch_BaseFinalExtension
Definition SR.cs:960
static string Sch_UndefBaseExtension
Definition SR.cs:974
Definition SR.cs:7
void SendValidationEvent(string code, XmlSchemaObject source)
void CompileLocalAttributes(XmlSchemaComplexType baseType, XmlSchemaComplexType derivedType, XmlSchemaObjectCollection attributes, XmlSchemaAnyAttribute anyAttribute, XmlSchemaDerivationMethod derivedBy)
Definition Compiler.cs:1907
XmlSchemaContentType GetSchemaContentType(XmlSchemaComplexType complexType, XmlSchemaComplexContent complexContent, XmlSchemaParticle particle)
Definition Compiler.cs:1828
void CompileComplexType(XmlSchemaComplexType complexType)
Definition Compiler.cs:730
XmlSchemaParticle CompileContentTypeParticle(XmlSchemaParticle particle)
Definition Compiler.cs:1092
XmlSchemaParticle CannonicalizeParticle(XmlSchemaParticle particle, bool root)
Definition Compiler.cs:1106
XmlSchemaComplexType GetComplexType(XmlQualifiedName name)
Definition Compiler.cs:2730

References System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.Schema.Compiler.CannonicalizeParticle(), System.Xml.Schema.Compiler.CompileComplexType(), System.Xml.Schema.Compiler.CompileContentTypeParticle(), System.Xml.Schema.Compiler.CompileLocalAttributes(), System.Xml.Schema.XmlSchemaParticle.Empty, System.Xml.Schema.Compiler.GetComplexType(), System.Xml.Schema.Compiler.GetSchemaContentType(), System.SR.Sch_BaseFinalExtension, System.SR.Sch_DifContentType, System.SR.Sch_UndefBaseExtension, and System.Xml.Schema.BaseProcessor.SendValidationEvent().

Referenced by System.Xml.Schema.Compiler.CompileComplexType().