FSD の非区切りデータ
データファイルに区切り記号がなく、フィールドが固定長の場合は、「完全なフラットファイル」と見なされます。この場合は、フィールドの max-length
属性を使用して各フィールドのデータ長を指定します。
固定長データでは、フィールドが正しい位置で始まるようにするために、データ値をパディングしなければならない場合があります。FSD は、trailing-chars
属性を使用してパディングします。trailing-chars 属性は、実際のデータの後に表示され、XML に書き込む前に自動的に削除される文字を定義します。さらに、FSD プロセッサは、trailing-chars
属性を使用して、XML からフラット形式に戻すときの適切なフィラー文字を指定します。
固定長フィールドを使用する FSD の例を次に示します。
<?xml encoding='UTF8' version='1.0' ?> <schema xmlns='http://www.systemsunion.com/2001/TD/SSTransform/fsd/' version='1.0'> <sequence output='no'> <record max-occur='0' name='parent'> <field name='child1' max-length='20' trailing-chars=' '/> <field name='child2' max-length='20' trailing-chars=' '/> </record> </sequence> </schema>
この FSD の入力データの例を次に示します。
Child Data 1 Child Data 2 Child Data 3 Child Data 4
この FSD の出力データの例を次に示します。
<parent> <child1>Child 1 Data</child1> <child2>Child 2 Data</child2> </parent> <parent> <child1>Child 3 Data</child1> <child2>Child 4 Data</child2> </parent>