XmlWrappingReader.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / System / Windows / Markup / XmlWrappingReader.cs / 1305600 / XmlWrappingReader.cs

                            /****************************************************************************\ 
*
* File: XmlWrappingReader.cs
*
* Purpose: 
*
* History: 
*    5/11/05:    fmunoz        "Borrowed from Whidbey Beta2 Sources 
*
* Copyright (C) 2005 by Microsoft Corporation.  All rights reserved. 
*
\***************************************************************************/

//----------------------------------------------------------------------------- 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved. 
//  
// [....]
//----------------------------------------------------------------------------- 

using System;
using System.Xml;
using System.Xml.Schema; 
using System.Diagnostics;
using System.Collections.Generic; 
using System.Security.Policy; 

#if PBTCOMPILER 
namespace MS.Internal.Markup
#elif SYSTEM_XAML
namespace System.Xaml
#else 
namespace System.Windows.Markup
#endif 
{ 

    internal class XmlWrappingReader : XmlReader, IXmlLineInfo, IXmlNamespaceResolver { 
//
// Fields
//
        protected XmlReader               _reader; 
        protected IXmlLineInfo            _readerAsIXmlLineInfo;
        protected IXmlNamespaceResolver   _readerAsResolver; 
 
//
// Constructor 
//
        internal XmlWrappingReader( XmlReader baseReader ) {
            Debug.Assert( baseReader != null );
            Reader = baseReader; 
        }
 
// 
// XmlReader implementation
// 
        public override XmlReaderSettings Settings  { get { return _reader.Settings; } }
        public override XmlNodeType NodeType        { get { return _reader.NodeType; } }
        public override string Name                 { get { return _reader.Name; } }
        public override string LocalName            { get { return _reader.LocalName; } } 
        public override string NamespaceURI         { get { return _reader.NamespaceURI; } }
        public override string Prefix               { get { return _reader.Prefix; } } 
        public override bool HasValue               { get { return _reader.HasValue; } } 
        public override string Value                { get { return _reader.Value; } }
        public override int Depth                   { get { return _reader.Depth; } } 
        public override string BaseURI              { get { return _reader.BaseURI; } }
        public override bool IsEmptyElement         { get { return _reader.IsEmptyElement; } }
        public override bool IsDefault              { get { return _reader.IsDefault; } }
        public override char QuoteChar              { get { return _reader.QuoteChar; } } 
        public override XmlSpace XmlSpace           { get { return _reader.XmlSpace; } }
        public override string XmlLang              { get { return _reader.XmlLang; } } 
        public override IXmlSchemaInfo SchemaInfo   { get { return _reader.SchemaInfo; } } 
        public override System.Type ValueType       { get { return _reader.ValueType; } }
        public override int AttributeCount          { get { return _reader.AttributeCount; } } 
        public override string this [ int i ]       { get { return _reader[i]; } }
        public override string this [ string name ] { get { return _reader[ name ];}}
        public override string this [ string name, string namespaceURI ] { get { return _reader[ name, namespaceURI ]; } }
        public override bool CanResolveEntity       { get { return _reader.CanResolveEntity; } } 
        public override bool EOF                    { get { return _reader.EOF; } }
        public override ReadState ReadState         { get { return _reader.ReadState; } } 
        public override bool HasAttributes          { get { return _reader.HasAttributes; } } 
        public override XmlNameTable NameTable      { get { return _reader.NameTable; } }
 
        public override string GetAttribute( string name ) {
            return _reader.GetAttribute( name );
        }
 
        public override string GetAttribute( string name, string namespaceURI ) {
            return _reader.GetAttribute( name, namespaceURI ); 
        } 

        public override string GetAttribute( int i ) { 
            return _reader.GetAttribute( i );
        }

        public override bool MoveToAttribute( string name ) { 
            return _reader.MoveToAttribute( name );
        } 
 
        public override bool MoveToAttribute( string name, string ns ) {
            return _reader.MoveToAttribute( name, ns ); 
        }

        public override void MoveToAttribute( int i ) {
            _reader.MoveToAttribute( i ); 
        }
 
        public override bool MoveToFirstAttribute() { 
            return _reader.MoveToFirstAttribute();
        } 

        public override bool MoveToNextAttribute() {
            return _reader.MoveToNextAttribute();
        } 

        public override bool MoveToElement() { 
            return _reader.MoveToElement(); 
        }
 
        public override bool Read() {
            return _reader.Read();
        }
 
        public override void Close() {
            _reader.Close(); 
        } 

        public override void Skip() { 
            _reader.Skip();
        }

        public override string LookupNamespace( string prefix ) { 
            return _reader.LookupNamespace( prefix );
        } 
 
        string IXmlNamespaceResolver.LookupPrefix( string namespaceName ) {
            return (_readerAsResolver == null) ? null : _readerAsResolver.LookupPrefix( namespaceName ); 
        }

        IDictionary IXmlNamespaceResolver.GetNamespacesInScope ( XmlNamespaceScope scope ) {
            return (_readerAsResolver == null) ? null : _readerAsResolver.GetNamespacesInScope( scope ); 
        }
 
        public override void ResolveEntity() { 
            _reader.ResolveEntity();
        } 

        public override bool ReadAttributeValue() {
            return _reader.ReadAttributeValue();
        } 

// 
// IDisposable interface 
//
        protected override void Dispose(bool disposing) { 
            try
            {
                if(disposing)
                { 
                    ((IDisposable)_reader).Dispose();
                } 
            } 
            finally
            { 
               base.Dispose(disposing);
            }
        }
 
//
// IXmlLineInfo members 
// 
        public virtual bool HasLineInfo() {
            return ( _readerAsIXmlLineInfo == null ) ? false : _readerAsIXmlLineInfo.HasLineInfo(); 
        }

        public virtual int LineNumber {
            get { 
                return ( _readerAsIXmlLineInfo == null ) ? 0 : _readerAsIXmlLineInfo.LineNumber;
            } 
        } 

        public virtual int LinePosition { 
            get {
                return ( _readerAsIXmlLineInfo == null ) ? 0 : _readerAsIXmlLineInfo.LinePosition;
            }
        } 

// 
//  Protected methods 
//
        protected XmlReader Reader { 
            get {
                return _reader;
            }
            set { 
                _reader = value;
                _readerAsIXmlLineInfo = value as IXmlLineInfo; 
                _readerAsResolver = value as IXmlNamespaceResolver; 
            }
        } 
    }
}

 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
/****************************************************************************\ 
*
* File: XmlWrappingReader.cs
*
* Purpose: 
*
* History: 
*    5/11/05:    fmunoz        "Borrowed from Whidbey Beta2 Sources 
*
* Copyright (C) 2005 by Microsoft Corporation.  All rights reserved. 
*
\***************************************************************************/

//----------------------------------------------------------------------------- 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved. 
//  
// [....]
//----------------------------------------------------------------------------- 

using System;
using System.Xml;
using System.Xml.Schema; 
using System.Diagnostics;
using System.Collections.Generic; 
using System.Security.Policy; 

#if PBTCOMPILER 
namespace MS.Internal.Markup
#elif SYSTEM_XAML
namespace System.Xaml
#else 
namespace System.Windows.Markup
#endif 
{ 

    internal class XmlWrappingReader : XmlReader, IXmlLineInfo, IXmlNamespaceResolver { 
//
// Fields
//
        protected XmlReader               _reader; 
        protected IXmlLineInfo            _readerAsIXmlLineInfo;
        protected IXmlNamespaceResolver   _readerAsResolver; 
 
//
// Constructor 
//
        internal XmlWrappingReader( XmlReader baseReader ) {
            Debug.Assert( baseReader != null );
            Reader = baseReader; 
        }
 
// 
// XmlReader implementation
// 
        public override XmlReaderSettings Settings  { get { return _reader.Settings; } }
        public override XmlNodeType NodeType        { get { return _reader.NodeType; } }
        public override string Name                 { get { return _reader.Name; } }
        public override string LocalName            { get { return _reader.LocalName; } } 
        public override string NamespaceURI         { get { return _reader.NamespaceURI; } }
        public override string Prefix               { get { return _reader.Prefix; } } 
        public override bool HasValue               { get { return _reader.HasValue; } } 
        public override string Value                { get { return _reader.Value; } }
        public override int Depth                   { get { return _reader.Depth; } } 
        public override string BaseURI              { get { return _reader.BaseURI; } }
        public override bool IsEmptyElement         { get { return _reader.IsEmptyElement; } }
        public override bool IsDefault              { get { return _reader.IsDefault; } }
        public override char QuoteChar              { get { return _reader.QuoteChar; } } 
        public override XmlSpace XmlSpace           { get { return _reader.XmlSpace; } }
        public override string XmlLang              { get { return _reader.XmlLang; } } 
        public override IXmlSchemaInfo SchemaInfo   { get { return _reader.SchemaInfo; } } 
        public override System.Type ValueType       { get { return _reader.ValueType; } }
        public override int AttributeCount          { get { return _reader.AttributeCount; } } 
        public override string this [ int i ]       { get { return _reader[i]; } }
        public override string this [ string name ] { get { return _reader[ name ];}}
        public override string this [ string name, string namespaceURI ] { get { return _reader[ name, namespaceURI ]; } }
        public override bool CanResolveEntity       { get { return _reader.CanResolveEntity; } } 
        public override bool EOF                    { get { return _reader.EOF; } }
        public override ReadState ReadState         { get { return _reader.ReadState; } } 
        public override bool HasAttributes          { get { return _reader.HasAttributes; } } 
        public override XmlNameTable NameTable      { get { return _reader.NameTable; } }
 
        public override string GetAttribute( string name ) {
            return _reader.GetAttribute( name );
        }
 
        public override string GetAttribute( string name, string namespaceURI ) {
            return _reader.GetAttribute( name, namespaceURI ); 
        } 

        public override string GetAttribute( int i ) { 
            return _reader.GetAttribute( i );
        }

        public override bool MoveToAttribute( string name ) { 
            return _reader.MoveToAttribute( name );
        } 
 
        public override bool MoveToAttribute( string name, string ns ) {
            return _reader.MoveToAttribute( name, ns ); 
        }

        public override void MoveToAttribute( int i ) {
            _reader.MoveToAttribute( i ); 
        }
 
        public override bool MoveToFirstAttribute() { 
            return _reader.MoveToFirstAttribute();
        } 

        public override bool MoveToNextAttribute() {
            return _reader.MoveToNextAttribute();
        } 

        public override bool MoveToElement() { 
            return _reader.MoveToElement(); 
        }
 
        public override bool Read() {
            return _reader.Read();
        }
 
        public override void Close() {
            _reader.Close(); 
        } 

        public override void Skip() { 
            _reader.Skip();
        }

        public override string LookupNamespace( string prefix ) { 
            return _reader.LookupNamespace( prefix );
        } 
 
        string IXmlNamespaceResolver.LookupPrefix( string namespaceName ) {
            return (_readerAsResolver == null) ? null : _readerAsResolver.LookupPrefix( namespaceName ); 
        }

        IDictionary IXmlNamespaceResolver.GetNamespacesInScope ( XmlNamespaceScope scope ) {
            return (_readerAsResolver == null) ? null : _readerAsResolver.GetNamespacesInScope( scope ); 
        }
 
        public override void ResolveEntity() { 
            _reader.ResolveEntity();
        } 

        public override bool ReadAttributeValue() {
            return _reader.ReadAttributeValue();
        } 

// 
// IDisposable interface 
//
        protected override void Dispose(bool disposing) { 
            try
            {
                if(disposing)
                { 
                    ((IDisposable)_reader).Dispose();
                } 
            } 
            finally
            { 
               base.Dispose(disposing);
            }
        }
 
//
// IXmlLineInfo members 
// 
        public virtual bool HasLineInfo() {
            return ( _readerAsIXmlLineInfo == null ) ? false : _readerAsIXmlLineInfo.HasLineInfo(); 
        }

        public virtual int LineNumber {
            get { 
                return ( _readerAsIXmlLineInfo == null ) ? 0 : _readerAsIXmlLineInfo.LineNumber;
            } 
        } 

        public virtual int LinePosition { 
            get {
                return ( _readerAsIXmlLineInfo == null ) ? 0 : _readerAsIXmlLineInfo.LinePosition;
            }
        } 

// 
//  Protected methods 
//
        protected XmlReader Reader { 
            get {
                return _reader;
            }
            set { 
                _reader = value;
                _readerAsIXmlLineInfo = value as IXmlLineInfo; 
                _readerAsResolver = value as IXmlNamespaceResolver; 
            }
        } 
    }
}

 

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.

                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK