ラベル設定フォーマット

商品ラベル編集画面等で ラベルのレイアウト等を決めるためのフォーマットです。

概要

コメントとセクション

####################
# これはコメントです
####################

 # これもコメントです

!control

# ここはコントロールセクションの記述です

  ! template

# ここはテンプレートセクションの記述です

コントロールセクション

セクションは現在、コントロール(control)とテンプレート(template)の二つがあります。 controlに続けて、プリンタ種類を指定することができます。 これは現在general(一般プリンタを示す)かsbpl(SBPL対応プリンタを示す)のいずれかです。

!control general
!control sbpl

ただし、プリンタ種類を省略したときはgeneralとみなされます。 コントロールセクション自体が不要な場合は、コントロールセクション全体を省略することができます。 この場合もプリンタ種類はgeneralとみなされます。

後述するテンプレートセクションの記述がXML風であるのに対し、 コントロールセクションの記述は単純な「キーワード = 値」という形の記述になります。

!control

repeat = 2, 2, 10, 10, 35, 25

テンプレートセクション

ラベルテンプレートを記述するためのセクションです。

!template
<report>
.....
</report>

ただし、セクション宣言がないまま、コメント行、空行以外の行が出現したときは、 そこからテンプレートセクションであるとみなされます。

#
# セクション宣言が存在しないが、以下はテンプレートであるとみなされる
# 

<report>
.....
</report>

内部的な処理方法

上記のラベル設定は、内部的には以下のように処理されます。

  1. コメントを無視すると同時に、セクション宣言を見つけ、各セクションを構成する行に分ける。

    「#」で始まる行は無視します。「!」で始まる行に着目し、それ以降の行をセクション構成行とみなします。

  2. もしコントロール行があれば、プリンタタイプを決定する。

    「!control」の記述があれば、その後の「general」あるいは「sbpl」の記述で対象プリンタタイプを 決定します。なければgeneralとみなします。

  3. コントロール構成行をプリンタタイプにしたがって解釈する。

    プリンタタイプによってコントロール構成行に記述できる内容は異なります。

  4. テンプレート構成行をFreeMarkerのテンプレートとみなし、 表示・印刷対象のデータ(レポートモデル)を適用して出力を得る。

  5. FreeMarkerから出力されたXMLを、各プリンタタイプにしたがって解釈する。

    これらのXMLに記述できる内容もプリンタタイプによって異なります。

各プリンタタイプの詳細

コントロールセクションとテンプレートセクションに記述可能な内容は各プリンタタイプによって 異なります。これを次で説明します。