최신 웹 개발 튜토리얼
 

XML스키마 제한 요소


<전체 XML 스키마 참조

정의 및 사용

제한 소자는 형 simpleType, simpleContent를하거나 complexContent 정의에 대한 제한을 정의한다.

요소 정보

  • Parent elements: 형 simpleType, simpleContent를, complexContent

통사론

<restriction
id=ID
base=QName
any attributes
>

Content for simpleType:
(annotation?,(simpleType?,(minExclusive|minInclusive|
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))

Content for simpleContent:
(annotation?,(simpleType?,(minExclusive |minInclusive|
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?,
((attribute|attributeGroup)*,anyAttribute?))

Content for complexContent:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?))

</restriction>

(α-기호 요소가 제한 요소 내에 0 또는 1 시간이 발생할 수 있음을 선언)

속성 기술
id 선택 과목. 요소의 고유 ID를 지정
base

필요합니다. 내장 데이터 타입 형 simpleType 요소 또는 complexType에 엘리먼트의 이름이 스키마 또는 다른 스키마에 정의 지정

any attributes 선택 과목. 비 스키마 네임 스페이스와 다른 속성을 지정합니다

예 1

이 예제라는 요소 정의 "age" 제한과 함께합니다. 나이의 값은 100보다 0보다 작거나 클 수 없습니다 :

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

예 2

이 예는 또한라는 요소 정의 "initials" . "initials" 요소는 제한 간단한 형식입니다. 유일하게 허용되는 값은 A에서 Z 소문자 나 대문자의 세 가지이다 :

<xs:element name="initials">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

예 3

이 예제라는 요소 정의 "password" . "password" 요소는 제한 간단한 형식입니다. 값은 5 자 및 최대 8 자 이상이어야합니다 :

<xs:element name="password">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="8"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

예 4

이 예는 제한을 사용하여 복합 유형 정의를 보여줍니다. 복합 형 "Norwegian_customer" 일반 고객 복합 유형에서 파생와 국가 요소에 고정되어있다 "Norway" :

<xs:complexType name="customer">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="Norwegian_customer">
  <xs:complexContent>
    <xs:restriction base="customer">
      <xs:sequence>
        <xs:element name="firstname" type="xs:string"/>
        <xs:element name="lastname" type="xs:string"/>
        <xs:element name="country" type="xs:string" fixed="Norway"/>
      </xs:sequence>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>

<전체 XML 스키마 참조