The raw beginnings of XML serialization of Monodoc XML.
authorJohn Barnette <jbarn@mono-cvs.ximian.com>
Tue, 25 Jun 2002 22:37:15 +0000 (22:37 -0000)
committerJohn Barnette <jbarn@mono-cvs.ximian.com>
Tue, 25 Jun 2002 22:37:15 +0000 (22:37 -0000)
svn path=/trunk/mcs/; revision=5457

mcs/doctools/src/Core/AbstractDoc.cs
mcs/doctools/src/Core/AbstractTypeDoc.cs
mcs/doctools/src/Core/ClassDoc.cs
mcs/doctools/src/Core/Core.csproj
mcs/doctools/src/Core/MonodocFile.cs [new file with mode: 0644]
mcs/doctools/src/Gui/Gui.csproj
mcs/doctools/src/doctools.sln
mcs/doctools/src/xmltest/Driver.cs [new file with mode: 0644]
mcs/doctools/src/xmltest/xmltest.csproj [new file with mode: 0644]

index 48eb0b7b26f4bdb5c48809efbd138c1fac8f8601..da5b5badf2a8c9959cbaf523566a8595e54e07bf 100644 (file)
@@ -21,6 +21,7 @@
 \r
 using System;\r
 using System.Collections.Specialized;\r
+using System.Xml.Serialization;\r
 \r
 namespace Mono.Doc.Core\r
 {\r
@@ -45,33 +46,31 @@ namespace Mono.Doc.Core
                {\r
                }\r
 \r
+               [XmlElement(ElementName = "summary")]\r
                public string Summary\r
                {\r
                        get { return this.summary;  }\r
                        set { this.summary = value; }\r
                }\r
 \r
+               [XmlElement(ElementName = "remarks")]\r
                public string Remarks\r
                {\r
                        get { return this.remarks;  }\r
                        set { this.remarks = value; }\r
                }\r
 \r
+               [XmlAttribute(AttributeName = "name")]\r
                public string Name\r
                {\r
                        get { return this.name;  }\r
                        set { this.name = value; }\r
                }\r
 \r
+               // TODO: correct xml serialization\r
                public StringCollection SeeAlso\r
                {\r
                        get { return this.seeAlso; }\r
                }\r
-\r
-               public string Language\r
-               {\r
-                       get { return this.language;  }\r
-                       set { this.language = value; }\r
-               }\r
        }\r
 }\r
index 611024ed7fde4d7e59ed52b2e60907f46b368ddd..8b5e486d21db0d723a1e00a17004c06b511bbab0 100644 (file)
@@ -20,6 +20,7 @@
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
 \r
 using System;\r
+using System.Xml.Serialization;\r
 \r
 namespace Mono.Doc.Core\r
 {\r
@@ -36,6 +37,8 @@ namespace Mono.Doc.Core
                {\r
                }\r
 \r
+\r
+               [XmlAttribute(AttributeName = "assembly")]\r
                public string Assembly\r
                {\r
                        get { return this.assembly;  }\r
index 46a857d8edc404d627669f89ca8921732cdb7fc2..1131d2d2f24f23d35bcccedb1205ebf7938b37da 100644 (file)
 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
 \r
 using System;\r
+using System.Xml.Serialization;\r
 \r
 namespace Mono.Doc.Core\r
 {\r
+\r
+       [XmlType(TypeName = "class")]\r
        public class ClassDoc : AbstractClassStructDoc\r
        {\r
                public ClassDoc(string name) : base(name)\r
index dc93538ea859a7a4c811f272e421a67d67b1feb1..f0351b71f1d8420039fc7b1f00e0b94f749e14dc 100644 (file)
                     SubType = "Code"\r
                     BuildAction = "Compile"\r
                 />\r
+                <File\r
+                    RelPath = "MonodocFile.cs"\r
+                    SubType = "Code"\r
+                    BuildAction = "Compile"\r
+                />\r
                 <File\r
                     RelPath = "NamingFlags.cs"\r
                     SubType = "Code"\r
diff --git a/mcs/doctools/src/Core/MonodocFile.cs b/mcs/doctools/src/Core/MonodocFile.cs
new file mode 100644 (file)
index 0000000..5ab7ba7
--- /dev/null
@@ -0,0 +1,31 @@
+using System;\r
+using System.Collections;\r
+using System.Xml.Serialization;\r
+\r
+namespace Mono.Doc.Core\r
+{\r
+       [XmlRoot(ElementName="monodoc")]\r
+       public class MonodocFile\r
+       {\r
+               private string    language  = "en";\r
+               private ArrayList types     = new ArrayList();\r
+\r
+               public MonodocFile()\r
+               {\r
+               }\r
+\r
+               [XmlAttribute(AttributeName="language")]\r
+               public string Language\r
+               {\r
+                       get { return language;  }\r
+                       set { language = value; }\r
+               }\r
+\r
+               // TODO: add structs and delegates as XmlArrayItems\r
+               [XmlElement(Type = typeof(ClassDoc)), XmlElement(Type = typeof(InterfaceDoc))]\r
+               public ArrayList Types\r
+               {\r
+                       get { return types; }\r
+               }\r
+       }\r
+}\r
index 6e5ec50d10717a1bc0de325ce2fda4a3f24a2a04..4f60acdd0788c78506a92316a1933c787b918e01 100644 (file)
                     DependentUpon = "ProjectOptionsForm.cs"\r
                     BuildAction = "EmbeddedResource"\r
                 />\r
-                <File\r
-                    RelPath = "TestingForm.cs"\r
-                    SubType = "Form"\r
-                    BuildAction = "Compile"\r
-                />\r
-                <File\r
-                    RelPath = "TestingForm.resx"\r
-                    DependentUpon = "TestingForm.cs"\r
-                    BuildAction = "EmbeddedResource"\r
-                />\r
                 <File\r
                     RelPath = "TextResources.resx"\r
                     Link = "..\..\etc\gui\TextResources.resx"\r
index b336c2a1e2647b80615cbed78569d40902270749..ea182e321032ac1d840deb3a8a2d80d24de59fb5 100644 (file)
@@ -3,6 +3,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gui", "Gui\Gui.csproj", "{B
 EndProject\r
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "Core\Core.csproj", "{73F5A60D-A5E3-4852-B4C6-478275E733F9}"\r
 EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xmltest", "xmltest\xmltest.csproj", "{D83D563A-46E7-4CBA-87EE-FEA674A0CACE}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfiguration) = preSolution\r
                ConfigName.0 = Debug\r
@@ -19,6 +21,10 @@ Global
                {73F5A60D-A5E3-4852-B4C6-478275E733F9}.Debug.Build.0 = Release|.NET\r
                {73F5A60D-A5E3-4852-B4C6-478275E733F9}.Release.ActiveCfg = Release|.NET\r
                {73F5A60D-A5E3-4852-B4C6-478275E733F9}.Release.Build.0 = Release|.NET\r
+               {D83D563A-46E7-4CBA-87EE-FEA674A0CACE}.Debug.ActiveCfg = Debug|.NET\r
+               {D83D563A-46E7-4CBA-87EE-FEA674A0CACE}.Debug.Build.0 = Debug|.NET\r
+               {D83D563A-46E7-4CBA-87EE-FEA674A0CACE}.Release.ActiveCfg = Release|.NET\r
+               {D83D563A-46E7-4CBA-87EE-FEA674A0CACE}.Release.Build.0 = Release|.NET\r
        EndGlobalSection\r
        GlobalSection(ExtensibilityGlobals) = postSolution\r
        EndGlobalSection\r
diff --git a/mcs/doctools/src/xmltest/Driver.cs b/mcs/doctools/src/xmltest/Driver.cs
new file mode 100644 (file)
index 0000000..7d06307
--- /dev/null
@@ -0,0 +1,35 @@
+using System;\r
+using System.Xml.Serialization;\r
+\r
+using Mono.Doc.Core;\r
+\r
+namespace Mono.Doc.XmlTest\r
+{\r
+       public class Driver\r
+       {\r
+               public Driver()\r
+               {\r
+               }\r
+\r
+               public static void Main(string[] args)\r
+               {\r
+                       MonodocFile file  = new MonodocFile();\r
+                       XmlSerializer ser = new XmlSerializer(file.GetType());\r
+\r
+                       // a class\r
+                       ClassDoc hashtable = new ClassDoc("System.Collections.Hashtable");\r
+                       hashtable.Assembly = "corlib";\r
+\r
+                       file.Types.Add(hashtable);\r
+\r
+                       // an interface\r
+                       InterfaceDoc icollection = new InterfaceDoc("System.Collections.ICollection");\r
+                       icollection.Assembly     = "corlib";\r
+\r
+                       file.Types.Add(icollection);\r
+\r
+                       ser.Serialize(Console.Out, file);\r
+                       Console.WriteLine("\n\n");\r
+               }\r
+       }\r
+}\r
diff --git a/mcs/doctools/src/xmltest/xmltest.csproj b/mcs/doctools/src/xmltest/xmltest.csproj
new file mode 100644 (file)
index 0000000..b541b1b
--- /dev/null
@@ -0,0 +1,93 @@
+<VisualStudioProject>\r
+    <CSHARP\r
+        ProjectType = "Local"\r
+        ProductVersion = "7.0.9466"\r
+        SchemaVersion = "1.0"\r
+        ProjectGuid = "{D83D563A-46E7-4CBA-87EE-FEA674A0CACE}"\r
+    >\r
+        <Build>\r
+            <Settings\r
+                ApplicationIcon = ""\r
+                AssemblyKeyContainerName = ""\r
+                AssemblyName = "xmltest"\r
+                AssemblyOriginatorKeyFile = ""\r
+                DefaultClientScript = "JScript"\r
+                DefaultHTMLPageLayout = "Grid"\r
+                DefaultTargetSchema = "IE50"\r
+                DelaySign = "false"\r
+                OutputType = "Exe"\r
+                RootNamespace = "Mono.Doc.XmlTest"\r
+                StartupObject = "Mono.Doc.XmlTest.Driver"\r
+            >\r
+                <Config\r
+                    Name = "Debug"\r
+                    AllowUnsafeBlocks = "false"\r
+                    BaseAddress = "285212672"\r
+                    CheckForOverflowUnderflow = "false"\r
+                    ConfigurationOverrideFile = ""\r
+                    DefineConstants = "DEBUG;TRACE"\r
+                    DocumentationFile = ""\r
+                    DebugSymbols = "true"\r
+                    FileAlignment = "4096"\r
+                    IncrementalBuild = "true"\r
+                    Optimize = "false"\r
+                    OutputPath = "..\..\build\"\r
+                    RegisterForComInterop = "false"\r
+                    RemoveIntegerChecks = "false"\r
+                    TreatWarningsAsErrors = "false"\r
+                    WarningLevel = "4"\r
+                />\r
+                <Config\r
+                    Name = "Release"\r
+                    AllowUnsafeBlocks = "false"\r
+                    BaseAddress = "285212672"\r
+                    CheckForOverflowUnderflow = "false"\r
+                    ConfigurationOverrideFile = ""\r
+                    DefineConstants = "TRACE"\r
+                    DocumentationFile = ""\r
+                    DebugSymbols = "false"\r
+                    FileAlignment = "4096"\r
+                    IncrementalBuild = "false"\r
+                    Optimize = "true"\r
+                    OutputPath = "bin\Release\"\r
+                    RegisterForComInterop = "false"\r
+                    RemoveIntegerChecks = "false"\r
+                    TreatWarningsAsErrors = "false"\r
+                    WarningLevel = "4"\r
+                />\r
+            </Settings>\r
+            <References>\r
+                <Reference\r
+                    Name = "System"\r
+                    AssemblyName = "System"\r
+                    HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.dll"\r
+                />\r
+                <Reference\r
+                    Name = "System.Data"\r
+                    AssemblyName = "System.Data"\r
+                    HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.Data.dll"\r
+                />\r
+                <Reference\r
+                    Name = "System.XML"\r
+                    AssemblyName = "System.XML"\r
+                    HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\System.XML.dll"\r
+                />\r
+                <Reference\r
+                    Name = "Core"\r
+                    Project = "{73F5A60D-A5E3-4852-B4C6-478275E733F9}"\r
+                    Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"\r
+                />\r
+            </References>\r
+        </Build>\r
+        <Files>\r
+            <Include>\r
+                <File\r
+                    RelPath = "Driver.cs"\r
+                    SubType = "Code"\r
+                    BuildAction = "Compile"\r
+                />\r
+            </Include>\r
+        </Files>\r
+    </CSHARP>\r
+</VisualStudioProject>\r
+\r