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

XmlSchemaValidator() public méthode

public XmlSchemaValidator ( XmlNameTable nameTable, XmlSchemaSet schemas, IXmlNamespaceResolver namespaceResolver, XmlSchemaValidationFlags validationFlags ) : System
nameTable System.Xml.XmlNameTable
schemas XmlSchemaSet
namespaceResolver IXmlNamespaceResolver
validationFlags XmlSchemaValidationFlags
Résultat System
        public XmlSchemaValidator(XmlNameTable nameTable, XmlSchemaSet schemas, IXmlNamespaceResolver namespaceResolver, XmlSchemaValidationFlags validationFlags)
        {
            if (nameTable == null)
            {
                throw new ArgumentNullException(nameof(nameTable));
            }
            if (schemas == null)
            {
                throw new ArgumentNullException(nameof(schemas));
            }
            if (namespaceResolver == null)
            {
                throw new ArgumentNullException(nameof(namespaceResolver));
            }
            _nameTable = nameTable;
            _nsResolver = namespaceResolver;
            _validationFlags = validationFlags;


            if (((validationFlags & XmlSchemaValidationFlags.ProcessInlineSchema) != 0) || ((validationFlags & XmlSchemaValidationFlags.ProcessSchemaLocation) != 0))
            { //Process schema hints in xml document, hence user's set might change
                _schemaSet = new XmlSchemaSet(nameTable);
                _schemaSet.ValidationEventHandler += schemas.GetEventHandler();
                _schemaSet.CompilationSettings = schemas.CompilationSettings;
                _schemaSet.XmlResolver = schemas.GetResolver();
                _schemaSet.Add(schemas);
                _validatedNamespaces = new Hashtable();
            }
            else
            { //Use the same set from the user
                _schemaSet = schemas;
            }
            Init();
        }