#337 closed enhancement

[DocFlow] FOR文対応 — at Initial Version

Reported by: yasunaka Owned by:
Priority: major Milestone: ver 1.8.2
Component: crossnote Version: ver 1.8.2
Keywords: #6401 Cc:

Description

FOR文は数字を伴う複数の同じ名前の属性キーワードを文章中で自動的に展開できるようにするための仕組みで、以下の形式でcrossnoteドキュメント中に記述する。

<FOR "セパレータ">インデックス化された属性キーワードを含む文章</FOR>

インデックス化された属性キーワードとは属性キーワードの名前に数字を含み、その数字が1, 2, 3, ...のように数字部分だけが異なる同じ名前の属性キーワードのこと。

インデックス化された属性キーワード中、数値部分を*として指定し、その部分をDocFlowの実行時に1, 2, 3,...と展開する。値を持っていない("")属性キーワードについては展開しない。

例えば、

<FOR "、">[副作用の名称*]は[副作用の件数*]件</FOR>

[副作用の名称1]=筋肉痛
[副作用の件数1]=98
[副作用の名称2]=頭痛
[副作用の件数2]=52
[副作用の名称3]=腹痛
[副作用の件数3]=2
[副作用の名称4]=
[副作用の件数4]=

の場合、DocFlowの実行後、属性キーワードを以下のように展開する。

[副作用の名称1]は[副作用の件数1]件、[副作用の名称2]は[副作用の件数2]件、
[副作用の名称3]は[副作用の件数3]件

結果として、以下のような文章となる。

筋肉痛は98件、頭痛は52件、腹痛は2件

ルールは以下の通り。

  • インデックスとして使える数字は半角のみ
  • 複数のインデックス化された属性キーワードを用いる場合、同じ添え字番号の属性キーワードが定義されていなければならない。
  • 1つの添え字番号に対して、インデックス化された属性キーワードが複数存在している場合、すべての属性キーワードに値が入っている場合のみ出力する。
  • ある添え字番号に対して同じインデックス化された属性キーワードとして複数がマッチする場合にはエラーとする。(例 "あああ1"と"あああ01")
  • 入力はFOR文の挿入と、属性キーワードをインデックス化して挿入するの2回に分けて入力する。

Change History (0)

Note: See TracTickets for help on using tickets.