Sign in Join
FPDoc Onlineexperiment

Project file structure

The top node is always a node. This node can contain only 2 nodes: a node and a node; All other nodes will be ignored.

The options node

The tag that appears below the node specifies the options for the project. It contains a series of tags. No other nodes should appear under the tag.

Example:

<options>
  <option name="ostarget" value="Linux"/>
  <option name="cputarget" value="x86_64"/>
  <option name="hide-protected" value="true"/>
</options>

The option node

Each tag under the tag specifies an option.

Each tag has 2 attributes: and value. The name correspond to the command-line options that fpdoc supports. This attribute is mandatory. The attribute contains the value for the node. It is also mandatory.

For command-line switches, only 2 values are accepted: true and false.

Both general options and format-specific options can be specified this way.

Example:

<option name="ostarget" value="Linux"/>
<option name="cputarget" value="x86_64"/>
<option name="hide-protected" value="true"/>
<option name="warn-no-node" value="false"/>

The packages node

The tag under the tag contains a tag for each package described by the project file. As many packages as needed can be described by the project file. All other tags under the packages tag are ignored.

Example:

<packages>
  <package name="rtl" output="rtl" content="rtl.xct">
</packages>

The package node

Each tag under the tag describes one package. It contains at most 2 tags: the tag and the descriptions tag.

The tag has 3 attributes:

name

This attribute specifies the name of the package. This attribute is mandatory.

output

This attribute contains the default output name for the package. This attribute is optional.

content

The attribute specifies the name of the content file to write for this package. This attribute is optional. No file will be written if it is omitted.

Example:

<package name="rtl" output="rtl" content="rtl.xct">

The units node

The units tag below the tag describes the input files for the package. It consists of a series of unit tags, one tag for each unit.

Example:

<units>
  <unit file="../rtl/linux/system.pp" options="-dfpdocsystem"/>
  <unit file="../rtl/objpas/objpas.pp" options="-dHASINTF"/>
</units>

The unit node

The unit tag describes one input file for the package. This tag corresponds to the --input command-line option.

The tag has 2 attributes:

file

The tag contains the file name. This attribute is mandatory.

options

The attribute is optional, and specifies any options that must be passed on to the parser when parsing the input file.

Example:

<unit file="cthreads.pp" options="-S2"/>

The descriptions node

The tag below the tag contains one tag for each description file belonging to the package. No other tags should appear below the tag.

Example:

<descriptions>
  <description file="rtl.xml"/>
  <description file="system.xml"/>
</descriptions>

The description node

The tag describes one description file used in the documentation for the package. It has one attribute , containing the filename of the documentation file. This attribute is mandatory. All other attributes are ignored.

Example:

<description file="cthreads.xml"/>

The imports node

The tag below the tag contains one tag for each content file to import file belonging to the package. No other tags should appear below the tag.

Example:

<imports>
  <import file="rtl.xct"/>
  <import file="fcl.xct"/>
</imports>

The import node

The tag describes one import file used in the documentation for the package. It has one attribute , containing the filename of the documentation file. This attribute is mandatory. All other attributes are ignored.

Example:

<import file="rtl.xct"/>

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.