ISO 8583 メッセージでサポートされているデータ型

Test Integrations and APIs は、ISO 8583 メッセージで使用できる追加のデータ型をサポートします。 これらのデータ型は、install_dir/examples/ISO8583/ にある ISO8583Types.xsd に表されています。

以下の型を使用して、ニブル長のデータ・エレメントと、ニブル単位の長さの変数データ・エレメントを定義します。
  • Type_PrefixBinaryLength1: 1 バイトの 2 進数表記の、長さを表す接頭部の型。
  • Type_PrefixBinaryLength2: 2 バイトの 2 進数表記の、長さを表す接頭部の型。
  • Type_n_BCD: BCD (2 進化 10 進数) として表されるデジタル値の型。
  • Type_Nibble: ニブル・エレメントの型。
Type_PrefixBinaryLength1Type_PrefixBinaryLength2 は、長さを表す接頭部のみを定義するため、データ・エレメントを定義する他の単純な型と共に使用する必要があります。 例えば、Type_PrefixBinaryLength1Type_n_BCD を一緒に使用して、ニブル単位の長さの数値を格納する可変長データ・エレメントを定義できます。 この方法で定義されたデータ・エレメントは、最初のバイト (長さを表す接頭部) が 2 進整数として表され、それ以外のバイトの数値が BCD として表されます。 型が n .. 19、長さを表す接頭部が 16、値が 1234567890123456 のエレメントの 16 進表記は 1101234567890123456 です。 DFDL スキーマでは、このデータ・エレメントを、Type_PrefixBinaryLength1 および Type_n_BCD を使用して 2 つのエレメントで定義できます。
注:
長さを表す接頭部は Type_PrefixBinaryLength1 で定義されますが、Type_PrefixBinaryLength2Test Integrations and APIs ユーザー・インターフェースのメッセージ・ツリーでは非表示になります。

長さを表す接頭部を定義する際の規則

Type_PrefixBinaryLength1 または Type_PrefixBinaryLength2 を使用して、長さを表す接頭部を定義する場合は、以下の規則を考慮してください。

  • Type_PrefixBinaryLength1 または Type_PrefixBinaryLength1 のエレメントの後に、データ・エレメントの値を定義する別のエレメントを指定する必要があります。 最初のエレメントには ibmrit:lengthDefinitionFor 属性を設定し、その属性値として 2 番目のエレメントの名前を設定する必要があります。
  • 関数を使用して、2 番目のエレメントの長さを定義してください。
  • 定義したデータ・エレメントの長さを表す接頭部が変わらないデータの場合にのみ、最初のエレメントに固定の属性を定義してください。

<xsd:element dfdl:lengthKind="implicit" dfdl:occursCount="{/ISO8583_1987_Example/PrimaryBitmap/Bit002}" 
minOccurs="0" name="CardNumber_002_Length" type="ISO8583Types:Type_PrefixBinaryLength1" 
ibmrit:lengthDefinitionFor="CardNumber_002" fixed="17"> 
</xsd:element> 
<xsd:element dfdl:occursCount="{/ISO8583_1987_Example/PrimaryBitmap/Bit002}" minOccurs="0" name="CardNumber_002" 
dfdl:length="{xs:nonNegativeInteger(fn:floor((/ISO8583_1987_Example/CardNumber_002_Length + 1) div 2))}" 
dfdl:occursCountKind="implicit"> <xsd:simpleType> <xsd:restriction base="ISO8583Types:Type_n_BCD"> 
</xsd:restriction> </xsd:simpleType> </xsd:element>