2005-01-31 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mcs / class / System.XML / Mono.Xml.XPath / XPathNavigatorReader.cs
index ed1f7b14f917310e70c98bf066a24e5eb96f55e9..5a5cf1f3f2c4169e32f64705b140f1a4e0a3d0d7 100755 (executable)
@@ -27,7 +27,6 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
 //\r
-#if NET_2_0\r
 \r
 using System;\r
 using System.Text;\r
@@ -60,7 +59,9 @@ namespace Mono.Xml.XPath
                bool endElement;\r
                bool attributeValueConsumed;\r
                StringBuilder readStringBuffer = new StringBuilder ();\r
+#if NET_2_0\r
                StringBuilder innerXmlBuilder = new StringBuilder ();\r
+#endif\r
 \r
                int depth = 0;\r
                int attributeCount = 0;\r
@@ -68,6 +69,17 @@ namespace Mono.Xml.XPath
                bool nextIsEOF;\r
 \r
                #region Properties\r
+\r
+#if NET_2_0\r
+               public override bool CanReadBinaryContent {\r
+                       get { return true; }\r
+               }\r
+\r
+               public override bool CanReadValueChunk {\r
+                       get { return true; }\r
+               }\r
+#endif\r
+\r
                public override XmlNodeType NodeType \r
                {\r
                        get {\r
@@ -131,7 +143,7 @@ namespace Mono.Xml.XPath
                                if (eof)\r
                                        return String.Empty;\r
                                else if (current.NodeType == XPathNodeType.Namespace)\r
-                                       return XmlNamespaceManager.XmlnsXmlns;\r
+                                       return "http://www.w3.org/2000/xmlns/";\r
                                else\r
                                        return current.NamespaceURI;\r
                        }\r
@@ -206,8 +218,12 @@ namespace Mono.Xml.XPath
 \r
                public override bool IsDefault {\r
                        get {\r
+#if NET_2_0\r
                                IXmlSchemaInfo si = current as IXmlSchemaInfo;\r
                                return si != null && si.IsDefault;\r
+#else\r
+                               return false; // no way to check this.\r
+#endif\r
                        }\r
                }\r
 \r
@@ -216,6 +232,12 @@ namespace Mono.Xml.XPath
                        get { return '\"'; }\r
                }\r
 \r
+#if NET_2_0\r
+               public override IXmlSchemaInfo SchemaInfo {\r
+                       get { return current.SchemaInfo; }\r
+               }\r
+#endif\r
+\r
                public override string XmlLang {\r
                        get { return current.XmlLang; }\r
                }\r
@@ -436,6 +458,11 @@ namespace Mono.Xml.XPath
 \r
                public override bool Read ()\r
                {\r
+#if NET_2_0\r
+                       if (Binary != null)\r
+                               Binary.Reset ();\r
+#endif\r
+\r
                        switch (ReadState) {\r
                        case ReadState.EndOfFile:\r
                        case ReadState.Closed:\r
@@ -677,4 +704,3 @@ namespace Mono.Xml.XPath
        }\r
 }\r
 \r
-#endif\r