System.Xml.Schema.XmlSchemaValidator.SkipToEndElement C# (CSharp) Méthode

SkipToEndElement() public méthode

public SkipToEndElement ( XmlSchemaInfo schemaInfo ) : void
schemaInfo XmlSchemaInfo
Résultat void
        public void SkipToEndElement(XmlSchemaInfo schemaInfo)
        {
            if (_validationStack.Length <= 1)
            {
                throw new InvalidOperationException(SR.Format(SR.Sch_InvalidEndElementMultiple, s_methodNames[(int)ValidatorState.SkipToEndElement]));
            }
            CheckStateTransition(ValidatorState.SkipToEndElement, s_methodNames[(int)ValidatorState.SkipToEndElement]);

            if (schemaInfo != null)
            {
                SchemaElementDecl currentElementDecl = _context.ElementDecl;
                if (currentElementDecl != null)
                {
                    schemaInfo.SchemaType = currentElementDecl.SchemaType;
                    schemaInfo.SchemaElement = GetSchemaElement();
                }
                else
                {
                    schemaInfo.SchemaType = null;
                    schemaInfo.SchemaElement = null;
                }
                schemaInfo.MemberType = null;
                schemaInfo.IsNil = _context.IsNill;
                schemaInfo.IsDefault = _context.IsDefault;
                Debug.Assert(_context.Validity != XmlSchemaValidity.Valid);
                schemaInfo.Validity = _context.Validity;
            }
            _context.ValidationSkipped = true;
            _currentState = ValidatorState.SkipToEndElement;
            Pop();
        }

Usage Example

Exemple #1
0
        public void SetResolverToCustomValidateSomethignChangeResolverThenVerify()
        {
            CXmlTestResolver res = new CXmlTestResolver();
            CResolverHolder holder = new CResolverHolder();

            res.CalledResolveUri += new XmlTestResolverEventHandler(holder.CallBackResolveUri);
            res.CalledGetEntity += new XmlTestResolverEventHandler(holder.CallBackGetEntity);

            XmlNamespaceManager manager = new XmlNamespaceManager(new NameTable());
            XmlSchemaInfo info = new XmlSchemaInfo();
            XmlSchemaValidator val = new XmlSchemaValidator(new NameTable(),
                                                            new XmlSchemaSet(),
                                                            manager,
                                                            AllFlags);
            val.XmlResolver = res;
            val.Initialize();

            val.ValidateElement("foo", "", null, "type1", null, null, TestData + XSDFILE_NO_TARGET_NAMESPACE);
            val.SkipToEndElement(null);

            Assert.True(holder.IsCalledResolveUri);
            Assert.True(holder.IsCalledGetEntity);

            val.XmlResolver = new XmlUrlResolver();
            holder.IsCalledGetEntity = false;
            holder.IsCalledResolveUri = false;

            val.ValidateElement("foo", "", null, "type1", null, null, TestData + XSDFILE_NO_TARGET_NAMESPACE);

            Assert.True(!holder.IsCalledResolveUri);
            Assert.True(!holder.IsCalledGetEntity);

            return;
        }
All Usage Examples Of System.Xml.Schema.XmlSchemaValidator::SkipToEndElement