Opened on Sep 21, 2018 at 1:04:50 PM
Last modified on Sep 21, 2018 at 3:48:37 PM
#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回に分けて入力する。