Updates referencesource to .NET 4.7
[mono-project.git] / mcs / class / referencesource / System.Xml / System / Xml / Core / ValidatingReaderNodeData.cs
blob35ebb93441cccada29d0df7362ce18bb2e6caf54
1 //------------------------------------------------------------------------------
2 // <copyright file="ValidatingReaderNodeData.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
4 // </copyright>
5 // <owner current="true" primary="true">Microsoft</owner>
6 //------------------------------------------------------------------------------
8 using System;
9 using System.IO;
10 using System.Text;
11 using System.Collections;
12 using System.Xml.Schema;
13 using System.Diagnostics;
14 using System.Globalization;
16 namespace System.Xml {
18 internal class ValidatingReaderNodeData {
19 string localName;
20 string namespaceUri;
21 string prefix;
22 string nameWPrefix;
24 string rawValue;
25 string originalStringValue; // Original value
26 int depth;
27 AttributePSVIInfo attributePSVIInfo; //Used only for default attributes
28 XmlNodeType nodeType;
30 int lineNo;
31 int linePos;
33 public ValidatingReaderNodeData() {
34 Clear(XmlNodeType.None);
37 public ValidatingReaderNodeData(XmlNodeType nodeType) {
38 Clear(nodeType);
41 public string LocalName {
42 get {
43 return localName;
45 set {
46 localName = value;
50 public string Namespace {
51 get {
52 return namespaceUri;
54 set {
55 namespaceUri = value;
59 public string Prefix {
60 get {
61 return prefix;
63 set {
64 prefix = value;
68 public string GetAtomizedNameWPrefix(XmlNameTable nameTable) {
69 if (nameWPrefix == null) {
70 if (prefix.Length == 0 ) {
71 nameWPrefix = localName;
73 else {
74 nameWPrefix = nameTable.Add ( string.Concat (prefix,":", localName));
77 return nameWPrefix;
80 public int Depth {
81 get {
82 return depth;
84 set {
85 depth = value;
89 public string RawValue {
90 get {
91 return rawValue;
93 set {
94 rawValue = value;
98 public string OriginalStringValue {
99 get {
100 return originalStringValue;
102 set {
103 originalStringValue = value;
107 public XmlNodeType NodeType {
108 get {
109 return nodeType;
111 set {
112 nodeType = value;
116 public AttributePSVIInfo AttInfo {
117 get {
118 return attributePSVIInfo;
120 set {
121 attributePSVIInfo = value;
125 public int LineNumber {
126 get {
127 return lineNo;
131 public int LinePosition {
132 get {
133 return linePos;
137 internal void Clear( XmlNodeType nodeType ) {
138 this.nodeType = nodeType;
139 localName = string.Empty;
140 prefix = string.Empty;
141 namespaceUri = string.Empty;
142 rawValue = string.Empty;
143 if (attributePSVIInfo != null) {
144 attributePSVIInfo.Reset();
146 nameWPrefix = null;
147 lineNo = 0;
148 linePos = 0;
151 internal void ClearName() {
152 localName = string.Empty;
153 prefix = string.Empty;
154 namespaceUri = string.Empty;
157 internal void SetLineInfo( int lineNo, int linePos ) {
158 this.lineNo = lineNo;
159 this.linePos = linePos;
162 internal void SetLineInfo( IXmlLineInfo lineInfo ) {
163 if (lineInfo != null) {
164 this.lineNo = lineInfo.LineNumber;
165 this.linePos = lineInfo.LinePosition;
169 internal void SetItemData(string localName, string prefix, string ns, string value) {
170 this.localName = localName;
171 this.prefix = prefix;
172 namespaceUri = ns;
173 rawValue = value;
176 internal void SetItemData(string localName, string prefix, string ns, int depth) {
177 this.localName = localName;
178 this.prefix = prefix;
179 namespaceUri = ns;
180 this.depth = depth;
181 rawValue = string.Empty;
184 internal void SetItemData(string value) {
185 SetItemData(value, value);
188 internal void SetItemData(string value, string originalStringValue) {
189 rawValue = value;
190 this.originalStringValue = originalStringValue;