internal XmlReader CreateReader(String inputUri, XmlParserContext inputContext) { if (inputUri == null) { throw new ArgumentNullException(nameof(inputUri)); } if (inputUri.Length == 0) { throw new ArgumentException(SR.XmlConvert_BadUri, nameof(inputUri)); } // resolve and open the url XmlResolver tmpResolver = this.GetXmlResolver(); if (tmpResolver == null) { tmpResolver = CreateDefaultResolver(); } // create text XML reader XmlReader reader = new XmlTextReaderImpl(inputUri, this, inputContext, tmpResolver); // wrap with validating reader if (this.ValidationType != ValidationType.None) { reader = AddValidation(reader); } if (_useAsync) { reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader); } return(reader); }
internal XmlReader CreateReader(TextReader input, string baseUriString, XmlParserContext inputContext) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (baseUriString == null) { baseUriString = string.Empty; } // create xml text reader XmlReader reader = new XmlTextReaderImpl(input, this, baseUriString, inputContext); // wrap with validating reader if (this.ValidationType != ValidationType.None) { reader = AddValidation(reader); } if (_useAsync) { reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader); } return(reader); }
internal XmlReader CreateReader(Stream input, Uri?baseUri, string?baseUriString, XmlParserContext?inputContext) { if (input == null) { throw new ArgumentNullException(nameof(input)); } if (baseUriString == null) { if (baseUri == null) { baseUriString = string.Empty; } else { baseUriString = baseUri.ToString(); } } // create text XML reader XmlReader reader = new XmlTextReaderImpl(input, null, 0, this, baseUri, baseUriString, inputContext, _closeInput); // wrap with validating reader if (this.ValidationType != ValidationType.None) { reader = AddValidation(reader); } if (_useAsync) { reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader); } return(reader); }
internal XmlReader CreateReader(Stream input, Uri baseUri, string baseUriString, XmlParserContext inputContext) { if (input == null) { throw new ArgumentNullException("input"); } if (baseUriString == null) { if (baseUri == null) { baseUriString = string.Empty; } else { baseUriString = baseUri.ToString(); } } // create text XML reader XmlReader reader = new XmlTextReaderImpl(input, null, 0, this, baseUri, baseUriString, inputContext, _closeInput); if (_useAsync) { reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader); } return(reader); }
// Initializes a new instance of XmlValidatingReaderImpl class with the specified arguments. // This constructor is used when creating XmlValidatingReaderImpl reader via "XmlReader.Create(..)" internal XmlValidatingReaderImpl(XmlReader reader, ValidationEventHandler settingsEventHandler, bool processIdentityConstraints) { XmlAsyncCheckReader asyncCheckReader = reader as XmlAsyncCheckReader; if (asyncCheckReader != null) { reader = asyncCheckReader.CoreReader; } outerReader = this; coreReader = reader; coreReaderImpl = reader as XmlTextReaderImpl; if (coreReaderImpl == null) { XmlTextReader tr = reader as XmlTextReader; if (tr != null) { coreReaderImpl = tr.Impl; } } if (coreReaderImpl == null) { throw new ArgumentException(Res.GetString(Res.Arg_ExpectingXmlTextReader), "reader"); } coreReaderImpl.XmlValidatingReaderCompatibilityMode = true; coreReaderNSResolver = reader as IXmlNamespaceResolver; this.processIdentityConstraints = processIdentityConstraints; #pragma warning disable 618 schemaCollection = new XmlSchemaCollection(coreReader.NameTable); #pragma warning restore 618 schemaCollection.XmlResolver = GetResolver(); eventHandling = new ValidationEventHandling(this); if (settingsEventHandler != null) { eventHandling.AddHandler(settingsEventHandler); } coreReaderImpl.ValidationEventHandling = eventHandling; coreReaderImpl.OnDefaultAttributeUse = new XmlTextReaderImpl.OnDefaultAttributeUseDelegate(ValidateDefaultAttributeOnUse); validationType = ValidationType.DTD; SetupValidation(ValidationType.DTD); }
// // Constructors // // Initializes a new instance of XmlValidatingReaderImpl class with the specified XmlReader. // This constructor is used when creating XmlValidatingReaderImpl for V1 XmlValidatingReader internal XmlValidatingReaderImpl(XmlReader reader) { XmlAsyncCheckReader asyncCheckReader = reader as XmlAsyncCheckReader; if (asyncCheckReader != null) { reader = asyncCheckReader.CoreReader; } _outerReader = this; _coreReader = reader; _coreReaderNSResolver = reader as IXmlNamespaceResolver; _coreReaderImpl = reader as XmlTextReaderImpl; if (_coreReaderImpl == null) { XmlTextReader tr = reader as XmlTextReader; if (tr != null) { _coreReaderImpl = tr.Impl; } } if (_coreReaderImpl == null) { throw new ArgumentException(SR.Arg_ExpectingXmlTextReader, nameof(reader)); } _coreReaderImpl.EntityHandling = EntityHandling.ExpandEntities; _coreReaderImpl.XmlValidatingReaderCompatibilityMode = true; _processIdentityConstraints = true; #pragma warning disable 618 _schemaCollection = new XmlSchemaCollection(_coreReader.NameTable); _schemaCollection.XmlResolver = GetResolver(); _eventHandling = new ValidationEventHandling(this); _coreReaderImpl.ValidationEventHandling = _eventHandling; _coreReaderImpl.OnDefaultAttributeUse = new XmlTextReaderImpl.OnDefaultAttributeUseDelegate(ValidateDefaultAttributeOnUse); _validationType = ValidationType.Auto; SetupValidation(ValidationType.Auto); #pragma warning restore 618 }
internal XmlReader CreateReader(TextReader input, string baseUriString, XmlParserContext inputContext) { if (input == null) { throw new ArgumentNullException("input"); } if (baseUriString == null) { baseUriString = string.Empty; } // create xml text reader XmlReader reader = new XmlTextReaderImpl(input, this, baseUriString, inputContext); if (_useAsync) { reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader); } return(reader); }
internal XmlReader CreateReader(Stream input, Uri baseUri, string baseUriString, XmlParserContext inputContext) { if (input == null) { throw new ArgumentNullException("input"); } if (baseUriString == null) { if (baseUri == null) { baseUriString = string.Empty; } else { baseUriString = baseUri.ToString(); } } // create text XML reader XmlReader reader = new XmlTextReaderImpl(input, null, 0, this, baseUri, baseUriString, inputContext, closeInput); #if !SILVERLIGHT // wrap with validating reader if (this.ValidationType != ValidationType.None) { reader = AddValidation(reader); } #endif #if ASYNC if (useAsync) { reader = XmlAsyncCheckReader.CreateAsyncCheckWrapper(reader); } #endif return(reader); }