1.2 About FPDoc

FPDoc is a tool that combines a Pascal unit le and a description le in XML format and produces reference documentation for the unit. The reference documentation contains documentation for all of the identiers found in the unit's interface section. The documentation is fully cross-referenced, making it easy to navigate. It is also possible to refer to other documentation sets written with FPDoc, making it possible to maintain larger documentation sets for large projects.

Contrary to some other documentation techniques, FPDoc does not require the presence of formatted comments in the source code. It takes a source le and a documentation le (in XML format) and merges these two together to a full documentation of the source. This means that the code doesn't get obfuscated with large pieces of comment, making it hard to read and understand.

FPDoc is package-oriented, which means that it considers units as part of a package. Documentation for all units in a package can be generated in one run.

At the moment of writing, the documentation can be generated in the following formats:

HTML
Plain HTML. Javascript is used to be able to show a small window with class properties or class methods, but the generated HTML will work without JavaScript as well. Style sheets are used to do the markup, so the output can be customised.
XHTML
As HTML, but using a more strict syntax.
LaTeX
LaTeX les, which can be used with the fpc.sty le which comes with the Free Pascal documentation. From this output, PDF documents can be generated, and with the use of latex2rtf, RTF or Winhelp les. Text les can also be generated.
Text
plain ascii text les. No cross-referencing exists. Other than that it resembles the LaTeX output in it's structure.
Man
Unix man pages. Each function/procedure/method identier is a man page. Constants are on a separate page, as are types, variables and resourcestrings.

Plans exist to create direct RTF output as well.