前のトピック: 一般要件

次のトピック: 設定ファイル内のメタ文字でのクォートの使用


マークアップ スタイル

インライン マークアップ

$$prop: val1 : name1 , val2 : name2 , ...

$$prop: 文字列がテキスト行に存在する場合、この行に 1 つ以上のプロパティ値が含まれることを意味します。 通常、$$prop: 文字列および残りのテキストは、コメントとして記述することで、この設定ファイルを使用するアプリケーションからは参照されなくなります。たとえば、設定ファイルが Perl スクリプトの場合は以下のように記述されます。

$port = 3306 # $$prop: 3306:ip_port

マークアップ識別子文字列に続く val:name ペアは以下のように解釈されます。

val1: name1 では、この行の最初の文字列 val1 がプロパティ name1 の値として扱われ、そのプロパティを変更する必要のある場合は常に置換されることを示します。

val2:name2 では、最初の val1 に続く、最初の val2 がプロパティ name2 の値であることを示します。

以下同様。
val:name のペアで name が文字列 '-' である場合は、文字列 val は単に無視されます。 これは、このようにしなければ設定データの一部がプロパティの値と一致してしまうような場合に、それをスキップするために使用されます。たとえば以下のようなマークアップです。

x1 = 1 # $$prop: 1:val 

これは、x1 という文字列中の 1 がプロパティ val の値である見なされることになります。 = 記号に続く文字列 1 がプロパティ値であると見なすようにするには、マークアップを以下のようにする必要があります。

x1 = 1 # $$prop: 1:-, 1:val 

プロパティ値が空文字列であるような場合は、特殊なプロパティ名 '-' が使用されます。たとえば、以下のマークアップでは、プロパティは "x1 = " 文字列に続く空文字列です。

x1 = #$$prop: "x1 = ":- , "":val 

値にマークアップ構文の一部である区切り文字(コロン、カンマ、スペース)が含まれる場合、値は、ADL 記述子ファイルで定義されている二重引用符の構文を使用してクォートする必要があります。

次行マークアップ
$$propN: val1 : name1 , val2 : name2 , ... [$$] 

このマークアップは、変更可能なプロパティとして示す必要がある値と同じ行に、コメント テキストを記述することが許可されていないような設定ファイルで使用されます。 インライン構文と似ていますが、一致文字列の検索が現在行ではなく、マークアップが記述されている行の次の行で行われることを示します。

行指向ではないファイルでのマークアップ
$$propF: val1 : name1 , val2 : name2 , ... $$ 

このマークアップは、改行文字が他の空白文字と異なるものと見なされず、引用符で囲まれていない空白文字がある場所で、ファイル更新時に改行文字の追加または削除が発生してしまう可能性があるような設定ファイルで使用されます。 このタイプのマークアップでは、val:name ペアのリストの終了を示すために $$ 文字列が必要です。 val:name ペア間では改行文字を使用することができます。 改行文字の有無に関係なく、終了を示す $$ マークに続くすべてのテキストで、値に一致する文字列が検索されます。検索はすべての値が見つかるか、各 val:name のペアにつき 1K のテキストが読み取られるまで行われます(すべての値が見つからずに後者の事態が発生した場合はエラーが報告されます)。 この場合も、各プロパティ値は同一行に存在している必要があります。