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' record-sep='\r\n'>
						<field name='child1' field-sep=','/>
								<field name='child2'/>
						</record>
				</sequence>
		</schema>

次の XML 構成が生成されます。

<parent>
		<child1/> 
		<child2/>
</parent>

この FSD の入力データの例を次に示します。

Child 1 Data,Child 2 Data
Child 3 Data,Child 4 Data

生成される出力データの例を次に示します。

<parent>
		<child1> Child 1 Data</child1>
		<child2> Child 2 Data</child2>
</parent>
<parent>
		<child1> Child 3 Data</child1>
		<child2> Child 4 Data</child2>
</parent>

上の FSD では、各レコードがキャリッジリターン (復帰) とラインフィード (次の行に移動) のセットでマークされます。これは、Microsoft オペレーティングシステムの標準の行末端マーカーです。続いて、各レコードに 2 つのフィールドが定義されます。最初のフィールドでは区切り指定子としてカンマが使用されます。2 つ目のフィールドはレコードの最後のフィールドであるため、レコードの区切り記号として指定された指定子が使用されます。