解析モード
解析モードは schemaInfo レコードの属性であり、速度と複雑さの 2 つのモードがあります。 "パーサーの最適化" プロパティは、BizTalk スキーマ エディター内で構成できます。
<b:schemaInfo count_positions_by_byte="false" standard="Flat File"
root_reference="document" parser_optimization="complexity" />.
speed モードの場合、パーサーはストリームで出現する順序に従ってデータの処理を試みます。 たとえば、次のようなスキーマがあるとします。
<schema>
Root ("," prefix)
Field1 opt
Field2 opt
Field3 opt
Field4 opt
Record ("," infix)
Field5
Field6
</schema>
入力メッセージは次のとおりです。
,1,2,3,4
speed モードでは、次の XML ドキュメントが得られます。
<Root>
<Field1>1</Field1>
<Field2>2</Field2>
<Field3>3</Field3>
<Field4>4</Field4>
</Root>
complexity モードでは、同じスキーマで次の出力が生成されます。
<Root>
<Field1>1</Field1>
<Field2>2</Field2>
<Record>
<Field5>3</Field5>
<Field6>4</Field6>
</Record>
</Root>
complexity モードの場合、フラット ファイル解析エンジンは先頭からと末尾からの両方向で解析を行い、より正確なデータの処理を試みます。 speed モードの場合、パーサーはストリームで出現する順序に従ってデータの処理を試みます。
たとえば、次のように必須要素と省略可能要素があるとします。
<schema>
Root
Record1 (required)
Record2 (optional)
Record3 (required)
この場合、パーサーはスキーマを内部的に次のように表現するため、データを正しく解析するには complexity モードを使用する必要があります。
<schema>
Root
Record1 (required)
<sequence> (optional)
Record2 (required)
Record3 (required)