Delphi コードの XML ドキュメント
XML 形式のコンパイラ出力 への移動
Delphi コンパイラでは、コンパイルしたソース コードの XML ドキュメントを生成できます。
この機能を有効にするには、[プロジェクト|オプション...|Delphi コンパイラ|コンパイル]を選択し、[その他のオプション]下で[XML ドキュメントを生成する]オプションを有効にします。
コマンド ラインでこの機能を有効にするには、--doc
オプションを指定してコマンドライン コンパイラを実行します。
コンパイラで生成される XML ドキュメントは、クラス、メソッド、変数などのコンパイラでの内部表現から作成されます。コンパイラで生成される XML ドキュメントを、手動で作成される XML インライン ドキュメントと混同しないでください。
- メモ: 特定の Delphi(または C++)RAD Studio プロジェクトの HTML ドキュメントを生成することができます。「プロジェクト ドキュメントを生成する」を参照してください。
生成される XML ファイルの形式(スキーマ)については、「コンパイラからの XML 出力のグローバル宣言」で説明しています。
例
ファイル C:\file.pas
には、次の要素の定義が記述されているとします。
- 列挙型:
TFocus
- クラス:
TVideoCamera
列挙型
TFocus
の定義は次のとおりです。
/// <summary>
/// For objects located closer than 10 meters, use fcNear;
/// otherwise use fcFar.
/// </summary>
TFocus = (fcNear, fcFar);
生成される XML ドキュメントは次のとおりです。
<const name="fcNear" type="TFocus" file="C:\file.pas" line="13">
<value>
fcNear
</value>
</const>
<const name="fcFar" type="TFocus" file="C:\file.pas" line="13">
<value>
fcFar
</value>
</const>
<enum name="TFocus" file="C:\file.pas" line="13">
<devnotes>
<summary>
For objects located closer than 10 meters, use fcNear;
otherwise use fcFar.
</summary>
</devnotes>
<element value="0" name="fcNear" file="C:\file.pas" line="13" />
<element value="1" name="fcFar" file="C:\file.pas" line="13" />
</enum>
コンパイラで生成された XML ドキュメントにはソース コード コメントが含まれていることに注意してください(devnotes 要素を参照)。
クラス
TVideoCamera
の定義は次のとおりです。
TVideoCamera = class
private
FFocus: TFocus;
public
property Focus: TFocus read FFocus write FFocus;
procedure SetFocus(ADistance: Integer);
end;
procedure TVideoCamera.SetFocus(ADistance: Integer);
begin
if ADistance < 10 { meters } then
FFocus := fcNear
else
FFocus := fcFar;
end;
生成される XML ドキュメントは次のとおりです(わかりやすくするために、TObject から継承された一部のメンバは割愛されています)。
<class name="TVideoCamera" file="C:\file.pas" line="15">
<ancestor name="TObject" namespace="System">
<methodref name="Create" visibility="public" procflags="constructor">
</methodref>
<methodref name="Free" visibility="public">
</methodref>
</ancestor>
<members>
<field name="FFocus" type="TFocus" visibility="private" size="1" offset="4" file="C:\file.pas" line="17" />
<property name="Focus" visibility="public" read="FFocus" write="FFocus" type="TFocus" file="C:\file.pas" line="19" />
<procedure name="SetFocus" visibility="public" file="C:\file.pas" line="20">
<parameters>
<parameter name="ADistance" type="Integer" />
</parameters>
</procedure>
</members>
</class>
関連項目
- XML ドキュメント コメント
- プロジェクト ドキュメントを生成する(HTML ドキュメント)
- コンパイラからの XML 出力のグローバル宣言(構文)