1 //------------------------------------------------------------------------------
2 // <copyright file="ValidatingReaderNodeData.cs" company="Microsoft">
3 // Copyright (c) Microsoft Corporation. All rights reserved.
5 // <owner current="true" primary="true">Microsoft</owner>
6 //------------------------------------------------------------------------------
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
{
25 string originalStringValue
; // Original value
27 AttributePSVIInfo attributePSVIInfo
; //Used only for default attributes
33 public ValidatingReaderNodeData() {
34 Clear(XmlNodeType
.None
);
37 public ValidatingReaderNodeData(XmlNodeType nodeType
) {
41 public string LocalName
{
50 public string Namespace
{
59 public string Prefix
{
68 public string GetAtomizedNameWPrefix(XmlNameTable nameTable
) {
69 if (nameWPrefix
== null) {
70 if (prefix
.Length
== 0 ) {
71 nameWPrefix
= localName
;
74 nameWPrefix
= nameTable
.Add ( string.Concat (prefix
,":", localName
));
89 public string RawValue
{
98 public string OriginalStringValue
{
100 return originalStringValue
;
103 originalStringValue
= value;
107 public XmlNodeType NodeType
{
116 public AttributePSVIInfo AttInfo
{
118 return attributePSVIInfo
;
121 attributePSVIInfo
= value;
125 public int LineNumber
{
131 public int LinePosition
{
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();
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
;
176 internal void SetItemData(string localName
, string prefix
, string ns
, int depth
) {
177 this.localName
= localName
;
178 this.prefix
= prefix
;
181 rawValue
= string.Empty
;
184 internal void SetItemData(string value) {
185 SetItemData(value, value);
188 internal void SetItemData(string value, string originalStringValue
) {
190 this.originalStringValue
= originalStringValue
;