System.Xml.Schema.XsdValidator.ProcessElement C# (CSharp) Méthode

ProcessElement() private méthode

private ProcessElement ( object particle ) : void
particle object
Résultat void
        private void ProcessElement(object particle) {
            XmlQualifiedName xsiType;
            string xsiNil;
            SchemaElementDecl elementDecl = FastGetElementDecl (particle);
            Push(elementName); 
            if (bManageNamespaces) { 
                nsManager.PushScope();
            }
            ProcessXsiAttributes(out xsiType, out xsiNil);
            if (processContents != XmlSchemaContentProcessing.Skip) {
                if (elementDecl == null || !xsiType.IsEmpty || xsiNil != null) {
                    elementDecl = ThoroughGetElementDecl(elementDecl, xsiType, xsiNil);
                }
                if (elementDecl == null) {
                    if (HasSchema && processContents == XmlSchemaContentProcessing.Strict) {
                        SendValidationEvent(Res.Sch_UndeclaredElement, XmlSchemaValidator.QNameString(context.LocalName, context.Namespace));
                    }
                    else {
                        SendValidationEvent(Res.Sch_NoElementSchemaFound, XmlSchemaValidator.QNameString(context.LocalName, context.Namespace), XmlSeverityType.Warning);
                    }
                }
            }

            context.ElementDecl = elementDecl;
            ValidateStartElementIdentityConstraints();
            ValidateStartElement();
            if (context.ElementDecl != null) {  
                ValidateEndStartElement();
                context.NeedValidateChildren = processContents != XmlSchemaContentProcessing.Skip;
                context.ElementDecl.ContentValidator.InitValidation(context);
            }
        }