The Labs \ Source Viewer \ SSCLI \ System.Xml \ XmlParserContext

  1. //------------------------------------------------------------------------------
  2. // <copyright file="XmlParserContext.cs" company="Microsoft">
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. // </copyright>
  14. //------------------------------------------------------------------------------
  15. using System.Xml;
  16. using System.Text;
  17. using System;
  18. namespace System.Xml
  19. {
  20.     // Specifies the context that the XmLReader will use for xml fragment
  21.     public class XmlParserContext
  22.     {
  23.        
  24.         private XmlNameTable _nt = null;
  25.         private XmlNamespaceManager _nsMgr = null;
  26.         private string _docTypeName = String.Empty;
  27.         private string _pubId = String.Empty;
  28.         private string _sysId = String.Empty;
  29.         private string _internalSubset = String.Empty;
  30.         private string _xmlLang = String.Empty;
  31.         private XmlSpace _xmlSpace;
  32.         private string _baseURI = String.Empty;
  33.         private Encoding _encoding = null;
  34.        
  35.         public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, string xmlLang, XmlSpace xmlSpace) : this(nt, nsMgr, null, null, null, null, String.Empty, xmlLang, xmlSpace)
  36.         {
  37.             // Intentionally Empty
  38.         }
  39.        
  40.         public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, string xmlLang, XmlSpace xmlSpace, Encoding enc) : this(nt, nsMgr, null, null, null, null, String.Empty, xmlLang, xmlSpace, enc
  41.         )
  42.         {
  43.             // Intentionally Empty
  44.         }
  45.        
  46.         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
  47.         )
  48.         {
  49.             // Intentionally Empty
  50.         }
  51.        
  52.         public XmlParserContext(XmlNameTable nt, XmlNamespaceManager nsMgr, string docTypeName, string pubId, string sysId, string internalSubset, string baseURI, string xmlLang, XmlSpace xmlSpace, Encoding enc
  53.         )
  54.         {
  55.            
  56.             if (nsMgr != null) {
  57.                 if (nt == null) {
  58.                     _nt = nsMgr.NameTable;
  59.                 }
  60.                 else {
  61.                     if ((object)nt != (object)nsMgr.NameTable) {
  62.                         throw new XmlException(Res.Xml_NotSameNametable, string.Empty);
  63.                     }
  64.                     _nt = nt;
  65.                 }
  66.             }
  67.             else {
  68.                 _nt = nt;
  69.             }
  70.            
  71.             _nsMgr = nsMgr;
  72.             _docTypeName = (null == docTypeName ? String.Empty : docTypeName);
  73.             _pubId = (null == pubId ? String.Empty : pubId);
  74.             _sysId = (null == sysId ? String.Empty : sysId);
  75.             _internalSubset = (null == internalSubset ? String.Empty : internalSubset);
  76.             _baseURI = (null == baseURI ? String.Empty : baseURI);
  77.             _xmlLang = (null == xmlLang ? String.Empty : xmlLang);
  78.             _xmlSpace = xmlSpace;
  79.             _encoding = enc;
  80.            
  81.         }
  82.        
  83.         public XmlNameTable NameTable {
  84.             get { return _nt; }
  85.             set { _nt = value; }
  86.         }
  87.        
  88.         public XmlNamespaceManager NamespaceManager {
  89.             get { return _nsMgr; }
  90.             set { _nsMgr = value; }
  91.         }
  92.        
  93.         public string DocTypeName {
  94.             get { return _docTypeName; }
  95.             set { _docTypeName = (null == value ? String.Empty : value); }
  96.         }
  97.        
  98.         public string PublicId {
  99.             get { return _pubId; }
  100.             set { _pubId = (null == value ? String.Empty : value); }
  101.         }
  102.        
  103.         public string SystemId {
  104.             get { return _sysId; }
  105.             set { _sysId = (null == value ? String.Empty : value); }
  106.         }
  107.        
  108.         public string BaseURI {
  109.             get { return _baseURI; }
  110.             set { _baseURI = (null == value ? String.Empty : value); }
  111.         }
  112.        
  113.         public string InternalSubset {
  114.             get { return _internalSubset; }
  115.             set { _internalSubset = (null == value ? String.Empty : value); }
  116.         }
  117.        
  118.         public string XmlLang {
  119.             get { return _xmlLang; }
  120.             set { _xmlLang = (null == value ? String.Empty : value); }
  121.         }
  122.        
  123.         public XmlSpace XmlSpace {
  124.             get { return _xmlSpace; }
  125.             set { _xmlSpace = value; }
  126.         }
  127.        
  128.         public Encoding Encoding {
  129.             get { return _encoding; }
  130.             set { _encoding = value; }
  131.         }
  132.        
  133.         internal bool HasDtdInfo {
  134.             get { return (_internalSubset != string.Empty || _pubId != string.Empty || _sysId != string.Empty); }
  135.         }
  136.        
  137.     }
  138.     // class XmlContext
  139. }
  140. // namespace System.Xml

Developer Fusion