XSD 변환 모델링 기능은 환경 설정 창의 일반, 기능 페이지에서 XSD 변환 프로파일 기능을 선택할 때 사용되도록 설정됩니다.
패키지, 클래스, 특성, 일반화, 연관 및 종속성 UML 모델 요소를 사용하여 XSD(XML(Extensible Markup Language) Schema Definition) 요소의 서브세트를 모델링할 수 있습니다. 그러나 XSD 변환 프로파일에는 단순 유형, 복합 유형, 속성, 요소 및 재사용 가능한 그룹과 같은 대부분의 XSD 스키마 요소를 모델링하기 위해 사용할 수 있는 스테레오타입이 있습니다. 소스 모델에 XSD 변환 프로파일을 적용하고 소스 모델 요소에 프로파일의 스테레오타입을 적용하는 장점은 모델에 오류가 있는지 검증할 수 있다는 것입니다.
XSD 모델링 프로젝트를 작성할 때 두 개의 템플리트에서 선택할 수 있습니다. 템플리트는 XSD 변환 프로파일을 적용하고 프로젝트에 필요한 구조를 제공하여 모델 개발을 가속화할 수 있습니다.
적절한 스테레오타입이 자동으로 적용되는 특정 XSD 스키마 요소를 작성할 수 있습니다. 클래스 및 자유 양식 다이어그램에 쉐이프를 추가할 때 팔레트는 UML에서 XSD로 변환에서 사용되는 모델링 아티팩트를 생성하기 위한 XSD 도구를 제공합니다. 프로젝트 탐색기 보기 및 다이어그램 편집기에서, 팝업 메뉴에 있는 XSD 추가 명령을 사용하여 선택하는 컨텍스트에 따라 다양한 XSD 스키마 요소를 추가할 수 있습니다.
모델링 중인 스키마의 요소를 자세히 설명할 필요가 없을 경우, 대신 키워드를 사용하여 변환이 XSD 요소를 생성하는 방법을 표시할 수도 있습니다.
다음 표는 프로파일의 스테레오타입과 해당되는 관련 특성 및 값을 나열합니다.
| 스테레오타입 | 적용 가능한 요소 | 특성 | 특성 설명 및 값 | 변환 결과 |
|---|---|---|---|---|
| «annotation» | 주석 | kind | 어노테이션의 유형: documentation, appinfo | 어노테이션 |
| language | 어노테이션의 자연어 | |||
| source | 어노테이션의 소스 | |||
| «attribute» | 클래스 특성 | form | 속성 이름이 인스턴스 문서에서 규정되는지 여부를
지정함
|
단순 유형이고 해당되는 다중성이 [0..1]인 경우 복합 속성 그룹의 속성 |
| use | 속성이 선택적인지 또는 필수인지 여부를 지정함
|
|||
| «attributeGroup» | 클래스 | 속성 그룹 | ||
| «complexType» | 클래스 | anonymous | true | 최상위 레벨 복합 유형 선언이 생성되지 않습니다. 속성 또는 요소의 유형이 익명(anonymous) 유형인 속성 또는 요소 선언으로 이 클래스에 대한 참조사항이 생성됨 |
| false(기본값) | 복합 유형 | |||
| block | 유형 대체를 블록화할 것인지 여부를 지정함
|
|||
| final | 이 유형에서 다른 유형이 파생될 수 있는지 여부를
지정함
|
|||
| modelGroup | 유형의 컨텐츠 모델을 지정함
|
|||
| maxOccurs, minOccurs | 복합 유형에서 시퀀스 및 선택 그룹이 발생할 수 있는
최소 및 최대 횟수를 지정함 모든 모델 그룹에 대해, maxOccurs는 1, minOccurs는 0 또는 1이어야 합니다. |
|||
| mixed | 복합 유형이 혼합 컨텐츠를 허용하는지 여부를 지정함
|
|||
| «element» | 클래스의 특성 | block | 인스턴스에서 원래 유형만 사용되도록, 파생된 유형의 대체를 블록화함
|
속성 |
| final | 글로벌 요소에 적용되며 글로벌 요소 유형에서
다른 유형을 파생할 수 없음을 지정함
|
|||
| form | 요소 이름이 인스턴스 문서에서 규정되어야 하는지 여부를
지정함
|
|||
| nillable | 해당 요소의 인스턴스에서 xsi::nil을 사용할 수 있는지 여부를 지정함(해당 값은 기본적으로 false로 설정됨) | |||
| «enumeration» | 클래스 | anonymous |
|
클래스가 단순 유형을 표시하는 다른 클래스와의 일반화 관계를 가지는 경우 XSD 열거 |
| «global» | 클래스 | 클래스는 하나의 특성을 가지고 있어야 함 | 최상위 레벨 요소 선언 |
|
| «listOf» | 종속성 | 종속성 클라이언트의 XSD 목록 항목 유형은 종속성의 공급자임 |
||
| «modelGroup» | 클래스 | anonymous | true인 경우 최상위 레벨 그룹 선언이 스키마에서 작성되지 않고 이 클래스에 대한 참조사항이 모델 그룹 참조로 변환됨 | 글로벌이면서 재사용 가능한
이름 지정된 모델 그룹. 기본적으로 변환은 시퀀스 모델을 작성합니다. 이 클래스에 대한 참조는 모델 그룹 참조로 변환됨 |
| modelGroup | 그룹의 컨텐츠 모델을 지정함
|
|||
| «redefine» | 일반화 | 원래 스키마에서 변경되지 않은 컴포넌트와 재정의된 컴포넌트를 포함하는 새 스키마 | ||
| «restriction» | 일반화 | 정규식에 지정된 패턴과 일치시킬 가능한 값의 제한사항이 있는 스키마 단순 유형 | ||
| «schema» | 패키지 | attributeFormDefault | 로컬 속성 선언에 규정된 이름을 사용해야 하는지 여부를
지정함
|
패키지와 이름이 같은 XSD 스키마 |
| blockDefault | 복합 유형 및 요소 선언의 block 속성에 대한
기본값을 지정함 block 속성은 요소 대체 또는 유형 대체를 블록화할 것인지 여부를 판별함
|
|||
| elementFormDefault | 로컬 요소 선언에 규정된 이름을 사용해야 하는지 여부를
지정함
|
|||
| finalDefault | 복합 유형, 단순 유형 및 요소 선언의 final 속성에 대한
기본값을 지정함 final 속성은 유형 파생이 발생할 수 있는지 여부를 지정함
|
|||
| targetNamespace targetNamespacePrefix | 변환 구성에 지정된 targetNamespace 및 targetNamespacePrefix 값을 대체함 | |||
| «simpleType» | 클래스 | anonymous | true | 클래스가 익명(anonymous) 유형으로 처리되고 최상위 레벨 선언이 생성되지 않음 |
| false | 클래스가 XSD 내장 데이터 유형, 다른 단순 유형 또는 XSD 열거와의 일반화 관계를 보유하는 경우 단순 유형 | |||
| final | 이 유형에서 다른 유형이 파생될 수 있는지 여부를
지정함
|
|||
주: 패싯 정의에 대한 자세한 정보는 XSD 패싯을 참조하십시오.
|
XSD 스키마가 다음을 지정하도록 정의하는
패싯을 표시함
주: 나열된 모든 패싯이 모든 단순 유형에 적용되는 것은 아닙니다.
자세한 정보는 UML에서 XSD로 변환의 단순 유형 및 적용 가능한 패싯을 참조하십시오.
|
|||
| «unionOf» | 종속성 | 종속성의 공급자가 구성원인 종속성의 클라이언트에서 XSD 공용체가
생성됨 둘 이상의 단순 유형을 표시하는 클래스는 |
||
| «wildcard» | 클래스의 특성 | processContents | 속성 및 요소 대체에 대한 유효성 검증 방법을
지정함
|
요소 와일드카드 특성에 attribute 키워드나 «attribute» 스테레오타입이 있는 경우 속성 와일드카드도 생성됨 |
| namespace | 대체 속성 또는 요소를 포함할 수 있는 네임스페이스를
지정함
|