XSD 변환 프로파일

XSD 요소(예: 단순 유형, 복합 유형, 속성, 요소 및 재사용 가능한 그룹)를 표시하려면 XSD 변환 프로파일에서 스테레오타입을 사용하십시오.

XSD 변환 모델링 기능은 환경 설정 창의 일반, 기능 페이지에서 XSD 변환 프로파일 기능을 선택할 때 사용되도록 설정됩니다.

패키지, 클래스, 특성, 일반화, 연관 및 종속성 UML 모델 요소를 사용하여 XSD(XML(Extensible Markup Language) Schema Definition) 요소의 서브세트를 모델링할 수 있습니다. 그러나 XSD 변환 프로파일에는 단순 유형, 복합 유형, 속성, 요소 및 재사용 가능한 그룹과 같은 대부분의 XSD 스키마 요소를 모델링하기 위해 사용할 수 있는 스테레오타입이 있습니다. 소스 모델에 XSD 변환 프로파일을 적용하고 소스 모델 요소에 프로파일의 스테레오타입을 적용하는 장점은 모델에 오류가 있는지 검증할 수 있다는 것입니다.

XSD 모델 프로젝트 템플리트

XSD 모델링 프로젝트를 작성할 때 두 개의 템플리트에서 선택할 수 있습니다. 템플리트는 XSD 변환 프로파일을 적용하고 프로젝트에 필요한 구조를 제공하여 모델 개발을 가속화할 수 있습니다.

템플리트 설명
공백 XSD 모델 이 템플리트는 XSD 변환 프로파일이 적용된 UML 모델과 새 프로젝트를 작성합니다.
XSD 모델 이 템플리트는 XSD 변환 프로파일이 적용된 UML 모델과 새 프로젝트를 작성합니다. XSD 모델에는 XSD 모델 빌딩 블록이라고 하는 패키지를 포함하는 구조가 있습니다. 이 패키지에는 XSD 모델을 빌드하는 데 도움을 받기 위해 사용할 수 있는 모델 컨텐츠가 있습니다. 빌딩 블록에는 필요한 모델 라이브러리를 가져오고 XSD 스테레오타입이 적용됩니다.

XSD 스키마 요소 작성에 대한 지원

적절한 스테레오타입이 자동으로 적용되는 특정 XSD 스키마 요소를 작성할 수 있습니다. 클래스 및 자유 양식 다이어그램에 쉐이프를 추가할 때 팔레트는 UML에서 XSD로 변환에서 사용되는 모델링 아티팩트를 생성하기 위한 XSD 도구를 제공합니다. 프로젝트 탐색기 보기 및 다이어그램 편집기에서, 팝업 메뉴에 있는 XSD 추가 명령을 사용하여 선택하는 컨텍스트에 따라 다양한 XSD 스키마 요소를 추가할 수 있습니다.

모델링 중인 스키마의 요소를 자세히 설명할 필요가 없을 경우, 대신 키워드를 사용하여 변환이 XSD 요소를 생성하는 방법을 표시할 수도 있습니다.

다음 표는 프로파일의 스테레오타입과 해당되는 관련 특성 및 값을 나열합니다.

스테레오타입 적용 가능한 요소 특성 특성 설명 및 값 변환 결과
«annotation» 주석 kind 어노테이션의 유형: documentation, appinfo 어노테이션
language 어노테이션의 자연어
source 어노테이션의 소스
«attribute» 클래스 특성 form 속성 이름이 인스턴스 문서에서 규정되는지 여부를 지정함
  • qualified
  • unqualified
  • default
단순 유형이고 해당되는 다중성이 [0..1]인 경우 복합 속성 그룹의 속성
use 속성이 선택적인지 또는 필수인지 여부를 지정함
  • optional(기본값)
  • required
«attributeGroup» 클래스     속성 그룹
«complexType» 클래스 anonymous true 최상위 레벨 복합 유형 선언이 생성되지 않습니다. 속성 또는 요소의 유형이 익명(anonymous) 유형인 속성 또는 요소 선언으로 이 클래스에 대한 참조사항이 생성됨
false(기본값) 복합 유형
block 유형 대체를 블록화할 것인지 여부를 지정함
  • #all: 파생된 유형이 이 유형을 대체하지 못하도록 합니다.
  • extension: 이 유형의 확장을 금지합니다.
  • restriction: 제한사항이 이 유형을 대체하지 못하도록 합니다.
  • extension restriction: #all과 영향이 동일합니다.
final 이 유형에서 다른 유형이 파생될 수 있는지 여부를 지정함
  • #all: 다른 유형에 의한 이 유형의 파생을 금지합니다.
  • extension
  • restriction
  • extension restriction
modelGroup 유형의 컨텐츠 모델을 지정함
  • all: anonymous를 false로 설정해야 합니다.
  • choice
  • sequence
maxOccurs, minOccurs 복합 유형에서 시퀀스 및 선택 그룹이 발생할 수 있는 최소 및 최대 횟수를 지정함

모든 모델 그룹에 대해, maxOccurs는 1, minOccurs는 0 또는 1이어야 합니다.

mixed 복합 유형이 혼합 컨텐츠를 허용하는지 여부를 지정함
  • false(기본값)
  • true
«element» 클래스의 특성 block

인스턴스에서 원래 유형만 사용되도록, 파생된 유형의 대체를 블록화함

  • #all: 인스턴스에서 원래 유형 대신 파생된 유형의 사용을 금지합니다.
  • extension: 유형 확장이 유형을 대체하지 않도록 금지합니다.
  • "extension restriction" 또는 "restriction extension": #all과 영향이 동일합니다.
  • " "(빈 문자열): 제한사항이 없음을 표시합니다. 스키마 요소의 blockDefault 값을 대체합니다.
속성
final 글로벌 요소에 적용되며 글로벌 요소 유형에서 다른 유형을 파생할 수 없음을 지정함
  • #all
  • extension
  • restriction
  • extension restriction
form 요소 이름이 인스턴스 문서에서 규정되어야 하는지 여부를 지정함
  • qualified
  • unqualified
  • default: 기본값이 unqualified로 설정되는 스키마 스테레오타입의 elementFormDefault 값으로 기본값이 설정됩니다.
nillable 해당 요소의 인스턴스에서 xsi::nil을 사용할 수 있는지 여부를 지정함(해당 값은 기본적으로 false로 설정됨)
«enumeration» 클래스 anonymous
  • true
  • false(기본값)
true인 경우 열거 패싯이 있는 최상위 레벨 단순 유형 선언이 스키마에서 작성되지 않고 속성 또는 요소의 유형이 익명(anonymous)인 속성 또는 요소 선언으로 이 클래스에 대한 참조사항이 생성됨
클래스가 단순 유형을 표시하는 다른 클래스와의 일반화 관계를 가지는 경우 XSD 열거
«global» 클래스   클래스는 하나의 특성을 가지고 있어야 함

최상위 레벨 요소 선언
속성 선언(특성에 <<attribute>>가 있는 경우)
이름 및 유형이 특성 이름 및 유형과 동일함

«listOf» 종속성     종속성 클라이언트의 XSD 목록

항목 유형은 종속성의 공급자임
단순 유형을 표시하는 두 클래스 사이에 이와 같은 하나의 종속성만 있을 수 있음

«modelGroup» 클래스 anonymous true인 경우 최상위 레벨 그룹 선언이 스키마에서 작성되지 않고 이 클래스에 대한 참조사항이 모델 그룹 참조로 변환됨 글로벌이면서 재사용 가능한 이름 지정된 모델 그룹. 기본적으로 변환은 시퀀스 모델을 작성합니다.

이 클래스에 대한 참조는 모델 그룹 참조로 변환됨

modelGroup 그룹의 컨텐츠 모델을 지정함
  • all: anonymous를 false로 설정해야 합니다.
  • choice
  • sequence(기본값)
«redefine» 일반화     원래 스키마에서 변경되지 않은 컴포넌트와 재정의된 컴포넌트를 포함하는 새 스키마
«restriction» 일반화     정규식에 지정된 패턴과 일치시킬 가능한 값의 제한사항이 있는 스키마 단순 유형
«schema» 패키지 attributeFormDefault 로컬 속성 선언에 규정된 이름을 사용해야 하는지 여부를 지정함
  • qualified
  • unqualified(기본값)
패키지와 이름이 같은 XSD 스키마
blockDefault 복합 유형 및 요소 선언의 block 속성에 대한 기본값을 지정함

block 속성은 요소 대체 또는 유형 대체를 블록화할 것인지 여부를 판별함

  • #all
  • extension, restriction 또는 substitution 키워드 중 하나 이상의 키워드 목록(공백으로 구분)
elementFormDefault 로컬 요소 선언에 규정된 이름을 사용해야 하는지 여부를 지정함
  • qualified
  • unqualified(기본값)
finalDefault 복합 유형, 단순 유형 및 요소 선언의 final 속성에 대한 기본값을 지정함

final 속성은 유형 파생이 발생할 수 있는지 여부를 지정함

  • #all
targetNamespace targetNamespacePrefix 변환 구성에 지정된 targetNamespace 및 targetNamespacePrefix 값을 대체함
«simpleType» 클래스 anonymous true 클래스가 익명(anonymous) 유형으로 처리되고 최상위 레벨 선언이 생성되지 않음
false 클래스가 XSD 내장 데이터 유형, 다른 단순 유형 또는 XSD 열거와의 일반화 관계를 보유하는 경우 단순 유형
final 이 유형에서 다른 유형이 파생될 수 있는지 여부를 지정함
  • #all: 파생이 허용되지 않음
  • extension
  • restriction
  • list
  • union
  • fractionDigits
  • length
  • maxExclusive
  • maxInclusive
  • maxLength
  • minExclusive
  • minInclusive
  • minLength
  • pattern
  • totalDigits
  • whiteSpace
주: 패싯 정의에 대한 자세한 정보는 XSD 패싯을 참조하십시오.
XSD 스키마가 다음을 지정하도록 정의하는 패싯을 표시함
  • 올바른 값 범위
  • 값에 대한 제한조건
  • 값의 길이 및 정밀도
  • 올바른 값이 일치되어야 하는 정규식
  • 내장 XSD 유형에서 제한사항에 의해 파생되는 단순 유형의 공백 처리
주: 나열된 모든 패싯이 모든 단순 유형에 적용되는 것은 아닙니다. 자세한 정보는 UML에서 XSD로 변환의 단순 유형 및 적용 가능한 패싯을 참조하십시오.
«unionOf» 종속성     종속성의 공급자가 구성원인 종속성의 클라이언트에서 XSD 공용체가 생성됨

둘 이상의 단순 유형을 표시하는 클래스는
단순 유형을 표시하는 다른 클래스에 대한 이러한 종속성을 두 개 이상 보유할 수 있음

«wildcard» 클래스의 특성 processContents 속성 및 요소 대체에 대한 유효성 검증 방법을 지정함
  • skip: 유효성 검증 없음
  • lax: 검색 가능한 선언을 보유하는 속성 및 요소의 유효성을 검증하고 올바르지 않은 값에 대해 오류를 발생합니다.
  • strict: 네임스페이스에 대한 스키마 문서를 찾아보고 속성 및 요소의 유효성을 검증합니다(기본값).
요소 와일드카드

특성에 attribute 키워드나 «attribute» 스테레오타입이 있는 경우 속성 와일드카드도 생성됨

namespace 대체 속성 또는 요소를 포함할 수 있는 네임스페이스를 지정함
  • ##any: 임의 네임스페이스나 네임스페이스 없음
  • ##other: 문서의 대상 네임스페이스가 아닌 다른 임의 네임스페이스나 스키마 문서에 대상 네임스페이스가 없는 경우 임의 네임스페이스
  • anyURI
  • ##targetNamespace: 스키마 문서의 대상 네임스페이스
  • ##local: 네임스페이스가 필요하지 않음
다음 항목의 목록(공백으로 구분)
  • ##targetNamespace
  • #local(특정 네임스페이스)
  • ##local


피드백