XSD 스키마 컴포넌트 재정의

스키마를 나타내는 모델에 있는 컴포넌트의 정의를 바꾸고, UML에서 XSD로 변환 실행으로 재정의하는 XSD 스키마를 작성하여 XSD 스키마를 확장하거나 수정할 수 있습니다. 재정의하는 스키마는 다른 스키마를 수정하거나 확장합니다. 스키마 재정의는 기존 XSD 스키마에서 새 XSD 스키마를 시드(seed)하는 데 유용합니다.
이 태스크 정보

XSD 파일을 작업공간으로 가져올 수도 있습니다. 그러면 파일을 UML 모델로 시각화할 수 있습니다. 모델에서 스키마 컴포넌트를 재정의하고, 변환을 실행하여 재정의하는 스키마를 작성할 수 있습니다.

스키마 재정의 메커니즘을 사용하여 스키마 컴포넌트에 대한 새 정의를 지정할 수 있으므로, 스키마 컴포넌트에 대한 새 정의를 지정할 수 없는 포함 메커니즘보다 많은 융통성이 제공됩니다.

다음 유형의 컴포넌트를 재정의할 수 있습니다.
  • 단순 유형
  • 복합 유형
  • 이름 지정된 모델 그룹
  • 속성 그룹
스키마 컴포넌트를 재정의할 때 컴포넌트의 원래 정의를 원래 컴포넌트에 대한 참조사항으로 바꿉니다.

스키마를 재정의하려면 먼저 작업공간에 XSD 스키마가 있어야 합니다. 또한 XSD 변환 프로파일을 사용자 모델에 적용해야 하며, 사용자 모델에는 하나 이상의 단순 또는 복합 유형과 하나의 네임스페이스가 있어야 합니다.

다음 프로시저는 Package1이라고 하는 UML 패키지에 있는 Class1 복합 유형을 재정의하는 방법을 설명합니다. 이 복합 유형에는 유형이 문자열인 하나의 속성 attribute1이 들어 있습니다. 이 예제에서, Class1을 재정의하는 스키마를 포함하는 새 패키지 Package2를 작성합니다.

  1. 소스 UML 모델에서 패키지를 작성하십시오. 예를 들어, Package2 패키지를 작성하십시오.
  2. 새 패키지에 «schema» 스테레오타입을 적용하십시오.
  3. «schema» 스테레오타입의 대상 네임스페이스 속성을, 사용자가 재정의하려는 스키마의 대상 네임스페이스와 동일하게 설정하십시오.

    이 이미지는 특성 보기의 스테레오타입 페이지를 보여 줍니다.

    주: 또한 변환 구성의 대상 네임스페이스 특성을 원래 스키마의 네임스페이스와 동일하게 설정할 수 있습니다.
  4. 재정의하려는 동일 유형의 복합 유형을 작성하십시오. 예를 들어, Package1에서 Class1을 재정의하려면 Package2에서 Class1 클래스를 작성하고 «complexType» 스테레오타입을 Class1의 새 버전에 적용해야 합니다.

    이 이미지는 복합 유형의 패키지를 포함하는 UML 모델(모델링 Perspective에 있는)을 보여 줍니다.

  5. 재정의하는 유형에서 재정의되는 유형으로의 일반화 관계를 작성하십시오. 예를 들어, Package2의 Class1에서 Package1의 Class1으로의 일반화 관계를 작성하십시오.

    이 이미지는 Package1의 Class1이 상위 클래스이고 Package2의 Class1이 하위 클래스인 일반화 관계를 보여 줍니다.

  6. «redefine» 스테레오타입을 일반화 관계에 적용하십시오.

    이 이미지는 재정의 스테레오타입이 적용된 일반화 관계를 보여 줍니다. Package1의 Class1이 상위 클래스이고 Package2의 Class1이 하위 클래스입니다.

  7. 작성한 유형을 재정의하십시오. 예를 들어, 유형의 정의를 변경하거나 유형에 속성을 추가할 수 있습니다. 이 예제에서는, Package2에 있는 Class1에서 해당 유형을 UnlimitedNatural로 변경하여 attribute1을 재정의하십시오. 또한 유형이 문자열인 새 속성 attribute2도 추가할 수 있습니다.

    이 이미지는 재정의하는 유형과 재정의되는 유형을 보여 줍니다. 재정의하는 유형에는 attribute1이라고 UnlimitedNatural과 attribute2라고 하는 새 문자열이 포함됩니다.

  8. 파일 > 저장을 클릭하십시오.
  9. UML에서 XSD로 변환 구성을 편집하십시오. 재정의하는 스키마를 변환의 소스로 지정하십시오. 이 예제에서는 Package2를 변환의 소스로 지정하십시오.
  10. 파일 > 저장을 클릭하십시오.
  11. UML에서 XSD로 변환을 실행하십시오.
다음에 수행할 작업
변환은 사용자가 변환 구성에서 지정하는 대상 프로젝트 또는 재정의하는 스키마 파일을 생성합니다. 재정의하는 스키마 파일에는 재정의되는 스키마 컴포넌트가 포함됩니다. schemaLocation 속성은 재정의되는 스키마의 이름을 지정합니다. 다음 이미지는 변환이 생성하는 재정의하는 스키마를 표시합니다.

이 이미지는 변환이 생성하는 XSD 파일을 표시합니다. Attribute1은 long 유형으로, attribute2는 문자열 유형으로 변환됩니다.


피드백