From ec02f3a0bcc44c3d32dfbdf92b59a74ed6bc5d19 Mon Sep 17 00:00:00 2001 From: Adam Treat Date: Fri, 20 Sep 2002 04:25:39 +0000 Subject: * 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: NON-AREA TEXT NON-AREA 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 --- mcs/class/System.XML/System.Xml/XmlTextReader.cs | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'mcs/class/System.XML/System.Xml') 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 ( -- cgit v1.2.3