File: FrameworkFork\Microsoft.Xml\Xml\Core\XmlParserContext.cs
Web Access
Project: src\src\dotnet-svcutil\lib\src\dotnet-svcutil-lib.csproj (dotnet-svcutil-lib)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
using Microsoft.Xml;
using System.Text;
using System;
 
namespace Microsoft.Xml
{
    using System;
 
    // Specifies the context that the XmLReader will use for xml fragment
    public class XmlParserContext
    {
        private XmlNameTable _nt = null;
        private XmlNamespaceManager _nsMgr = null;
        private String _docTypeName = String.Empty;
        private String _pubId = String.Empty;
        private String _sysId = String.Empty;
        private String _internalSubset = String.Empty;
        private String _xmlLang = String.Empty;
        private XmlSpace _xmlSpace;
        private String _baseURI = String.Empty;
        private Encoding _encoding = null;
 
        public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, String xmlLang, XmlSpace xmlSpace)
        : this(nt, nsMgr, null, null, null, null, String.Empty, xmlLang, xmlSpace)
        {
            // Intentionally Empty
        }
 
        public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, String xmlLang, XmlSpace xmlSpace, Encoding enc)
        : this(nt, nsMgr, null, null, null, null, String.Empty, xmlLang, xmlSpace, enc)
        {
            // Intentionally Empty
        }
 
        public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, String docTypeName,
                  String pubId, String sysId, String internalSubset, String baseURI,
                  String xmlLang, XmlSpace xmlSpace)
        : this(nt, nsMgr, docTypeName, pubId, sysId, internalSubset, baseURI, xmlLang, xmlSpace, null)
        {
            // Intentionally Empty
        }
 
        public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, String docTypeName,
                          String pubId, String sysId, String internalSubset, String baseURI,
                          String xmlLang, XmlSpace xmlSpace, Encoding enc)
        {
            if (nsMgr != null)
            {
                if (nt == null)
                {
                    _nt = nsMgr.NameTable;
                }
                else
                {
                    if ((object)nt != (object)nsMgr.NameTable)
                    {
                        throw new XmlException(ResXml.Xml_NotSameNametable, string.Empty);
                    }
                    _nt = nt;
                }
            }
            else
            {
                _nt = nt;
            }
 
            _nsMgr = nsMgr;
            _docTypeName = (null == docTypeName ? String.Empty : docTypeName);
            _pubId = (null == pubId ? String.Empty : pubId);
            _sysId = (null == sysId ? String.Empty : sysId);
            _internalSubset = (null == internalSubset ? String.Empty : internalSubset);
            _baseURI = (null == baseURI ? String.Empty : baseURI);
            _xmlLang = (null == xmlLang ? String.Empty : xmlLang);
            _xmlSpace = xmlSpace;
            _encoding = enc;
        }
 
        public XmlNameTable NameTable
        {
            get
            {
                return _nt;
            }
            set
            {
                _nt = value;
            }
        }
 
        public XmlNamespaceManager NamespaceManager
        {
            get
            {
                return _nsMgr;
            }
            set
            {
                _nsMgr = value;
            }
        }
 
        public String DocTypeName
        {
            get
            {
                return _docTypeName;
            }
            set
            {
                _docTypeName = (null == value ? String.Empty : value);
            }
        }
 
        public String PublicId
        {
            get
            {
                return _pubId;
            }
            set
            {
                _pubId = (null == value ? String.Empty : value);
            }
        }
 
        public String SystemId
        {
            get
            {
                return _sysId;
            }
            set
            {
                _sysId = (null == value ? String.Empty : value);
            }
        }
 
        public String BaseURI
        {
            get
            {
                return _baseURI;
            }
            set
            {
                _baseURI = (null == value ? String.Empty : value);
            }
        }
 
        public String InternalSubset
        {
            get
            {
                return _internalSubset;
            }
            set
            {
                _internalSubset = (null == value ? String.Empty : value);
            }
        }
 
        public String XmlLang
        {
            get
            {
                return _xmlLang;
            }
            set
            {
                _xmlLang = (null == value ? String.Empty : value);
            }
        }
 
        public XmlSpace XmlSpace
        {
            get
            {
                return _xmlSpace;
            }
            set
            {
                _xmlSpace = value;
            }
        }
 
        public Encoding Encoding
        {
            get
            {
                return _encoding;
            }
            set
            {
                _encoding = value;
            }
        }
 
        internal bool HasDtdInfo
        {
            get
            {
                return (_internalSubset != string.Empty || _pubId != string.Empty || _sysId != string.Empty);
            }
        }
    } // class XmlContext
} // namespace Microsoft.Xml