Beispiel #1
0
 private void ProcessInlineSchema()
 {
     if (!_inlineSchemaParser !.ParseReaderNode())
     { // Done
         _inlineSchemaParser.FinishParsing();
         XmlSchema?schema = _inlineSchemaParser.XmlSchema;
         string?   inlineNS;
         if (schema != null && schema.ErrorCount == 0)
         {
             try
             {
                 SchemaInfo inlineSchemaInfo = new SchemaInfo();
                 inlineSchemaInfo.SchemaType = SchemaType.XSD;
                 inlineNS = schema.TargetNamespace == null ? string.Empty : schema.TargetNamespace;
                 if (!SchemaInfo !.TargetNamespaces.ContainsKey(inlineNS))
                 {
                     if (SchemaCollection !.Add(inlineNS, inlineSchemaInfo, schema, true) != null)
                     { //If no errors on compile
                         //Add to validator's SchemaInfo
                         SchemaInfo.Add(inlineSchemaInfo, EventHandler);
                     }
                 }
             }
             catch (XmlSchemaException e)
             {
                 SendValidationEvent(SR.Sch_CannotLoadSchema, new string[] { BaseUri !.AbsoluteUri, e.Message }, XmlSeverityType.Error);
Beispiel #2
0
        private void LoadSchema(string uri)
        {
            if (this.schemaInfo !.TargetNamespaces.ContainsKey(uri))
            {
                return;
            }
            if (this.XmlResolver == null)
            {
                return;
            }

            SchemaInfo?schemaInfo = null;

            if (SchemaCollection != null)
            {
                schemaInfo = SchemaCollection.GetSchemaInfo(uri);
            }

            if (schemaInfo != null)
            {
                if (schemaInfo.SchemaType != SchemaType.XDR)
                {
                    throw new XmlException(SR.Xml_MultipleValidationTypes, string.Empty, this.PositionInfo.LineNumber, this.PositionInfo.LinePosition);
                }

                this.schemaInfo.Add(schemaInfo, EventHandler);
                return;
            }

            LoadSchemaFromLocation(uri);
        }