2.5.4. 제한으로 유형 정의
2.5.4.1. 개요
XML 스키마를 사용하면 XML 스키마 단순 형식의 가능한 값을 제한하여 새 형식을 만들 수 있습니다.XML Schema allows you to create new types by restricting the possible values of an XML Schema simple type. 예를 들어 SSN은 정확히 9자로 구성된 간단한 유형 SSN
을 정의할 수 있습니다.For example, you can define a simple type, SSN , which is a string of exactly 9 characters. 단순 형식을 제한하여 정의한 새 형식은 simpleType
요소를 사용하여 정의됩니다.
제한으로 유형을 정의하려면 다음 세 가지 사항이 필요합니다.
-
새 형식의 이름은
simpleType
요소의name
특성으로 지정됩니다. -
기본 형식 이라고 하는 새 형식을 파생 되는 단순 형식은 제한 요소에 지정 됩니다.The simple type from which the new type is derived, called the base type, is specified in the
restriction
element. “기본 유형 지정” 을 참조하십시오. -
기본 유형에 배치된 제한을 정의하는 facets 라는 규칙은
제한
요소의 자식으로 정의됩니다. “제한 정의” 을 참조하십시오.
2.5.4.2. 기본 유형 지정
기본 유형은 새 유형을 정의하도록 제한되는 유형입니다. 제한
요소를 사용하여 지정됩니다. restriction
요소는 simpleType
요소의 유일한 자식이며 기본 유형을 지정하는 하나의 속성 base
를 갖습니다. 기본 유형은 XML Schema 간단한 유형 중 하나일 수 있습니다.
예를 들어, xsd:int
의 값을 제한하여 새 유형을 정의하려면 예 2.14. “기본 유형으로 int 사용” 에 표시된 정의를 사용합니다.
예 2.14. 기본 유형으로 int 사용
<simpleType name="restrictedInt"> <restriction base="xsd:int"> ... </restriction> </simpleType>
2.5.4.3. 제한 정의
기본 유형에 따라 제한 사항을 정의하는 규칙을 facets 라고 합니다. facet는 facet가 적용되는 방법을 정의하는 하나의 속성 값이
있는 요소입니다. 사용 가능한 facet 및 유효한 값
설정은 기본 유형에 따라 다릅니다. 예를 들어 xsd:string
은 다음을 포함하여 6개의 facet를 지원합니다.
-
길이
-
minLength
-
maxLength
-
패턴
-
whitespace
-
enumeration
각 facet 요소는 제한
요소의 자식입니다.
2.5.4.4. 예제
예 2.15. “SSN 단순 유형 설명” 는 소셜 보안 번호를 나타내는 간단한 유형의 SSN
의 예를 보여줍니다. 결과 유형은 xxx-xx-xxxx
. <SSN>032-43-9876<SSN>은 이 유형의 요소에 유효한 값이지만 <SSN>032439876</SSN>은 그렇지 않습니다.
예 2.15. SSN 단순 유형 설명
<simpleType name="SSN"> <restriction base="xsd:string"> <pattern value="\d{3}-\d{2}-\d{4}"/> </restriction> </simpleType>