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
restrictionelement. “기본 유형 지정” 을 참조하십시오. -
기본 유형에 배치된 제한을 정의하는 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>
<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>
<simpleType name="SSN">
<restriction base="xsd:string">
<pattern value="\d{3}-\d{2}-\d{4}"/>
</restriction>
</simpleType>