* DiscoveryDocument.cs: Set namespace for ContractReference references.
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Discovery / DynamicDiscoveryDocument.cs
1 // \r
2 // System.Web.Services.Discovery.DynamicDiscoveryDocument.cs\r
3 //\r
4 // Author:\r
5 //   Dave Bettin (javabettin@yahoo.com)\r
6 //   Lluis Sanchez Gual (lluis@ximian.com)\r
7 //\r
8 // Copyright (C) Dave Bettin, 2002\r
9 //\r
10 \r
11 using System.IO;\r
12 using System.Xml.Serialization;\r
13 \r
14 namespace System.Web.Services.Discovery {\r
15 \r
16         [XmlRootAttribute("dynamicDiscovery", Namespace="urn:schemas-dynamicdiscovery:disco.2000-03-17", IsNullable=true)]\r
17         public sealed class DynamicDiscoveryDocument {\r
18 \r
19                 #region Fields\r
20                 \r
21                 public const string Namespace = "urn:schemas-dynamicdiscovery:disco.2000-03-17";\r
22                 \r
23                 ExcludePathInfo[] excludes;\r
24                 \r
25                 #endregion // Fields\r
26                 \r
27                 #region Constructors\r
28 \r
29                 public DynamicDiscoveryDocument () \r
30                 {\r
31                 }\r
32                 \r
33                 #endregion // Constructors\r
34 \r
35                 #region Properties\r
36                 \r
37                 [XmlElement("exclude", typeof(ExcludePathInfo))]\r
38                 public ExcludePathInfo[] ExcludePaths {\r
39                         get { return excludes; }\r
40                         set { excludes = value; }\r
41                 }\r
42                 \r
43                 #endregion // Properties\r
44 \r
45                 #region Methods\r
46 \r
47                 public static DynamicDiscoveryDocument Load (Stream stream)\r
48                 {\r
49                         XmlSerializer ser = new XmlSerializer (typeof(DynamicDiscoveryDocument));\r
50                         return (DynamicDiscoveryDocument) ser.Deserialize (stream);\r
51                 }\r
52 \r
53                 public void Write (Stream stream)\r
54                 {\r
55                         XmlSerializer ser = new XmlSerializer (typeof(DynamicDiscoveryDocument));\r
56                         ser.Serialize (stream, this);\r
57                 }\r
58                 \r
59                 internal bool IsExcluded (string path)\r
60                 {\r
61                         if (excludes == null) return false;\r
62                         \r
63                         foreach (ExcludePathInfo ex in excludes)\r
64                                 if (ex.Path == path) return true;\r
65                                 \r
66                         return false;\r
67                 }\r
68 \r
69                 #endregion // Methods\r
70         }\r
71 }\r