2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / System.Xml.XPath / XPathDocument.cs
1 //
2 // System.Xml.XPath.XPathDocument
3 //
4 // Authors:
5 //   Tim Coleman (tim@timcoleman.com)
6 //   Atsushi Enomoto (ginga@kit.hi-ho.ne.jp)
7 //
8 // (C) Copyright 2002 Tim Coleman
9 // (C) 2003 Atsushi Enomoto
10 //
11 using System;
12 using System.Collections;
13 using System.IO;
14 using System.Xml;
15 using System.Xml.Schema;
16 using Mono.Xml.XPath;
17
18 namespace System.Xml.XPath
19 {
20
21         public class XPathDocument : IXPathNavigable
22         {
23                 DTMXPathDocument document;
24
25 #region Constructors
26
27                 public XPathDocument (Stream stream)
28                 {
29                         XmlValidatingReader vr = new XmlValidatingReader (new XmlTextReader (stream));
30                         vr.ValidationType = ValidationType.None;
31                         Initialize (vr, XmlSpace.None);
32                 }
33
34                 public XPathDocument (string uri) 
35                         : this (uri, XmlSpace.None)
36                 {
37                 }
38
39                 public XPathDocument (TextReader reader)
40                 {
41                         XmlValidatingReader vr = new XmlValidatingReader (new XmlTextReader (reader));
42                         vr.ValidationType = ValidationType.None;
43                         Initialize (vr, XmlSpace.None);
44                 }
45
46                 public XPathDocument (XmlReader reader)
47                         : this (reader, XmlSpace.None)
48                 {
49                 }
50
51                 public XPathDocument (string uri, XmlSpace space)
52                 {
53                         XmlValidatingReader vr = new XmlValidatingReader (new XmlTextReader (uri));
54                         vr.ValidationType = ValidationType.None;
55                         Initialize (vr, space);
56                 }
57
58                 public XPathDocument (XmlReader reader, XmlSpace space)
59                 {
60                         Initialize (reader, space);
61                 }
62
63                 private void Initialize (XmlReader reader, XmlSpace space)
64                 {
65                         document = new DTMXPathDocumentBuilder (reader, space).CreateDocument ();
66                 }
67
68 #endregion
69
70 #region Methods
71
72                 public XPathNavigator CreateNavigator ()
73                 {
74                         return document.CreateNavigator ();
75                 }
76
77 #endregion
78
79         }
80
81 }
82
83