단순 유형은 데이터 항목의 추상적 정의(예: 숫자, 문자열 또는 날짜)입니다.
단순 유형의 목적은 하나 이상의 단순 요소의 컨텐츠를 정의하는 것입니다. 단순 유형(및 이를 기본으로 하는 모든 요소)은 속성 또는 하위 요소를 포함할 수 없습니다. 단순 유형은 요소의 구조를 정의하나 일반적으로 단순 데이터를 정의하지 않는 복합 유형과는 대조됩니다.
단순 유형은 전역 또는 로컬일 수 있습니다. 전역 단순 유형은 둘 이상의 요소에 대한 기초로 사용될 수 있습니다. 여기에는 참조할 수 있는 고유한 이름을 부여해야 합니다. 로컬 단순 유형은 단일 요소와 연관되어 있으며 메시지 모델 어디에서도 재사용할 수 없습니다. 로컬 유형에는 이름이 필요하지 않으며 이 유형은 메시지 정의 편집기에서 {Local simpleType}으로 표시됩니다.
제한을 사용하여 다른 단순 유형으로부터 단순 유형(기본 유형)을 도출할 수 있습니다. 제한 유형에서는 값 제한조건이 적용될 수 있습니다.
제한 유형은 내장 단순 유형, 사용자 정의 단순 유형 또는 제한 내에서 익명으로 정의된 로컬 단순 유형으로 정의될 수 있습니다.
목록 유형은 반복되는 단순 값을 렌더링하는 방법입니다. 표기법이 반복 요소의 표기법보다 간결하며 다중 값 속성을 보유할 수 있는 방법을 제공합니다.
목록 유형은 결합 유형을 기반으로 할 수 있습니다. 따라서 각 항목이 결합의 단순 유형을 기반으로 할 수 있는 공백으로 분리된 항목 목록을 설명할 수 있습니다.
목록 자체에 대한 목록은 적합하지 않습니다. 목록의 항목 유형은 그 자체가 목록이 되거나 모든 레벨에서 다른 목록 유형으로부터 도출될 수 없으며 편집기에서 작업 목록 오류가 발생합니다.
목록 유형은 적용된 길이 및 minLength, maxLength의 facet을 가질 수 있습니다. 이 facet은 목록에서 항목 수를 제한합니다. 목록에서 각 항목의 값을 제한하려면 facet을 항목 유형에 적용하고 목록 자체에는 적용하지 마십시오. 메시지 정의 편집기는 목록 유형에 대해 직접 나열 및 패턴 facet에 대한 추가 지원을 제공하여 이 facet을 통해 모든 스키마를 들여올 수 있도록 하지만 나열 및 패턴 facet을 브로커가 무시할 것을 알리는 경고를 발행합니다.
결합 유형은 두 개 이상의 다른 단순 유형이 결합된 유형입니다.
결합 유형에 따라 값이 다른 여러 단순 유형 중 하나와 일치될 수 있습니다. 결합 유형을 작성하는 단순 유형을 구성원 유형이라고 합니다. 존재할 수 있는 구성원 유형의 수에는 상한선이 없지만 최소 하나는 있어야 합니다. 구성원 유형은 내장 단순 유형, 사용자 정의 단순 유형 또는 결합 유형 내에서 익명으로 정의된 로컬 단순 유형으로 정의될 수 있습니다.
결합 유형은 구성원 사이에 목록, 결합 및 제한된 단순 유형을 포함할 수도 있습니다.
브로커는 데이터가 논리 트리에 있어야 값 제한조건을 적용합니다. 이는 동일한 기본 유형에서 도출되었지만 제한조건이 다른(예: 1-10 범위의 정수와 11-20 범위의 정수) 두 개의 단순 유형 사이에 선택할 수 없음을 의미합니다. 시도했지만 브로커가 결합을 해석할 때 제한조건을 무시할 경우 작업 목록에 경고가 표시됩니다. 메시지 정의 편집기는 결합 유형에 대해 직접 나열 및 패턴 facet에 대한 추가 지원을 제공하여 이 facet을 통해 임의 스키마를 들여올 수 있도록 하지만 나열 및 패턴 facet을 브로커가 무시할 것을 알리는 경고를 발행합니다.
도출된 유형에 적용되는 모든 값 제한조건은 기본 유형(및 기본 유형을 기본으로 하는 모든 요소)을 더 제한해야 합니다. 도출된 유형이 기본 유형에서 정의된 값 제한조건을 완화 또는 제거하는 것은 올바르지 않습니다. 도출된 유형에 값 제한조건을 적용하지 않으면, 제한조건이 관련되어 있는 경우 기본 유형 제한으로 처리되기는 하지만 기본 유형과 거의 동일합니다.