列のDXL解説
この記事では、Notesアプリケーションのビューの列のDXLが、どのようなタグで構成されているかを解説します。
※各タグの属性の詳細については、別の記事で紹介予定です。
以下は、列のDXLの例です。
<column sort='ascending' hidedetailrows='false' itemname='$10' width='10'
resizable='false' separatemultiplevalues='true' sortnoaccent='true' sortnocase='true'
showaslinks='false' categorized='true' twisties='true'>
<font size='9pt' color='#4f4f4f' style='bold' name='Meiryo UI' pitch='variable' truetype='true' familyid='30'/>
<columnheader title='列1' align='center'>
<font size='9pt' style='bold' name='Meiryo UI' pitch='variable' truetype='true' familyid='30'/>
</columnheader>
<datetimeformat show='date' date='yearmonthday' fourdigityearfor21stcentury='true' time='hourminutesecond'
zone='never' dateformat='yearmonthdayweekday' dayformat='twodigitday' monthformat='twodigitmonth'
yearformat='fourdigityear' weekdayformat='shortname' dateseparator1='/' dateseparator2='/'
dateseparator3=' ' timeseparator=':' timeformat24='true' preference='usersetting'/>
<code event='value'><formula>@DocNumber</formula></code>
</column>
<column>タグ
ビューの列は<column>タグで表現されます。ビューに複数の列がある場合は、各列ごとに<column>タグが生成されます。
このタグには、列のプロパティの情報が含まれます。
また、列のプロパティの「列情報」タブ、「ソート」タブ、「詳細」タブの設定は、このタグの属性となります。(一部例外あり)
それ以外のタブの情報は、このタグの配下に別のタグとして表現されます。
列のフォント情報
列のフォント情報は、<column>タグの直下に<font>タグとして表現されます。列のプロパティの「フォント」タブの設定は、このタグの属性に対応しています。ただし、文字揃えの情報は、上位タグである<column>タグの「align」属性となることに注意が必要です。
※列のフォントに限ったことではありませんが、フォントがデフォルト設定の場合、DXLには <font>タグは出力されません。
【参考】フォントのデフォルト設定
・フォント:Default Sans Serif
・色 :黒(#000000)、
・サイズ :10
・スタイル:標準
※文字揃えについては、<font>タグの出力に影響なし
列ヘッダー
列ヘッダーは、<columnheader>タグとして表現されます。列のプロパティの「列情報」タブの「タイトル」と「タイトル」タブ(列ヘッダーフォント設定)の内容は、このタグの属性に対応しています。
フォントの設定については、<columnheader>タブの直下の<font>タグに記載されます。また、こちらも列のフォント情報と同様に、文字揃えの情報は、<font>タグではなく、上位タグである<columnheader>タグの属性として表現されます。
※列ヘッダーの高さや背景色などの設定は、ビューのプロパティに含まれているように、DXLでもビューのメインとなる<view>タグの属性に含まれます。
<columnheader title='列1' align='center'>
<font size='9pt' style='bold' name='Meiryo UI' pitch='variable' truetype='true' familyid='30'/>
</columnheader>
列のスタイル
列のプロパティの「拡張フォーマット」タブの内容は、スタイルの種類により、以下のタグとして、表現されます。
・日付/時間 :<datetimeformat>タグ
・数値 :<numberformat>タグ
・名前 :<columnnamesformat>タグ
また、スタイルが「一般」の場合、これらのタグはDXLに含まれません。
列式
列の値がフィールドの場合は、特にタグは生成されません。<column>タグの「itemname」属性にフィールド名が設定されます。
列の値がシンプルファンクションや式の場合、<code>タグとして出力され、その「event」属性に「value」が設定されています。
また、式の内容は、<code>タグ直下の<formula>タグ内に直接記述されます。
<code event='value'>
<formula>@DocNumber</formula>
</code>
その他
特殊なケースとして、以下の設定がある場合に、別途タグが生成されます。
・列の非表示式 :<code>タグ(event属性は「hidewhen」)
・三角アイコンイメージ :<twistieimage>タグ
各タグの順序
NotesDXLImporterクラスを利用して、DXLをインポートする場合、上記の各タグを記述する順番が重要となります。<column>タグ内の各タグは、以下の順番でない場合、取込時にエラーが発生する為、注意してください。
列のフォント <font>タグ
列ヘッダー <columnheader>タグ
列のスタイル <datetimeformat>タグ など
列式 <code>タグ
その他 <twisteimage>タグ