// 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
+\r
using System;\r
using System.Text;\r
using System.Xml;\r
+using System.Xml.Schema;\r
using System.Xml.XPath;\r
\r
namespace Mono.Xml.XPath\r
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
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
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
get { return current.IsEmptyElement; }\r
}\r
\r
- // It makes no sense.\r
public override bool IsDefault {\r
- get { return false; }\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
// It makes no sense.\r
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
\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
nextIsEOF = true;\r
attributeCount = GetAttributeCount ();\r
return true;\r
- case XPathNodeType.Namespace:\r
- case XPathNodeType.Attribute:\r
+ default:\r
nextIsEOF = true;\r
return true;\r
}\r
#endregion\r
}\r
}\r
+\r