public void ValidateText()
{
if (context.NeedValidateChildren)
{
if (context.IsNill)
{
SendValidationEvent(SR.Sch_ContentInNill, XmlSchemaValidator.QNameString(context.LocalName, context.Namespace));
return;
}
ContentValidator contentValidator = context.ElementDecl.ContentValidator;
XmlSchemaContentType contentType = contentValidator.ContentType;
if (contentType == XmlSchemaContentType.ElementOnly)
{
ArrayList names = contentValidator.ExpectedElements(context, false);
if (names == null)
{
SendValidationEvent(SR.Sch_InvalidTextInElement, XmlSchemaValidator.BuildElementName(context.LocalName, context.Namespace));
}
else
{
Debug.Assert(names.Count > 0);
SendValidationEvent(SR.Sch_InvalidTextInElementExpecting, new string[] { XmlSchemaValidator.BuildElementName(context.LocalName, context.Namespace), XmlSchemaValidator.PrintExpectedElements(names, false) });
}
}
else if (contentType == XmlSchemaContentType.Empty)
{
SendValidationEvent(SR.Sch_InvalidTextInEmpty, string.Empty);
}
if (checkDatatype)
{
SaveTextValue(reader.Value);
}
}
}