classlib-doc 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. * Class Library Documentation
  2. ** Summary
  3. <em>
  4. [This documentation is in progress. Comments to
  5. <a href="mailto:[email protected]">[email protected]</a>.]
  6. </em>
  7. While using inline XML tags to document classes is certainly
  8. convenient, properly verbose documentation quickly overwhelms
  9. the code, making the source quite difficult to read. Furthermore,
  10. multilingual documentation makes for significant additional text.
  11. With these considerations in mind, Mono will use external XML files
  12. for type documentation, rather than documenting the source inline.
  13. Several tools will be created for managing, verifying, generating,
  14. and updating class library documentation, including:
  15. <ul>
  16. <li><a href="#docstub">docstub</a></li>
  17. <li><a href="#docverify">docverify</a></li>
  18. <li><a href="#docconv">docconv</a></li>
  19. <li><a href="#docgen">docgen</a></li>
  20. <li><a href="#monodoc">monodoc</a></li>
  21. </ul>
  22. ** XML Documentation Files and Formats
  23. *** Monodoc XML
  24. This XML is similar to the XML documentation described in the
  25. C# standard, with added tags for internationalization and a
  26. slightly different structure. Documentation and a DTD/Schema
  27. for Monodoc XML is forthcoming.
  28. Monodoc XML does not contain any definitive type information,
  29. and is only useful in conjunction with the Type definition for
  30. whatever is being documented.
  31. This XML could be generated by hand, by monostub, or by monodoc.
  32. *** Assembly XML
  33. This XML is generated by combining runtime type information for
  34. an Assembly with a collection of Monodoc XML files. The resultant
  35. XML (in the best of cases) contains both complete type and
  36. documentary information for each type in the assembly.
  37. This XML contains enough information to be transformed into
  38. user-accessible documentation. It is likely that scripts
  39. will be created to generate reference docs as HTML and other
  40. formats.
  41. Documentation and a DTD/Schema for Assembly XML is forthcoming.
  42. ** Documentation Tools
  43. *** <a name="docstub">docstub</a>
  44. Given a type name and an assembly, generates stub Monodoc XML
  45. documentation for the type. Optionally, docstub can attempt to
  46. populate initial documentation from an XML file in the format
  47. published along with the ECMA standard.
  48. *** <a name="docverify">docverify</a>
  49. Given a Monodoc XML file and an assembly, verifies that the
  50. documentation matches the compiled type. Checks signatures,
  51. parameters, et cetera.
  52. *** <a name="docconv">docconv</a>
  53. Converts from Monodoc XML to the standard C# compiler-emitted
  54. XML format and vice versa.
  55. *** <a name="docgen">docgen</a>
  56. Given an assembly and a collection of Monodoc XML files, creates
  57. an Assembly XML file containing all documentation and type information
  58. available. This output is suitable for transforming into user
  59. documentation.
  60. *** <a name="monodoc">monodoc</a>
  61. A GUI tool for documentation and translation, this encapsulates
  62. the capabilities of docstub, docverify, docconv, and docgen in
  63. a friendly user interface. In addition, monodoc provides features
  64. to ease translation, such as side-by-side editing and coverage
  65. statistics.
  66. ** Status and Roadmap
  67. *** 2 January 2002
  68. As I write the initial version of this document, very little has been
  69. implemented. Currently, there is a:
  70. <ul>
  71. <li>Preliminary version of the Monodoc XML format</li>
  72. <li>Preliminary version of the docstub utility</li>
  73. </ul>
  74. Here's hoping for frequent, productive updates.
  75. ** Get Involved
  76. Help us define Mono's documentation structure! Subscribe to
  77. <a href="http://lists.ximian.com/mailman/listinfo/mono-docs-list">mono-docs-list</a>
  78. and wade right in.