메시지 모델 오브젝트: 단순 유형 값 제한조건

값 제한조건은 표시할 수 있는 값에 한계를 정의하여 단순 유형을 세분화합니다.

메시지가 비즈니스 규칙을 따르게 하기 위해서는 요소가 취할 수 있는 값을 제한하는 것이 종종 유리합니다. 이 주제에서는 이를 기본으로 하는 모든 요소의 값을 제한하기 위해 단순 유형에 값 제한조건을 추가할 수 있는 방법에 대해 설명합니다.

여기서 논의되는 대부분의 값 제한조건은 XML 스키마 facet로 모델화되며 단순 유형과 연관이 있습니다. 그러나, 요소에 대해 디폴트 값 및 고정 값을 정의할 수 있으며 이 값은 요소 자체에 연관됩니다.

팁: 메시지 세트를 WebSphere Message Broker로 전개할 경우, 모든 값 제한조건의 유효성을 검증하여 모든 제한 위반사항을 오류 및 경고로서 보고할 수 있습니다.

값 제한조건 유형

디폴트 값
입력 메시지에 빈 요소가 있으면 디폴트 값이 지정됩니다. 입력 메시지에 요소가 완전히 누락되어 있으면 전혀 값이 지정되지 않습니다.

입력 메시지에 속성이 누락되어 있으면 디폴트 값이 지정됩니다.

디폴트 값 제한조건은 요소 자체와 연관되므로 상속될 수 없음을 참고하십시오.

주: 메시지 세트를 WebSphere Message Broker로 전개하는 경우, 위에서 설명한 작동이 항상 적용되지는 않습니다. 차이점에 대한 자세한 내용은 적절한 물리적 형식에 해당하는 논리적 모델에 대한 관계 주제를 참조하십시오.
고정 값
요소가 입력 메시지에 표시되는 경우, 해당 값은 지정된 고정 값이어야 합니다. 입력 메시지에 빈 요소가 있으면 고정된 값이 지정됩니다. 입력 메시지에 요소가 완전히 누락되어 있으면 고정 값이 지정됩니다.

입력 메시지에 속성이 있으면 고정된 값이 지정되어야 합니다. 입력 메시지에 속성이 누락되어 있으면 고정된 값이 지정됩니다.

고정 값 제한조건은 요소 자체와 연관되므로 상속될 수 없습니다.

주: 메시지 세트를 WebSphere Message Broker로 전개하는 경우, 위에서 설명한 작동이 항상 적용되지는 않습니다. 차이점에 대한 자세한 내용은 적절한 물리적 형식에 해당하는 논리적 모델에 대한 관계 주제를 참조하십시오.
길이 제한조건: 길이, 최소 길이, 최대 길이
길이 제한조건을 사용하여, 이 단순 유형을 기본으로 하는 모든 요소의 길이를 제한하거나 심지어는 단일 값으로 제한할 수도 있습니다.

길이 제한조건은 xsd:hexBinary, xsd:base64Binary 또는 xsd:string에서 도출된 단순 유형에 적용될 수 있습니다(xsd:normalisedString 같은 내장 스키마 유형 포함).

길이 제한조건은 상위(ancestor) 유형으로부터 상속되며 단순 유형에 정의된 모든 길이 제한조건은 상위 유형 중 하나에 의해 부과된 제한조건을 완화해서는 안됩니다. 예를 들면, 'shortString' 유형(Max Length=10)으로부터 'longString' 유형(Max Length=100)을 도출하는 것은 올바르지 않습니다.

주: 기본적으로 WebSphere Message Broker의 경우, 길이 값 제한조건은 메시지 세트가 BAR 파일에 추가될 때 최대 길이 제한조건으로 변환됩니다. 이를 통해 WebSphere Message Broker에서 고정된 넓이의 필드에 맞도록 문자열이 채워지는 문자열의 경우 고정 길이 데이터 구조에 대해 유사 유효화 오류의 발생을 막을 수 있습니다. 엄격한 길이 유효성 검증이 필요한 경우, 브로커가 길이 facet을 최대 길이로 처리 플래그를 변경하여 메시지 세트 등록 정보에서 디폴트를 변경할 수 있습니다.
범위 제한조건: 최소값 포함, 최대값 포함, 최소값 제외, 최대값 제외
범위 제한조건은 단순 유형을 기본으로 하는 모든 요소에 대해 허용되는 값의 범위를 지정합니다. 포함 제한조건은 허용된 범위 내의 지정된 엔드 포인트를 포함하나 제외 제한조건은 포함하지 않습니다. 범위 제한조건은 숫자이거나 달력 및 시간 값에 관련된 단순 유형에 적용될 수 있습니다. 문자열 값의 순서는 사용되는 문자 세트에 의존하기 때문에 문자열에는 범위 제한조건을 적용할 수 없습니다.

범위 제한조건은 상위(ancestor) 유형으로부터 상속되며 단순 유형에 정의된 모든 범위 제한조건은 상위 유형 중 하나에 의해 부과된 제한조건을 완화해서는 안됩니다. 예를 들면, 'smallNumber' 유형(Max Inclusive=10)으로부터 'largeNumber' 유형(Max Inclusive=100)을 도출하는 것은 올바르지 않습니다.

메시지 모델에서는 제외 제한조건을 비정수 유형(float, decimal, double, DateTime 등)에 적용할 수 없습니다.

나열 제한조건
나열 제한조건은 단순 유형을 기본으로 하는 모든 요소에 대해 허용되는 단일 값을 지정합니다. 동일한 단순 유형에 대해 둘 이상의 나열 제한조건을 정의함으로써 허용되는 값 목록을 지정할 수 있습니다. 나열 제한조건은 모든 단순 유형에 적용될 수 있습니다.

나열 제한조건은 상위(ancestor) 유형으로부터 상속되며 단순 유형에 정의된 모든 나열 제한조건은 상위 유형 중 하나에 의해 부과된 제한조건을 완화해서는 안됩니다. 예를 들면, 'MonoColours' 유형('검은색' 및 '흰색'만 나열됨)에서 'AllColours'(모든 무지개색이 나열됨) 유형을 도출하는 것은 올바르지 않습니다.

정밀도 제한조건: 총 자릿수 및 소수 자릿수
정밀도 제한조건은 10진수 값에만 연관됩니다. 이 제한조건은 모든 요소에 대한 유효 숫자(총 자릿수)의 수 및 소수 자릿수(소수)를 제한합니다. 정밀도 제한조건은 xsd:decimal에서 도출된 단순 유형에만 적용될 수 있습니다.

정밀도 제한조건은 상위(ancestor) 유형으로부터 상속되며 단순 유형에 정의된 모든 정밀도 제한조건은 상위 유형 중 하나에 의해 부과된 제한조건을 완화해서는 안됩니다. 예를 들면, 'notVeryPrecise' 유형(Fraction Digits=1)으로부터 'veryPrecise' 유형(Fraction Digits=10)을 도출하는 것은 올바르지 않습니다.

패턴 제한조건
패턴 제한조건은 단순 유형을 기본으로 모든 요소에 대해 허용되는 값 세트를 지정하는 정규 표현식입니다. 동일한 단순 유형에 대해 다중 패턴을 정의함으로써 복잡한 유효화 규칙을 논리적으로 분리된 부분으로 표현할 수 있게 합니다. 단순 유형에 대한 각 패턴 제한조건은 이를 기본으로 하는 각 요소에게 허용되는 값 세트를 제공합니다. 즉, 모든 패턴은 Boolean OR을 사용하여 결합됩니다.

모든 값 제한조건에서와 같이, 단순 유형은 이것이 기본으로 하는 단순 유형으로부터 패턴 제한조건을 상속할 수 있습니다. 이 경우, 단순 유형 자체에서 제공하는 세트는 물론 각 상위 유형에서 제공하는 패턴 제한조건 세트도 만족해야 합니다. 즉, 유형 계층의 각 레벨에서 제공하는 패턴 제한조건 세트는 Boolean AND를 사용하여 결합됩니다.

패턴 제한조건은 xsd:string에서 도출된 단순 유형에만 적용될 수 있습니다.

공백 제한조건
공백 제한조건은 단순 유형을 기본으로 하는 모든 요소에 대해 구문 분석기가 공백을 처리하는 방법을 지정합니다.
주: WebSphere Message Broker의 경우, MRM 물리적 형식은 메시지에 대해 정의된 각 물리적 형식에 대해 공백을 매우 정확히 제어할 수 있게 하나 이 물리적 등록 정보는 논리적 모델에서의 공백 제한조건과는 별도입니다.
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ad10470_