private SchemaElementDecl ThoroughGetElementDecl()
{
if (base.reader.Depth == 0)
{
this.LoadSchema(string.Empty);
}
if (base.reader.MoveToFirstAttribute())
{
do
{
string namespaceURI = base.reader.NamespaceURI;
string localName = base.reader.LocalName;
if (Ref.Equal(namespaceURI, base.SchemaNames.NsXmlNs))
{
this.LoadSchema(base.reader.Value);
if (this.isProcessContents)
{
this.nsManager.AddNamespace((base.reader.Prefix.Length == 0) ? string.Empty : base.reader.LocalName, base.reader.Value);
}
}
if (Ref.Equal(namespaceURI, base.SchemaNames.QnDtDt.Namespace) && Ref.Equal(localName, base.SchemaNames.QnDtDt.Name))
{
base.reader.SchemaTypeObject = XmlSchemaDatatype.FromXdrName(base.reader.Value);
}
}while (base.reader.MoveToNextAttribute());
base.reader.MoveToElement();
}
SchemaElementDecl elementDecl = base.schemaInfo.GetElementDecl(base.elementName);
if ((elementDecl == null) && base.schemaInfo.TargetNamespaces.ContainsKey(base.context.Namespace))
{
base.SendValidationEvent("Sch_UndeclaredElement", XmlSchemaValidator.QNameString(base.context.LocalName, base.context.Namespace));
}
return(elementDecl);
}