private void ValidateEndElement() {
if (bManageNamespaces) {
nsManager.PopScope();
}
if (context.ElementDecl != null) {
if (!context.IsNill) {
if (context.NeedValidateChildren) {
if(!context.ElementDecl.ContentValidator.CompleteValidation(context)) {
XmlSchemaValidator.CompleteValidationError(context, EventHandler, reader, reader.BaseURI, PositionInfo.LineNumber, PositionInfo.LinePosition, false);
}
}
if (checkDatatype && !context.IsNill) {
string stringValue = !hasSibling ? textString : textValue.ToString(); // only for identity-constraint exception reporting
if(!(stringValue.Length == 0 && context.ElementDecl.DefaultValueTyped != null)) {
CheckValue(stringValue, null);
checkDatatype = false;
}
}
}
// for each level in the stack, endchildren and fill value from element
if (HasIdentityConstraints) {
EndElementIdentityConstraints();
}
}
Pop();
}