XML 스키마 자격/패싯
XSD Restriction / Facets
Restriction은 XML 요소 또는 속성에 허용되는 값을 정의하는 데 사용됩니다. XML 요소에 대한 제한사항을 패싯이라고 합니다.
값의 한정
다음 예에서는 한정을 사용하여 "age"라는 요소를 정의합니다. age 값은 0보다 작거나 120보다 클 수 없습니다.
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:minInclusive value="0"/>
<xs:maxInclusive value="120"/>
</xs:제한>
</xs:simpleType>
</xs:element>
값 집합으로 제한
XML 요소의 콘텐츠를 허용 가능한 값 집합으로 제한하려면 열거 제약 조건(열거 제약 조건)을 사용합니다. ).
다음 예에서는 한정자가 있는 "car"라는 요소를 정의합니다. 허용되는 값은 다음과 같습니다: Audi, Golf, BMW:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:열거 값="Audi"/>
<xs:열거값="골프"/>
<xs:열거값="BMW"/>
</xs:제한>
</xs:simpleType>
</xs:element>
위의 예는 다음과 같이 작성할 수도 있습니다.
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:열거 값="Audi"/>
<xs:열거값="골프"/>
<xs:열거값="BMW"/>
</xs:restriction>
</xs:simpleType>
참고: 이 경우 "carType" 유형은 "car" 요소의 일부가 아니기 때문에 다른 요소에서 사용할 수 있습니다.
일련의 값에 대한 제한
XML 요소의 내용 제한을 일련의 사용 가능한 숫자나 문자로 정의해야 하는 경우 패턴 제약 조건을 사용해야 합니다.
다음 예에서는 한정자가 있는 "letter"라는 요소를 정의합니다. 허용되는 값은 소문자 a - z 중 하나만입니다:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:패턴 값="[a-z]"/>
</xs:제한>
</xs:simpleType>
</xs:element>
다음 예에서는 한정자를 사용하여 "initials"라는 요소를 정의합니다. 허용되는 값은 대문자 A - Z 중 3개입니다:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:패턴 값="[A-Z][A-Z][A-Z]"/>
</xs:제한>
</xs:simpleType>
</xs:element>
다음 예에서는 한정자를 사용하여 "initials"라는 요소도 정의합니다. 허용되는 값은 대문자 또는 소문자 a - z와 그 중 3개입니다:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:패턴 값="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:제한>
</xs:simpleType>
</xs:element>
다음 예에서는 제한이 있는 "choice"라는 요소를 정의합니다. 허용되는 값은 문자 x, y 또는 z 중 하나입니다.
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:패턴 값="[xyz]"/>
</xs:제한>
</xs:단순 유형>
</xs:요소>
다음 예에서는 한정자가 있는 "prodid"라는 요소를 정의합니다. 허용되는 값은 5개의 일련의 아라비아 숫자이며 각 숫자는 0-9 범위에 있습니다.
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:패턴 값="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:제한>
</xs:simpleType>
</xs:element>
값 범위에 대한 기타 제한
다음 예에서는 제한이 있는 "letter"라는 요소를 정의합니다. 허용되는 값은 a - z의 0개 이상의 문자입니다:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:패턴 값="([a-z])*"/>
</xs:제한>
</xs:simpleType>
</xs:element>
다음 예에서는 한정자를 사용하여 "letter"라는 요소를 정의합니다. 허용되는 값은 하나 이상의 문자 쌍이며, 각 문자는 소문자와 대문자로 구성됩니다. 예를 들어 "sToP"는 이 모드에서 유효성 검사를 통과하지만 "Stop", "STOP" 또는 "stop"은 유효성 검사를 통과하지 못합니다.
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:패턴 값="([a-z][A-Z])+"/>
</xs:제한>
</xs:simpleType>
</xs:element>
다음 예에서는 한정자가 있는 "gender"라는 요소를 정의합니다. 허용되는 값은 남성 또는 여성입니다:
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="남성|여성"/>
</xs:제한>
</xs:simpleType>
</xs:element>
다음 예에서는 한정자가 있는 "password"라는 요소를 정의합니다. 허용되는 값은 8자 한 줄이며 대문자 또는 소문자 a~z 또는 숫자 0~9여야 합니다.
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:제한>
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string"> <xs:whiteSpace value="보존"/>
</xs:제한></xs:simpleType>
</xs:element>이 예에서는 한정자를 사용하여 "address"라는 요소도 정의합니다. 공백 제한은 "replace"로 설정됩니다. 이는 XML 프로세서가 모든 공백 문자(줄 바꿈, 캐리지 리턴, 공백 및 탭)를 제거함을 의미합니다.
<xs:element name="address"> <xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:요소>
이 예에서는 한정자가 있는 "address"라는 요소도 정의합니다. 공백 제한은 "collapse"로 설정됩니다. 이는 XML 프로세서가 모든 공백 문자(개행, 캐리지 리턴, 공백 및 탭이 공백으로 대체되고, 선행 및 후행 공백이 제거되고, 여러 연속 공백이 삭제됨)를 의미합니다. 공백으로 줄입니다):
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:제한>
</xs:simpleType>
</xs:element>
길이 제한
요소의 값 길이를 제한하려면 length, maxLength 및 minLength 제한을 사용해야 합니다.
이 예는 한정자가 있는 "password"라는 요소를 정의합니다. 값은 정확히 8자여야 합니다.
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:길이 값="8"/>
</xs:제한>
</xs:simpleType>
</xs:element>
이 예에서는 한정자가 있는 "password"라는 요소도 정의합니다. 최소값은 5자이고 최대값은 8자입니다.
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:제한>
</xs:단순 유형>
</xs:요소>
데이터 유형 한정
Qualification | Description |
---|---|
enumeration | 허용되는 값 목록 정의 |
fractionDigits | 허용되는 최대 소수 자릿수를 정의합니다. 0보다 크거나 같아야 합니다. |
length | 은 허용되는 문자 또는 목록 항목의 정확한 수를 정의합니다. 0보다 크거나 같아야 합니다. |
maxExclusive | 은 값의 상한을 정의합니다. 허용되는 값은 이 값보다 작아야 합니다. |
maxInclusive | 은 값의 상한을 정의합니다. 허용되는 값은 이 값보다 작거나 같아야 합니다. |
maxLength | 허용되는 최대 문자 수 또는 목록 항목 수를 정의합니다. 0보다 크거나 같아야 합니다. |
minExclusive | 값의 하한을 정의합니다. 허용되는 값은 이 값보다 커야 합니다. |
minInclusive | 은 값의 하한을 정의합니다. 허용되는 값은 이 값보다 크거나 같아야 합니다. |
minLength | 허용되는 최소 문자 수 또는 목록 항목 수를 정의합니다. 0보다 크거나 같아야 합니다. |
pattern | 은 허용되는 문자의 정확한 순서를 정의합니다. |
totalDigits | 은 아라비아 숫자에 허용되는 정확한 자릿수를 정의합니다. 0보다 커야 합니다. |
whiteSpace | 공백 문자(줄 바꿈, 캐리지 리턴, 공백 및 탭)를 처리하는 방법을 정의합니다. |