Homepage Matrix 抽象表記 ←

# 抽象表現

抽象表現は文字列中に、抽象表記を含む文字列表現です。
抽象表現は雛形の原型htmlファイルで記述されるhtml文で使用されます。
抽象表現の機能の目的は、1.複数ファイル生成と、2.一覧表記述があります。

## 1.複数ファイル生成

抽象表現は、一つの原型htmlファイルから、参照フォルダにあるファイル群に対応した、複数のhtmlファイルを生成する目的で、原型htmlファイルを抽象的に記述します。
この場合の原型htmlファイルのファイル名は、[%]を含みます。
原型ファイル名の例: abc[%].html
この例の場合、生成されるhtmlファイル群の名前は、[%]の部分が参照フォルダの各参照ファイル名（拡張子を含まない）に変換されたファイル名になります。
参照ファイルが、01.jpg、02.jpg、03.jpg ....とすると、
生成されるファイルは、 abc01.html、abc02.html、abc03.html .....となります。

原型ファイル | 参照ファイル | 生成ファイル
--- | --- | ---
abc[%].html | 01.jpg　02.jpg　03.jpg | abc01.html　abc02.html　abc03.html

### 具体化して生成

原型ファイルの中の抽象表記 [%] の部分が、参照ファイル名に変換されて複数のhtmlが作成されます。

| 原型ファイル= abc[%].html | 原型ファイル内の記述内容= あい[%]うえお
--- | --- | ---
参照ファイル | 生成ファイル名 | 生成ファイルの中の該当部分
01.jpg | abc01.html | あい01うえお
02.jpg | abc02.html | あい02うえお
02.jpg | abc02.html | あい03うえお

### ファイル情報

原型ファイルに記述できる抽象表記には、各参照ファイル名を表現する[%]のほかに、各参照ファイルの情報を表現するものがあります。

## 2.一覧表記

一覧表記は、参照フォルダにあるファイル群の情報の一覧表を作成するための抽象表記です。
一行分を抽象表記することにより、参照ファイル数に相当する分の記述を具現化します。
LI: HIT: TR: TD: /TR: TDS: の行で記述される[%]等のファイル情報は、

### (a) 一覧リスト

抽象表記 | 記述例
--- | ---
[%* files:参照ファイル群指示 sort:ソート式 filter:フィルタ式 LI:反復される文の抽象記述 HIT:参照ファイルに該当する行の抽象記述 ] | [%* LI:<a href="[%].html">[%]</a><br> ]

上の記述例で、参照フォルダ内のファイルが a01.jpg a02.jpg a03.jpg の三つの場合は、

<a href="a01.html">a01</a><br>
<a href="a02.html">a02</a><br>
<a href="a03.html">a03</a><br>

が生成されます。

### (b) 表リスト

抽象表記 | 記述例
--- | ---
[%*列数 sort:ソート式 filter:フィルタ式 files:参照ファイル群指示 TR:行頭記述 TD:中欄記述 /TR:行末記述 TDS:空欄記述 HIT:該当欄記述 ] | <table> [%*3 TD:<td><img src="[%].jpg"></td> TDS:<td class="s">　</td> ] </table>

上の記述例で、参照フォルダ内のファイルが、01.jpg、02.jpg、03.jpg、04.jpg の4つの場合は、
-------------------------------------

<table>
<tr>
<td><img src="01.jpg"></td>
<td><img src="02.jpg"></td>
<td><img src="03.jpg"></td>
</tr>
<tr>
<td><img src="04.jpg"></td>
<td class="s">　</td>
<td class="s">　</td>
</tr>
</table>

-------------------------------------
が生成されます。

### 省略

| 指示行が省略時以下の指定とみなされます
--- | ---
TR:行頭記述 | TR:<tr>
/TR:行末記述 | /TR:</tr>
TD:中欄記述 | TD:<td>[%]</td>
TDS:空欄記述 | TDS:<td>　</td>

### sort:ソート式

ソート式は、列名を指定します。逆順にするときは、列名 Desc と記述します。 複数の列を指定する時は、コンマ , で区切ります。
例:
sort:date Desc,name

### filter:フィルタ式

フィルタ式は、列名の後に演算子とフィルタ処理をする値を付けて指定します。値は引用符で囲む必要があります。
例 :
filter:C='チームA'

### files:ファイル群参照指示

参照フォルダでないフォルダのファイル群に対して記述するときに指定します。
ファイル群参照指示は、ワイルドカードで表現したファイル指定です。
例:
files:\pic\*.jpg

### files:辞書ファイル指示

辞書ファイルを指定します。
例:　(基本フォルダのlist.tsvを指定)
files:\list.tsv
[%] は tsvファイル内容の順次、A列の値になります。
[%.列名] (列名はA,B,C,...,ZZ,AB,....,ZZ )で指定列の値になります