diff options
author | Adam Treat <adam@mono-cvs.ximian.com> | 2002-09-20 08:25:39 +0400 |
---|---|---|
committer | Adam Treat <adam@mono-cvs.ximian.com> | 2002-09-20 08:25:39 +0400 |
commit | ec02f3a0bcc44c3d32dfbdf92b59a74ed6bc5d19 (patch) | |
tree | f04c827335147af75d832881a53a404b3992c7f1 /mcs/class/System.XML/System.Xml | |
parent | 6947f0572d92a45e4e8a033558bc70be02021f12 (diff) |
* The Depth property was not implemented correctly and the Read method did not
take the newline character into account. The whitespace handling is very preliminary
but it is better than before, where every NON-AREA was being treated as NodeType.Text
example: <Foo name="Blah"> NON-AREA <Bar> TEXT </Bar> NON-AREA </Foo> The text reader
now correctly performs the Depth example found here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxmlxmltextreaderclassdepthtopic.asp
svn path=/trunk/mcs/; revision=7635
Diffstat (limited to 'mcs/class/System.XML/System.Xml')
-rw-r--r-- | mcs/class/System.XML/System.Xml/XmlTextReader.cs | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/mcs/class/System.XML/System.Xml/XmlTextReader.cs b/mcs/class/System.XML/System.Xml/XmlTextReader.cs index 02f2d3cf1b3..7fe550e53e5 100644 --- a/mcs/class/System.XML/System.Xml/XmlTextReader.cs +++ b/mcs/class/System.XML/System.Xml/XmlTextReader.cs @@ -313,9 +313,13 @@ namespace System.Xml readState = ReadState.Closed; } + [MonoTODO] public override string GetAttribute (int i) { - return orderedAttributes [i] as string; + if (i > attributes.Count) + throw new ArgumentOutOfRangeException ("i is smaller than AttributeCount"); + else + throw new NotImplementedException (); } public override string GetAttribute (string name) @@ -750,9 +754,6 @@ namespace System.Xml popScope = false; } - if (depthDown) - --depth; - if (returnEntityReference) { ++depth; SetEntityReferenceProperties (); @@ -765,6 +766,12 @@ namespace System.Xml ReadTag (); more = true; break; + case '\n': + ReadChar (); + return ReadContent (); + case ' ': + SkipWhitespace (); + return ReadContent (); case -1: readState = ReadState.EndOfFile; SetProperties ( @@ -847,6 +854,7 @@ namespace System.Xml Expect ('>'); + if (!depthDown) ++depth; SetProperties ( |