FSD 中的字段元素
Field(字段)元素設置了輸入或輸出數據內的單個字段。
<field name output='yes|no' field-sep valid-value default-value leading-chars trailing-chars output-if-empty='no' max-length='128' min-length='0' truncate='no' quoted='auto' </field>
屬性
name
設置字段的名稱。如果 output 屬性設置為「yes」,則這個名稱在輸出過程中將作為 XML 標記名稱,在輸入過程中則與 XML 標記進行選擇匹配。
output
設置字段是否包括在輸出中。該屬性的有效值是「yes」和「no」,其中「yes」值表示記錄將導致輸出內生成一個標記,而「no」表示字段純屬用來描述數據結構,可用來跳過數據。默認值是「yes」。
record-sep
為字段設置一個可選的字段分隔符串。可以是任意字符串值。也可使用以下特定值:
- 「\r」回車字符
- 「\n」換行字符
- 「\t」Tab 字符
如果沒有指定字段分隔符,則系統會使用
最大長度
屬性來讀取數據(這些數據有固定長度)。記錄中的最後一個字段可以省略字段分隔符,在這種情況下如果有指定的話,系統會使用該字段的記錄分隔符。valid-value
您可以使用此屬性來設置字段必須具備的值。在讀取平面數據時會使用該值,用來有效性檢查數據,並作為選擇元素的一部分來幫助模式匹配。在編寫平面數據時,如果輸出屬性設置為「no」,則系統會將您為
valid-value
指定的固定值編寫至平面數據內。leading-chars
指包含字符的字符串,當這個字符串在從平面文件中讀出時會從值起始處被去除。當數據編寫至平面文件且
trailing-chars
屬性沒有指定時,這些字符的第一字符將用作值的左墊,使其長度正確(由 min-length 屬性決定)。trailing-chars
指包含字符的字符串,當這個字符串在從平面文件中讀出時會從值末尾處被去除。當數據編寫至平面文件內時,這些字符的第一字符將用作值的右墊,使其長度正確(由
min-length
屬性決定)。output-if-empty
確定當內容為空時,字段是否會被取消。該屬性的有效值是「yes」和「no」。默認為「no」。
max-length
設置數據的最大長度。該值用於確定必須讀取多少數據。默認值是「128」。
min-length
設置數據的最小長度。用作有效性檢查和選擇元素的模式匹配,同時還可以在
leading-chars
或trailing-chars
屬性已指定時用作篩選器。默認值是「0」。truncate
如果該選項設置為「yes」,寫回至平面文件格式的數據將被截至指定
max-length
。默認值是「no」。quoted
該選項決定在數據前後是否必須安置引號。用來允許字段分隔字符出現在實際數據內(由於 FSD 處理器不在引用字符串內查找字段分隔符)。該屬性可以設置為下列值:
-
「否」
數據不作為引用字符串進行處理,如:數據將會逐字寫入和寫出平面文件。
-
「是」
數據作為引用字符串進行處理。當從純文本格式向 XML 轉換時,系統會去除數據前後的引號,同時任何遺留的引號將轉換為單個引號。
當從 XML 格式向平面格式轉換時,數據會包含在引號內且系統會遺留所有現有的引號(即單個引號會轉變為成雙引號,因此 " 會變為 "" 等)。
-
「自動」
該選項僅適用於將符號分隔的平面文件數據轉換為 XML 的情況。如果數據包含字段分隔符,該選項的處理將會假設 quoted 選項設置為「yes」。該值的默認設置是「auto」。
-
「否」