* Mono.Posix.dll.sources: Rename Mono.Posix to Mono.Unix.
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Description / DocumentableItem.cs
index 9be7b780803c8d34992e8d463c208467330bb6b6..4bcca149a747aaf74c6c92723f760b7df57ce467 100644 (file)
@@ -6,9 +6,31 @@
 //\r
 // Copyright (C) Tim Coleman, 2002\r
 //\r
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
 \r
 using System.ComponentModel;\r
 using System.Xml.Serialization;\r
+using System.Xml;\r
 \r
 namespace System.Web.Services.Description {\r
        public abstract class DocumentableItem {\r
@@ -17,6 +39,10 @@ namespace System.Web.Services.Description {
 \r
                string documentation;\r
 \r
+#if NET_2_0\r
+               XmlElement docElement;\r
+#endif\r
+\r
                #endregion // Fields\r
 \r
                #region Constructors\r
@@ -30,6 +56,31 @@ namespace System.Web.Services.Description {
 \r
                #region Properties\r
 \r
+#if NET_2_0\r
+               [XmlIgnore]\r
+               public string Documentation {\r
+                       get { \r
+                               return docElement != null ? docElement.InnerText : ""; \r
+                       }\r
+                       \r
+                       set {\r
+                               if (value == null)\r
+                                       docElement = null;\r
+                               else {\r
+                                       XmlDocument doc = new XmlDocument ();\r
+                                       docElement = doc.CreateElement ("wsdl", "documentation", "http://schemas.xmlsoap.org/wsdl/");\r
+                                       docElement.InnerText = value;\r
+                               }\r
+                       }\r
+               }\r
+               \r
+               [System.Runtime.InteropServices.ComVisible(false)]\r
+               [XmlAnyElement (Name="documentation", Namespace="http://schemas.xmlsoap.org/wsdl/")]\r
+               public XmlElement DocumentationElement {\r
+                       get { return docElement; }\r
+                       set { docElement = value; }\r
+               }\r
+#else\r
                [XmlElement ("documentation")]\r
                [DefaultValue ("")]\r
                public string Documentation {\r
@@ -41,6 +92,8 @@ namespace System.Web.Services.Description {
                                        documentation = value;\r
                        }\r
                }\r
+               \r
+#endif\r
        \r
                #endregion // Properties\r
        }\r