2006-11-02 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.Web.Services / System.Web.Services.Description / DocumentableItem.cs
index 50bcea4b692a4229ce00ab8eb2b587a4efe875e6..4bcca149a747aaf74c6c92723f760b7df57ce467 100644 (file)
@@ -6,30 +6,29 @@
 //\r
 // Copyright (C) Tim Coleman, 2002\r
 //\r
-\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// 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
+
+//
+// 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.Runtime.InteropServices;\r
 using System.Xml.Serialization;\r
 using System.Xml;\r
 \r
@@ -38,10 +37,10 @@ namespace System.Web.Services.Description {
 \r
                #region Fields\r
 \r
-               XmlElement docElement;\r
+               string documentation;\r
 \r
 #if NET_2_0\r
-               XmlAttribute [] extAttributes;\r
+               XmlElement docElement;\r
 #endif\r
 \r
                #endregion // Fields\r
@@ -50,12 +49,14 @@ namespace System.Web.Services.Description {
 \r
                protected DocumentableItem ()\r
                {\r
+                       documentation = String.Empty;\r
                }\r
                \r
                #endregion // Constructors\r
 \r
                #region Properties\r
 \r
+#if NET_2_0\r
                [XmlIgnore]\r
                public string Documentation {\r
                        get { \r
@@ -72,28 +73,28 @@ namespace System.Web.Services.Description {
                                }\r
                        }\r
                }\r
-\r
-               [ComVisible (false)]\r
+               \r
+               [System.Runtime.InteropServices.ComVisible(false)]\r
                [XmlAnyElement (Name="documentation", Namespace="http://schemas.xmlsoap.org/wsdl/")]\r
-               public XmlElement DocumentationElement\r
-               {\r
+               public XmlElement DocumentationElement {\r
                        get { return docElement; }\r
                        set { docElement = value; }\r
                }\r
-\r
-#if NET_2_0\r
-               [XmlAnyAttribute]\r
-               public XmlAttribute [] ExtensibleAttributes {\r
-                       get { return extAttributes; }\r
-                       set { extAttributes = value; }\r
-               }\r
-\r
-               [XmlIgnore]\r
-               public abstract ServiceDescriptionFormatExtensionCollection Extensions {\r
-                       get;\r
+#else\r
+               [XmlElement ("documentation")]\r
+               [DefaultValue ("")]\r
+               public string Documentation {\r
+                       get { return documentation; }\r
+                       set {\r
+                               if (value == null)\r
+                                       documentation = String.Empty;\r
+                               else\r
+                                       documentation = value;\r
+                       }\r
                }\r
+               \r
 #endif\r
-\r
+       \r
                #endregion // Properties\r
        }\r
 }\r