private void PreprocessElement(XmlSchemaElement element) { if (element.Name != null) { ValidateNameAttribute(element); element.SetQualifiedName(new XmlQualifiedName(element.Name, this.targetNamespace)); } else { SendValidationEvent(Res.Sch_MissRequiredAttribute, "name", element); } PreprocessElementContent(element); if (element.Final == XmlSchemaDerivationMethod.All) { element.SetFinalResolved(XmlSchemaDerivationMethod.All); } else if (element.Final == XmlSchemaDerivationMethod.None) { if (this.finalDefault == XmlSchemaDerivationMethod.All) { element.SetFinalResolved(XmlSchemaDerivationMethod.All); } else { element.SetFinalResolved(this.finalDefault & elementFinalAllowed); } } else { if ((element.Final & ~elementFinalAllowed) != 0) { SendValidationEvent(Res.Sch_InvalidElementFinalValue, element); } element.SetFinalResolved(element.Final & elementFinalAllowed); } if (element.Form != XmlSchemaForm.None) { SendValidationEvent(Res.Sch_ForbiddenAttribute, "form", element); } if (element.MinOccursString != null) { SendValidationEvent(Res.Sch_ForbiddenAttribute, "minOccurs", element); } if (element.MaxOccursString != null) { SendValidationEvent(Res.Sch_ForbiddenAttribute, "maxOccurs", element); } if (!element.SubstitutionGroup.IsEmpty) { ValidateQNameAttribute(element, "type", element.SubstitutionGroup); XmlSchemaSubstitutionGroup substitutionGroup = (XmlSchemaSubstitutionGroup)this.schema.Examplars[element.SubstitutionGroup]; if (substitutionGroup == null) { substitutionGroup = new XmlSchemaSubstitutionGroup(); substitutionGroup.Examplar = element.SubstitutionGroup; this.schema.Examplars.Add(element.SubstitutionGroup, substitutionGroup); } if (substitutionGroup.Members[element.QualifiedName] == null) { substitutionGroup.Members.Add(element.QualifiedName, element); } } ValidateIdAttribute(element); }
private void PreprocessElement(XmlSchemaElement element) { if (element.Name != null) { this.ValidateNameAttribute(element); element.SetQualifiedName(new XmlQualifiedName(element.Name, this.targetNamespace)); } else { base.SendValidationEvent("Sch_MissRequiredAttribute", "name", element); } this.PreprocessElementContent(element); if (element.Final == XmlSchemaDerivationMethod.All) { element.SetFinalResolved(XmlSchemaDerivationMethod.All); } else if (element.Final == XmlSchemaDerivationMethod.None) { if (this.finalDefault == XmlSchemaDerivationMethod.All) { element.SetFinalResolved(XmlSchemaDerivationMethod.All); } else { element.SetFinalResolved(this.finalDefault & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension)); } } else { if ((element.Final & ~(XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension)) != XmlSchemaDerivationMethod.Empty) { base.SendValidationEvent("Sch_InvalidElementFinalValue", element); } element.SetFinalResolved(element.Final & (XmlSchemaDerivationMethod.Restriction | XmlSchemaDerivationMethod.Extension)); } if (element.Form != XmlSchemaForm.None) { base.SendValidationEvent("Sch_ForbiddenAttribute", "form", element); } if (element.MinOccursString != null) { base.SendValidationEvent("Sch_ForbiddenAttribute", "minOccurs", element); } if (element.MaxOccursString != null) { base.SendValidationEvent("Sch_ForbiddenAttribute", "maxOccurs", element); } if (!element.SubstitutionGroup.IsEmpty) { this.ValidateQNameAttribute(element, "type", element.SubstitutionGroup); } this.ValidateIdAttribute(element); }
private void PreprocessElement(XmlSchemaElement element) { if (element.Name != null) { ValidateNameAttribute(element); element.SetQualifiedName(new XmlQualifiedName(element.Name, _targetNamespace)); } else { SendValidationEvent(SR.Sch_MissRequiredAttribute, "name", element); } PreprocessElementContent(element); if (element.Final == XmlSchemaDerivationMethod.All) { element.SetFinalResolved(XmlSchemaDerivationMethod.All); } else if (element.Final == XmlSchemaDerivationMethod.None) { if (_finalDefault == XmlSchemaDerivationMethod.All) { element.SetFinalResolved(XmlSchemaDerivationMethod.All); } else { element.SetFinalResolved(_finalDefault & elementFinalAllowed); } } else { if ((element.Final & ~elementFinalAllowed) != 0) { SendValidationEvent(SR.Sch_InvalidElementFinalValue, element); } element.SetFinalResolved(element.Final & elementFinalAllowed); } if (element.Form != XmlSchemaForm.None) { SendValidationEvent(SR.Sch_ForbiddenAttribute, "form", element); } if (element.MinOccursString != null) { SendValidationEvent(SR.Sch_ForbiddenAttribute, "minOccurs", element); } if (element.MaxOccursString != null) { SendValidationEvent(SR.Sch_ForbiddenAttribute, "maxOccurs", element); } if (!element.SubstitutionGroup.IsEmpty) { ValidateQNameAttribute(element, "type", element.SubstitutionGroup); } ValidateIdAttribute(element); }