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

◆ CompileWhitespaceFacet()

void System.Xml.Schema.FacetsChecker.FacetsCompiler.CompileWhitespaceFacet ( XmlSchemaFacet facet)
inlinepackage

Definition at line 167 of file FacetsChecker.cs.

168 {
169 CheckProhibitedFlag(facet, RestrictionFlags.WhiteSpace, System.SR.Sch_WhiteSpaceFacetProhibited);
170 CheckDupFlag(facet, RestrictionFlags.WhiteSpace, System.SR.Sch_DupWhiteSpaceFacet);
171 if (facet.Value == "preserve")
172 {
173 _derivedRestriction.WhiteSpace = XmlSchemaWhiteSpace.Preserve;
174 }
175 else if (facet.Value == "replace")
176 {
177 _derivedRestriction.WhiteSpace = XmlSchemaWhiteSpace.Replace;
178 }
179 else
180 {
181 if (!(facet.Value == "collapse"))
182 {
183 throw new XmlSchemaException(System.SR.Sch_InvalidWhiteSpace, facet.Value, facet);
184 }
185 _derivedRestriction.WhiteSpace = XmlSchemaWhiteSpace.Collapse;
186 }
187 if ((_baseFixedFlags & RestrictionFlags.WhiteSpace) != 0 && !_datatype.IsEqual(_datatype.Restriction.WhiteSpace, _derivedRestriction.WhiteSpace))
188 {
189 throw new XmlSchemaException(System.SR.Sch_FacetBaseFixed, facet);
190 }
191 XmlSchemaWhiteSpace xmlSchemaWhiteSpace = (((_baseFlags & RestrictionFlags.WhiteSpace) == 0) ? _datatype.BuiltInWhitespaceFacet : _datatype.Restriction.WhiteSpace);
192 if (xmlSchemaWhiteSpace == XmlSchemaWhiteSpace.Collapse && (_derivedRestriction.WhiteSpace == XmlSchemaWhiteSpace.Replace || _derivedRestriction.WhiteSpace == XmlSchemaWhiteSpace.Preserve))
193 {
194 throw new XmlSchemaException(System.SR.Sch_WhiteSpaceRestriction1, facet);
195 }
196 if (xmlSchemaWhiteSpace == XmlSchemaWhiteSpace.Replace && _derivedRestriction.WhiteSpace == XmlSchemaWhiteSpace.Preserve)
197 {
198 throw new XmlSchemaException(System.SR.Sch_WhiteSpaceRestriction2, facet);
199 }
200 SetFlag(facet, RestrictionFlags.WhiteSpace);
201 }
static string Sch_WhiteSpaceRestriction2
Definition SR.cs:1118
static string Sch_WhiteSpaceRestriction1
Definition SR.cs:1116
static string Sch_WhiteSpaceFacetProhibited
Definition SR.cs:640
static string Sch_FacetBaseFixed
Definition SR.cs:1114
static string Sch_InvalidWhiteSpace
Definition SR.cs:676
static string Sch_DupWhiteSpaceFacet
Definition SR.cs:616
Definition SR.cs:7
override bool IsEqual(object o1, object o2)
void SetFlag(XmlSchemaFacet facet, RestrictionFlags flag)
void CheckDupFlag(XmlSchemaFacet facet, RestrictionFlags flag, string errorCode)
void CheckProhibitedFlag(XmlSchemaFacet facet, RestrictionFlags flag, string errorCode)
readonly RestrictionFacets _derivedRestriction
readonly DatatypeImplementation _datatype

References System.Xml.Schema.FacetsChecker.FacetsCompiler._baseFixedFlags, System.Xml.Schema.FacetsChecker.FacetsCompiler._baseFlags, System.Xml.Schema.FacetsChecker.FacetsCompiler._datatype, System.Xml.Schema.FacetsChecker.FacetsCompiler._derivedRestriction, System.Xml.Schema.FacetsChecker.FacetsCompiler.CheckDupFlag(), System.Xml.Schema.FacetsChecker.FacetsCompiler.CheckProhibitedFlag(), System.Xml.Dictionary, System.Xml.Schema.DatatypeImplementation.IsEqual(), System.Xml.Schema.DatatypeImplementation.Restriction, System.SR.Sch_DupWhiteSpaceFacet, System.SR.Sch_FacetBaseFixed, System.SR.Sch_InvalidWhiteSpace, System.SR.Sch_WhiteSpaceFacetProhibited, System.SR.Sch_WhiteSpaceRestriction1, System.SR.Sch_WhiteSpaceRestriction2, System.Xml.Schema.FacetsChecker.FacetsCompiler.SetFlag(), and System.Xml.Schema.RestrictionFacets.WhiteSpace.