구분 기호 유지 및 생략

개요

구분된 레코드에는 빈 데이터에 대한 구분 기호 유지후행 구분 기호 표시 안 함의 두 가지 속성이 있습니다. 이러한 속성을 사용하여 플랫 파일 어셈블러가 존재하지 않는 데이터 및 후행 구분 기호와 연결된 구분 기호를 처리하는 방법을 제어할 수 있습니다. 빈 데이터용 구분 기호 유지 속성을 (기본 설정)로 설정하면 다음의 번역된 플랫 파일 메시지에 구분 기호가 포함됩니다.

  • 데이터가 없는 필드

  • 태그가 연결되지 않은 데이터가 없는 바로 아래 하위 레코드

    빈 데이터용 구분 기호 유지 속성을 아니요로 설정하면 데이터가 없는 레코드 및 필드에 대해 변환된 플랫 파일에 구분 기호가 포함되지 않습니다. 또한 빈 데이터용 구분 기호 유지 속성의 설정에 관계없이 구분 기호는 태그가 정의된 데이터 없이 즉시 하위 레코드에 대해 변환된 플랫 파일 메시지에 포함되지 않습니다.

    후행 구분 기호 표시 안 함 속성을 아니요(기본 설정)로 설정하면 번역된 플랫 파일 메시지에 하나 이상의 후행 구분 기호가 포함될 수 있습니다. 후행 구분 기호 표시 안 함 속성을 예로 설정하면 번역된 플랫 파일 메시지에 후행 구분 기호가 포함되지 않습니다.

특수 시나리오

빈 데이터에 대한 구분 기호 유지후행 구분 기호 표시 안 함 속성의 설정으로 인해 발생하는 동작이 충돌할 수 있는 몇 가지 특별한 경우가 있습니다. 이러한 경우 후자의 속성인 후행 구분 기호 표시 안 함과 관련된 동작이 우선합니다. 또한 일부 특수한 경우에는 이러한 두 속성의 설정 간에 충돌이 발생할 수 있다는 경고 메시지가 표시됩니다.

예를 들어 다음 속성 값으로 정의된 레코드 노드를 고려합니다.

  • 노드 이름 - MyRec

  • 태그 식별자 - Rec

  • 자식 구분 기호 - ,

  • 자식 순서 – 중위

    다음 이름을 가진 5개의 Field 요소 노드를 포함하도록 정의됩니다( 필드 특성 노드 또는 하위 레코드 노드일 수도 있음).

  • FieldElem1

  • FieldElem2

  • FieldElem3

  • FieldElem4

  • FieldElem5

    다음으로, 이 레코드 노드를 나타내는 다음과 같은 빈 XML 조각이 플랫 파일 어셈블러에 전달된다고 가정합니다.

<MyRec>  
    <FieldElem1 />  
    <FieldElem2 />  
    <FieldElem3>Val</FieldElem3>  
    <FieldElem4 />  
    <FieldElem5 />  
</MyRec>  
  

다음 표에서는 PDFED( 빈 데이터용 구분 기호 유지) 및 STD( 후행 구분 기호 표시 안 함) 속성에 대한 다양한 설정을 기반으로 생성된 출력과 관련 스키마 노드에 대한 관련 추가 속성 설정 요구 사항을 보여 줍니다.

PDFED 설정 STD 설정 출력 추가 노드 요구 사항
Yes Rec,,,Val,, 없음
아니요 Rec,Val 모든 Field 요소 노드는 선택 사항으로 구성해야 합니다.
Yes Yes Rec,,,Val FieldElem4FieldElem5라는 노드를 선택 사항으로 구성해야 합니다.
아니요 No Rec,Val,, 모든 Field 요소 노드는 선택 사항으로 구성해야 합니다.

이러한 속성 설정에 따라 구분 기호가 유지되지 않거나 생략되도록 지정되면 다음 두 가지 경우에 동일한 스키마를 사용하여 serialize된 플랫 파일 데이터를 구문 분석할 수 없다는 경고 메시지가 발생합니다.

  • 빈 데이터용 구분 기호 유지 속성이 아니요로 설정되거나 후행 구분 기호 표시 안 함 속성이 각각 예로 설정된 Record 노드에 태그가 지정되지 않은 하위 필드 요소 노드, 필드 특성 노드 또는 레코드 노드가 포함됩니다.

  • 종속 필드 요소 노드, 필드 특성 노드 및 태그가 지정되지 않은 레코드 노드가 스키마에서 선택 사항으로 구성되지 않은 경우( Min Occurs 속성을 0으로 설정). 후행 구분 기호 표시 안 함 속성이 예로 설정된 경우 마지막 하위 노드만 선택 사항으로 구성해야 합니다. 빈 데이터용 구분 기호 유지 속성이 아니요로 설정되면 모든 후행 하위 노드를 선택 사항으로 구성해야 합니다.

참고

레코드가 누락된 선택적 필드를 따르는 경우를 제외하고(아마도 선택 사항) Record, Field Element 또는 Field Attribute 노드와 연결된 XML 요소가 비즈니스 문서의 XML 표현에서 완전히 누락된 경우 구분 기호는 항상 유지됩니다. 즉, 데이터 및 주변 XML 태그가 모두 없으면 비즈니스 문서의 플랫 파일 표시에 해당 구분 기호가 항상 포함됩니다.

이제 누락된 Field Element 바로 다음에 오는 두 Field Element가 있는 자식 레코드를 포함하도록 스키마를 변경합니다. 이 자식 레코드 요소는 구분 기호로 |(파이프) 문자를 사용하도록 구성됩니다.

<MyRec>  
    <FieldElem1 />  
    <FieldElem2 />  
    <FieldElem3>Val</FieldElem3>  
    <!-- <FieldElem4 /> -->  
    <ChildRec>  
        <InnerFieldElement1>Inner1</InnerFieldElement1>   
        <InnerFieldElement2>Inner2</InnerFieldElement1>  
    </ChildRec>  
    <FieldElem5 />  
</MyRec>  
  

이 자식 레코드가 flat file disassembler로 전달되면 FieldElem4에 대한 구분 기호가 유지되지 않지만 후속 레코드는 예상대로 구분됩니다.

,,Val,,Inner1,Inner2,,  

참고 항목