그룹 예제

이 태스크 정보

이 예제는 그룹을 사용하여 반복되는 레코드 세트를 구문 분석하는 플랫 파일 스키마를 보여줍니다. 다음 예제 입력 플랫 파일 데이터에서 볼 수 있듯이 반복 레코드 세트마다 다른 유형의 레코드가 포함되어 있습니다.

그림 1. 예제 입력 플랫 파일

이 예제 데이터에서 첫 번째, 두 번째 및 세 번째 반복 레코드 세트는 각각 다른 유형의 레코드입니다. 또한 이 예제는 유형 라이브러리 탭에 저장된 유형이 플랫 파일 스키마에 사용되는 방식을 보여줍니다. 이 예제에서는 처음부터 플랫 파일 스키마를 작성하지 않고 기존 플랫 파일 스키마를 확인하고 테스트합니다.

그림 1에 표시된 입력 데이터를 구문 분석하는 데 사용할 플랫 파일 스키마를 열고, 확인하여, 테스트하려면 다음을 수행하십시오.

프로시저

  1. 이 예제에서, FlatFileSchemasExample 프로젝트에 플랫 파일 스키마가 이미 빌드되어 있습니다. 플랫 파일 스키마를 보려면 먼저 FlatFileSchemasExample 프로젝트의 압축을 풀어야 합니다.
    1. Studio에 정의된 기본 작성 경로(새 프로젝트가 작성되는 디렉토리)를 찾으십시오. 현재 기본 작성 경로를 보려면 Studio 도구 모음 메뉴에서 파일 > 환경 설정...을 선택하십시오. 환경 설정 대화 상자가 표시됩니다. 현재 기본 작성 경로가 분할창 끝에 표시됩니다. 기본적으로, 기본 작성 경로는 다음 디렉토리에 있습니다.

      C:\Documents and Settings\myLogin\My Documents

      여기서 myLogin은 Windows 로그인 이름입니다.

    2. FlatFileSchemasExample 프로젝트를 구성하는 파일이 포함된 FlatFileSchemasExample.zip 파일을 찾으십시오. Studio 설치 중에 기본값을 채택한 경우 이 파일은 다음 디렉토리에 있습니다.

      C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. FlatFileSchema 디렉토리에서 FlatFileSchemasExample.zip 파일을 기본 작성 경로 디렉토리로 복사하십시오.
    4. 기본 작성 경로 디렉토리에 FlatFileSchemasExample.zip 파일 컨텐츠의 압축을 푸십시오.
  2. FlatFileSchemasExample 프로젝트를 여십시오.
    1. Studio 도구 모음 메뉴에서 파일 > 프로젝트 열기...를 선택하십시오. 열기 대화 상자가 표시됩니다.
    2. FlatFileSchemasExample 디렉토리를 찾아 여십시오.
    3. FlatFileSchemasExample.sp3 파일을 클릭하고 열기를 클릭하십시오. 프로젝트가 표시됩니다.
  3. 사전에 빌드된 vegPO 플랫 파일 스키마를 여십시오. 프로젝트 탭의 플랫 파일 스키마 폴더에서 vegPO 플랫 파일 스키마를 두 번 클릭하십시오. vegPO 플랫 파일 스키마의 노드가 스키마 레이아웃 탭에 표시되고 vegPO 루트 노드의 특성이 오른쪽 분할창에 나타납니다.
  4. vegPO 플랫 파일 스키마를 테스트하십시오.
    1. 테스트 분할창에서 찾아보기를 클릭하십시오. 샘플 테스트 데이터 파일 열기 대화 상자가 열립니다.
    2. 입력 데이터가 포함된 vegPO.txt 파일을 찾아보십시오. Studio 설치 중에 기본값을 채택한 경우 이 파일은 다음 디렉토리에 있습니다.

      C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. 열기를 클릭하십시오. vegPO.txt 파일의 입력 데이터가 테스트 탭의 왼쪽 분할창에 표시됩니다.
    4. 테스트(테스트 아이콘) 아이콘을 클릭하십시오. 결과 분할창에 변환 결과가 XML 데이터로 표시됩니다.
  5. 스키마 레이아웃 탭에서 vegPO 루트 노드를 클릭하십시오. 다음과 같은 특성과 함께 vegPO 루트 노드가 표시됩니다.
    1. 구조 특성이 구분됨으로 설정됨 - 루트 노드 구조가 구분됩니다.
    2. 하위 구분 기호행 끝으로 설정됨 - 하위 레코드가 행 끝으로 구분됩니다.
    3. 하위 구분 기호 위치로 설정됨 - 각 레코드 뒤에 구분 기호가 와야 합니다.
    4. 반복 구분 기호가 행 끝으로 설정됨 - 반복 레코드도 행 끝으로 구분됩니다.
  6. 스키마 레이아웃 탭에서 orderingStore 노드를 클릭하십시오. 다음 그림과 같이 입력 데이터의 첫 번째 행이 테스트 분할창에서 강조표시됩니다.
    VegPO 헤더 그림

    vegPO 플랫 파일 스키마의 첫 번째 레코드는 한 번만 발생하는 헤더 레코드 orderingStore입니다. 스키마 레이아웃 탭에서, orderingStore 레코드를 구성하는 레코드 및 필드가 하위로 표시됩니다. 첫 번째 행이 orderingStore 레코드를 구성하는 레코드 및 필드에 구문 분석됩니다.

    첫 번째 헤더 레코드 뒤에, 반복 요소 세트가 시작됩니다. 다음 그림과 같이 반복 레코드 세트마다 다른 유형의 3개 하위 레코드가 포함됩니다.

    다른 유형의 3개 하위 레코드가 포함된
반복 요소 세트를 보여주는 VegPO

    다른 유형의 하위 레코드가 포함된 반복 레코드는 그룹을 사용하여 플랫 파일 스키마 편집기에서 모델링할 수 있습니다. 그룹은 데이터가 둘 이상의 레코드가 포함된 반복 항목의 시작 및 끝을 명확히 표시하는 추가 구분 기호 또는 구조를 제공하지 않을 경우에만 필요합니다. 반복 항목의 구분 기호는 상위 레코드 또는 루트 노드에서 상속됩니다. 이 vegPO 루트 노드의 예제에서는 반복 구분 기호가 행 끝으로 설정되어 있습니다. orders 그룹 노드는 행 끝 구분 기호를 사용하여 반복 레코드를 구문 분석합니다.

  7. 스키마 레이아웃 탭에서 orders 그룹 노드를 클릭하십시오. 분할창에서 다음과 같은 그래픽 변경사항에 유의하십시오.
    • 테스트 분할창의 왼쪽 하위 분할창에서, 헤더 행 뒤에 있는 모든 행이 강조표시됩니다. 이는 구문 분석 후에 첫 번째 레코드 뒤에 있는 모든 데이터가 orders 그룹 노드에 지정됨을 나타냅니다.
    • 기본 특성 분할창에서, orders 그룹의 발생무제한으로 설정됩니다. 이 설정은 이 그룹의 인스턴스를 하나 이상 사용할 수 있음을 의미합니다.
    • 기본 특성 분할창에서, orders 그룹에 대해 유형order로 설정됩니다. 이 설정은 orders 그룹이 order 그룹 유형을 기반으로 한다는 것을 의미합니다. order 그룹 유형의 컨텐츠 및 특성은 유형 라이브러리 탭에 정의됩니다.
  8. 유형 라이브러리 탭을 선택하십시오. vegPO 플랫 파일 스키마에 사용되는 레코드 유형 및 그룹 유형이 표시됩니다. 다음 그림과 같이 order 그룹 유형에 3개의 레코드가 포함됩니다.
    vegPO order 그룹

    다음 아이콘은 레코드 유형을 기반으로 하는 레코드를 나타냅니다.

    유형을 기반으로 하는 레코드 아이콘

    그룹 유형이 orderorders 그룹은 다음과 같은 특성으로 인해 다른 레코드의 반복 레코드 세트를 정의합니다.

    • orders 그룹 인스턴스와 일대다 관계에 있습니다.
    • orders 그룹 유형에 다른 유형의 3개 레코드가 포함됩니다.
    • orders 그룹은 order 그룹 유형을 기반으로 하거나 이 유형에서 상속합니다.
    orders 그룹과 order 그룹 유형 간의 반복 관계는 다음 그림에 표시되어 있습니다.
    vegPO 반복 패턴
  9. 유형 라이브러리 탭에서, order 그룹 유형의 id 레코드 노드를 클릭하십시오. 분할창에서 다음과 같은 그래픽 변경사항에 유의하십시오.
    • 기본 특성 분할창에서, id 레코드의 유형orderID 레코드 유형으로 설정됩니다. 이 설정은 id 레코드가 orderID 레코드 유형을 기반으로 한다는 것을 의미합니다.
    • 다음 그림과 같이 테스트 분할창의 왼쪽 하위 분할창에서 각 반복 레코드의 첫 번째 행이 강조표시됩니다.
      VegPO 테스트 ID
      이는 각 반복 레코드의 첫 번째 행이 id 레코드에 지정됨을 의미합니다.
  10. 유형 라이브러리 탭에서, order 그룹 유형의 shipdate 레코드 노드를 클릭하십시오. 분할창에서 다음과 같은 그래픽 변경사항에 유의하십시오.
    • 기본 특성 분할창에서, shipdate 레코드의 유형shippingDate 레코드 유형으로 설정됩니다. 이 설정은 shipdate 레코드가 shippingDate 레코드 유형을 기반으로 한다는 것을 의미합니다.
    • 기본 특성 분할창에서, shipdate 레코드의 구조위치입니다. 이 설정은 shipDate 레코드의 하위 필드가 구분 기호가 아닌 레코드의 위치 및 길이에 따라 결정됨을 의미합니다.
    • 다음 그림과 같이 테스트 분할창의 왼쪽 하위 분할창에서 각 반복 레코드의 두 번째 행이 강조표시됩니다.
      각 레코드의 두 번째 행(shipDate 행)이
강조표시되어 있는 그림
      이는 각 반복 레코드의 두 번째 행이 shipDate 레코드에 지정됨을 의미합니다. shipDate 레코드에는 shippingDate 레코드 유형에서 상속되는 3개의 위치형 하위 필드(, )가 포함됩니다.
  11. 유형 라이브러리에서, shippingDate 레코드 유형의 month 필드 노드를 클릭하십시오. 다음 그림과 같이 테스트 분할창의 왼쪽 하위 분할창에서 필드에 지정된 값이 강조표시됩니다.
  12. 유형 라이브러리 탭에서, order 그룹 유형의 contents 레코드 노드를 클릭하십시오. 분할창에서 다음과 같은 그래픽 변경사항에 유의하십시오.
    • 기본 특성 분할창에서, contents 레코드의 유형orderContent 레코드 유형으로 설정됩니다. 이 설정은 contents 레코드가 orderContent 레코드 유형을 기반으로 한다는 것을 의미합니다.
    • 다음 그림과 같이 테스트 분할창의 왼쪽 하위 분할창에서 각 반복 레코드의 세 번째 행이 강조표시됩니다.
      채소 이름과 중량(파운드)이
표시된 반복 레코드의 세 번째 행이 강조표시되어
있는 그림
      orderContent 레코드 유형에 vegetables 레코드가 포함됩니다. vegetables 레코드에 반복되는 vegetables 레코드 세트가 포함됩니다. vegetables 레코드에 이름 필드와 파운드 필드가 포함됩니다.
  13. 유형 라이브러리 탭에서, orderContent 레코드 유형의 name 레코드 노드를 클릭하십시오. 다음 그림과 같이 테스트 분할창의 왼쪽 하위 분할창에서 이름 필드에 지정된 값이 강조표시됩니다.
    이름 필드에 지정된 값이
강조표시되어 있는 그림



피드백 | 주의사항


시간소인 아이콘 마지막 업데이트 날짜: 2013년 11월 6일 수요일