/// <summary> /// Creates new instance of <c>XIncludingReader</c> class with /// specified underlying <c>XmlReader</c> reader. /// </summary> /// <param name="reader">Underlying reader to read from</param> public XIncludingReader(XmlReader reader) { XmlTextReader xtr = reader as XmlTextReader; if (xtr != null) { //#pragma warning disable 0618 //XmlValidatingReader vr = new XmlValidatingReader(reader); //vr.ValidationType = ValidationType.None; //vr.EntityHandling = EntityHandling.ExpandEntities; //vr.ValidationEventHandler += new ValidationEventHandler( // ValidationCallback); //_whiteSpaceHandling = xtr.WhitespaceHandling; //_reader = vr; XmlReaderSettings s = new XmlReaderSettings(); s.DtdProcessing = DtdProcessing.Parse; s.ValidationType = ValidationType.None; s.ValidationEventHandler += new ValidationEventHandler( ValidationCallback); if (xtr.WhitespaceHandling == WhitespaceHandling.Significant) { s.IgnoreWhitespace = true; } _reader = XmlReader.Create(reader, s); //#pragma warning restore 0618 } else { _reader = reader; } _nameTable = reader.NameTable; _keywords = new XIncludeKeywords(NameTable); if (_reader.BaseURI != "") _topBaseUri = new Uri(_reader.BaseURI); else { _relativeBaseUri = false; _topBaseUri = new Uri(Assembly.GetExecutingAssembly().Location); } _readers = new Stack<XmlReader>(); _state = XIncludingReaderState.Default; }
/// <summary> /// Creates new instance of <c>XIncludingReader</c> class with /// specified underlying <c>XmlReader</c> reader. /// </summary> /// <param name="reader">Underlying reader to read from</param> public XIncludingReader(XmlReader reader) { XmlTextReader xtr = reader as XmlTextReader; if (xtr != null) { XmlValidatingReader vr = new XmlValidatingReader(reader); vr.ValidationType = ValidationType.None; vr.EntityHandling = EntityHandling.ExpandEntities; vr.ValidationEventHandler += new ValidationEventHandler( ValidationCallback); _normalization = xtr.Normalization; _whiteSpaceHandling = xtr.WhitespaceHandling; _reader = vr; } else { _reader = reader; } _nameTable = reader.NameTable; _keywords = new XIncludeKeywords(NameTable); if (_reader.BaseURI != "") _topBaseUri = new Uri(_reader.BaseURI); else { _relativeBaseUri = false; _topBaseUri = new Uri(Assembly.GetExecutingAssembly().Location); } _readers = new Stack<XmlReader>(); _state = XIncludingReaderState.Default; }