/// <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;
        }
Example #2
0
        /// <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;		
        }