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

◆ IsFixedEqual()

bool System.Xml.Schema.Compiler.IsFixedEqual ( SchemaDeclBase baseDecl,
SchemaDeclBase derivedDecl )
inlineprivate

Definition at line 2770 of file Compiler.cs.

2771 {
2772 if (baseDecl.Presence == SchemaDeclBase.Use.Fixed || baseDecl.Presence == SchemaDeclBase.Use.RequiredFixed)
2773 {
2774 object defaultValueTyped = baseDecl.DefaultValueTyped;
2775 if (derivedDecl.Presence != SchemaDeclBase.Use.Fixed && derivedDecl.Presence != SchemaDeclBase.Use.RequiredFixed)
2776 {
2777 return false;
2778 }
2779 object defaultValueTyped2 = derivedDecl.DefaultValueTyped;
2780 XmlSchemaDatatype datatype = baseDecl.Datatype;
2781 XmlSchemaDatatype datatype2 = derivedDecl.Datatype;
2782 if (datatype.Variety == XmlSchemaDatatypeVariety.Union)
2783 {
2784 if (datatype2.Variety == XmlSchemaDatatypeVariety.Union)
2785 {
2786 if (!datatype2.IsEqual(defaultValueTyped, defaultValueTyped2))
2787 {
2788 return false;
2789 }
2790 }
2791 else
2792 {
2793 XsdSimpleValue xsdSimpleValue = baseDecl.DefaultValueTyped as XsdSimpleValue;
2794 XmlSchemaDatatype datatype3 = xsdSimpleValue.XmlType.Datatype;
2795 if (!datatype3.IsComparable(datatype2) || !datatype2.IsEqual(xsdSimpleValue.TypedValue, defaultValueTyped2))
2796 {
2797 return false;
2798 }
2799 }
2800 }
2801 else if (!datatype2.IsEqual(defaultValueTyped, defaultValueTyped2))
2802 {
2803 return false;
2804 }
2805 }
2806 return true;
2807 }

References System.Xml.Dictionary, and System.Xml.Schema.XmlSchemaDatatype.Variety.

Referenced by System.Xml.Schema.Compiler.CheckAtrributeGroupRestriction(), System.Xml.Schema.Compiler.CompileLocalAttributes(), and System.Xml.Schema.Compiler.IsElementFromElement().