이 예제는 위치 형식과 구분 형식이 혼합된 데이터를 구문 분석할 수 있도록 플랫 파일 스키마를 빌드하는 방법을 보여줍니다. 플랫 파일 스키마를 작성하려면, 먼저 플랫 파일 데이터를 분석하여 플랫 파일 스키마에 추가되는 필드 및 노드를 판별해야 합니다. 이 예제에서는 다음 두 데이터 행의 플랫 파일 스키마를 작성합니다.
BuyRight Pharmacy;USACAMVI334;!389!22;34980;
Taylor Drugs;USANJWLB128;!778!23!523;5667;
다음 단계에서와 같이 하향식 접근 방식을 사용하여 플랫 파일 스키마의 레코드 및 필드를 정의하십시오.
이러한 기준을 사용하여 Order 노드의 Basic Properties 및 Delimiters 분할창에 다음과 같은 값을 지정하십시오(그림 2 참조).
이러한 기준을 사용하여 purchaseOrder 노드의 Basic Properties 및 Delimiters 분할창에 다음과 같은 값을 지정하십시오(그림 4 참조).
Field Offset은 originCode 문자열이 처리될 때 각 필드의 originCode 문자열 시작 부분이 아닌 현재 문자 위치에서 교정됩니다. 이 예제에서, countryCode가 처리되고 originString의 처음 3개 문자가 countryCode에 지정됩니다. stateCode가 처리되는 경우, 현재 문자 위치가 세 번째 문자 위치에 있으므로 stateCode 1의 Field Offset이 현재 문자 위치에 추가되어 stateCode 문자열을 처리하는 시작점에 도달합니다(그림 6 참조).
이러한 기준을 사용하여 items 노드의 기본 특성 및 구분 기호 분할창에 다음과 같은 값을 지정하십시오(그림 8 참조).
BuyRight Pharmacy;USACAMVI334;!389!22;34980;
Taylor Drugs;USANJWLB128;!778!23!523;5667;
<?xml version="1.0" encoding="UTF-8"?>
<Order>
<purchaseOrder>
<storeName>BuyRight Pharmacy</storeName>
<originCode>
<countryCode>USA</countryCode>
<stateCode>CA</stateCode
<cityCode>MVI</cityCode>
<storeCode>334</storeCode>
</originCode>
<items>
<item>389</item>
<item>22</item>
</items>
<orderId>34980</orderId>
</purchaseOrder>
<purchaseOrder>
<storeName>Taylor Drugs</storeName>
<originCode>
<countryCode>USA</countryCode>
<stateCode>NJ</stateCode>
<cityCode>WLB</cityCode>
<storeCode>128</storeCode>
</originCode>
<items>
<item>778</item>
<item>23</item>
<item>523</item>
</items>
<orderId>5667</orderId>
</purchaseOrder>
</Order>