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

  1. //------------------------------------------------------------------------------
  2. // <copyright file="ValidatingReaderNodeData.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. // <owner current="true" primary="true">priyal</owner>
  15. //------------------------------------------------------------------------------
  16. using System;
  17. using System.IO;
  18. using System.Text;
  19. using System.Collections;
  20. using System.Xml.Schema;
  21. using System.Diagnostics;
  22. using System.Globalization;
  23. namespace System.Xml
  24. {
  25.    
  26.     internal class ValidatingReaderNodeData
  27.     {
  28.         string localName;
  29.         string namespaceUri;
  30.         string prefix;
  31.         string nameWPrefix;
  32.        
  33.         string rawValue;
  34.         int depth;
  35.         AttributePSVIInfo attributePSVIInfo;
  36.         //Used only for default attributes
  37.         XmlNodeType nodeType;
  38.        
  39.         int lineNo;
  40.         int linePos;
  41.        
  42.         public ValidatingReaderNodeData()
  43.         {
  44.             Clear(XmlNodeType.None);
  45.         }
  46.        
  47.         public ValidatingReaderNodeData(XmlNodeType nodeType)
  48.         {
  49.             Clear(nodeType);
  50.         }
  51.        
  52.         public string LocalName {
  53.             get { return localName; }
  54.             set { localName = value; }
  55.         }
  56.        
  57.         public string Namespace {
  58.             get { return namespaceUri; }
  59.             set { namespaceUri = value; }
  60.         }
  61.        
  62.         public string Prefix {
  63.             get { return prefix; }
  64.             set { prefix = value; }
  65.         }
  66.        
  67.         public string GetAtomizedNameWPrefix(XmlNameTable nameTable)
  68.         {
  69.             if (nameWPrefix == null) {
  70.                 if (prefix.Length == 0) {
  71.                     nameWPrefix = localName;
  72.                 }
  73.                 else {
  74.                     nameWPrefix = nameTable.Add(string.Concat(prefix, ":", localName));
  75.                 }
  76.             }
  77.             return nameWPrefix;
  78.         }
  79.        
  80.         public int Depth {
  81.             get { return depth; }
  82.             set { depth = value; }
  83.         }
  84.        
  85.         public string RawValue {
  86.             get { return rawValue; }
  87.             set { rawValue = value; }
  88.         }
  89.        
  90.         public XmlNodeType NodeType {
  91.             get { return nodeType; }
  92.             set { nodeType = value; }
  93.         }
  94.        
  95.         public AttributePSVIInfo AttInfo {
  96.             get { return attributePSVIInfo; }
  97.             set { attributePSVIInfo = value; }
  98.         }
  99.        
  100.         public int LineNumber {
  101.             get { return lineNo; }
  102.         }
  103.        
  104.         public int LinePosition {
  105.             get { return linePos; }
  106.         }
  107.        
  108.         internal void Clear(XmlNodeType nodeType)
  109.         {
  110.             this.nodeType = nodeType;
  111.             localName = string.Empty;
  112.             prefix = string.Empty;
  113.             namespaceUri = string.Empty;
  114.             rawValue = string.Empty;
  115.             if (attributePSVIInfo != null) {
  116.                 attributePSVIInfo.Reset();
  117.             }
  118.             nameWPrefix = null;
  119.             lineNo = 0;
  120.             linePos = 0;
  121.         }
  122.        
  123.         internal void ClearName()
  124.         {
  125.             localName = string.Empty;
  126.             prefix = string.Empty;
  127.             namespaceUri = string.Empty;
  128.         }
  129.        
  130.         internal void SetLineInfo(int lineNo, int linePos)
  131.         {
  132.             this.lineNo = lineNo;
  133.             this.linePos = linePos;
  134.         }
  135.        
  136.         internal void SetLineInfo(IXmlLineInfo lineInfo)
  137.         {
  138.             if (lineInfo != null) {
  139.                 this.lineNo = lineInfo.LineNumber;
  140.                 this.linePos = lineInfo.LinePosition;
  141.             }
  142.         }
  143.        
  144.         internal void SetItemData(string localName, string prefix, string ns, string value)
  145.         {
  146.             this.localName = localName;
  147.             this.prefix = prefix;
  148.             namespaceUri = ns;
  149.             rawValue = value;
  150.         }
  151.        
  152.         internal void SetItemData(string localName, string prefix, string ns, int depth)
  153.         {
  154.             this.localName = localName;
  155.             this.prefix = prefix;
  156.             namespaceUri = ns;
  157.             this.depth = depth;
  158.             rawValue = string.Empty;
  159.         }
  160.        
  161.         internal void SetItemData(string value)
  162.         {
  163.             rawValue = value;
  164.         }
  165.     }
  166. }

Developer Fusion