Latest web development tutorials

XML 스키마 / 패싯을 정의

제한 (제한)을 허용 XML 요소를 정의하거나 속성 값을하는 데 사용됩니다. 정의하는 XML 요소는면이라고합니다.


값을 제한

다음 예제의 정의라는 이름의 "나이"인 요소를 정의합니다. 나이의 값은 120보다 0보다 작거나 클 수 없습니다 :

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


값 집합 정의

XML 요소의 내용이 허용 가능한 값들의 세트에 한정되어, 우리는 열거 제약 (열거 제약)를 사용한다.

다음 예는 규정 된 이름 "차"를 가진 요소를 정의합니다. 만 사용할 수있는 값은 다음과 같습니다 아우디, 골프, BMW :

<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

위의 예는 같이 쓸 수있다 :

<xs:element name="car" type="carType"/>

<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>

주 :이 "자동차"원소의 일부가 아니기 때문에,이 경우에 "carType"은 다른 요소들에 의해 사용될 수있다.


제한 값의 시리즈

숫자 나 사용할 수있는 문자의 시리즈로서 정의되는 XML 요소의 내용을 제한하기 위해 상기 모드 협착 (패턴 제약)를 사용하고 싶다.

다음의 예는 정의 된 소위 "문자"인 요소를 정의합니다. : Z 일 - 유일하게 사용할 수있는 값은 문자에게 소문자

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

다음 예는 정의 된 소위 "이니셜"인 요소를 정의합니다. 사용할 수있는 값은 대문자입니다 A - Z있는 그들 중 세 :

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

다음 예는 정의 된 소위 "이니셜"인 요소를 정의합니다. 사용할 수있는 값은 대문자 또는 소문자 문자 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>

다음 예제는 "허용 값이라는 제한된 선택을 가진 요소가있는 문자 X, Y 또는 z입니다 정의

<xs:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

다음 예제의 규정 된 이름 "prodid는"인 요소를 정의합니다. 사용할 수있는 값은 다섯 자리의 순서 및 0-9의 범위에있는 각 수 있습니다 :

<xs:element name="prodid">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


다른 정의 된 일련의 값

다음의 예는 정의 된 소위 "문자"인 요소를 정의합니다. 사용할 수있는 값은이다 - Z 0 개 이상의 문자 :

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z])*"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

다음의 예는 정의 된 소위 "문자"인 요소를 정의합니다. 사용할 수있는 값은 문자 중 하나 이상의 쌍이며, 각 쌍은 대문자 다음에 소문자로 구성되어 있습니다. 예를 들어, "정지"이 모델의 유효성을 검사합니다,하지만, "STOP"을 "정지"또는 확인할 수없는 "중지"

<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="([a-z][A-Z])+"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

다음 예는 정의라는 "성"을 가진 요소를 정의합니다. 사용할 수있는 값은 남성 또는 여성입니다 :

<xs:element name="gender">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="male|female"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

다음 예제의 규정 된 이름 "암호"를 가진 요소를 정의합니다. 사용할 수있는 값은 문자의 행,이 문자를 대문자 또는 소문자 문자 a해야 8 문자로 구성되어 있습니다 - Z 또는 것 디지털 0--9 :

<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z0-9]{8}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


빈 문자 정의

공백 문자 (공백 문자) 방식을 지정하려면, 우리는 공백을 제한 사용해야합니다.

다음의 예는 정의로 명명 된 "주소"요소를 정의합니다. 이 공백 제한은 XML 프로세서는 공백 문자를 제거하지 않습니다 즉, "유지"로 설정됩니다 :

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

이 예는 정의로 명명 된 "주소"요소를 정의합니다. 이 공백 제한은 XML 프로세서가 모든 공백 문자를 제거 할 것 (줄 바꿈, 캐리지 리턴, 공백 및 탭)을 의미하는 "대체"로 설정됩니다 :

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

이 예는 정의로 명명 된 "주소"요소를 정의합니다. 이 공백 제한은 XML 프로세서가 모든 공백 문자 (줄 바꿈, 캐리지 리턴, 공백을 제거하며, 탭이 선도하고 제거됩니다 후행 공백 공백으로 대체되고 있음을 의미한다 "붕괴"로 설정 연속 된 여러 공백)을 하나의 공간으로 감소된다 :

<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>


정의 된 길이의

소자 값의 길이를 제한하기 위해, 우리는 길이를 사용해야 최대 길이와 MINLENGTH 제한.

이 경우에는 정의라는 이름의 "암호"와 요소 정의된다. 그 값은 정확히 8 자이어야합니다 :

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

이 예는 또한의 규정 된 이름 "암호"를 가진 요소를 정의합니다. 이 값은 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>


정의 데이터 형식

제한된 기술
열거 사용할 수있는 값의 목록을 정의
fractionDigits 그것은 소수 자릿수의 최대 허용 수를 정의합니다. 은 0보다 커야합니다.
길이 허용되는 문자 또는 목록 항목의 정확한 수를 정의합니다. 이는 0보다 크거나 동일해야한다.
maxExclusive 상한값을 정의한다. 허용 값은이 값보다 작아야합니다.
maxInclusive 상한값을 정의한다. 허용 된 값은이 값보다 작거나 같아야한다.
최대 길이 허용 된 문자 또는 목록 항목들의 최대 개수를 정의한다. 이는 0보다 크거나 동일해야한다.
minExclusive 하한치가 정의된다. 이 값은이 값보다 더 큰 허용되어야한다.
minInclusive 하한치가 정의된다. 이 값보다 크거나 같은 값을 허용한다.
MINLENGTH 자리스트 아이템의 수의 최소 수를 정의한다. 이는 0보다 크거나 동일해야한다.
무늬 허용되는 문자의 정확한 순서를 정의합니다.
totalDigits 그것은 허용 정밀 자리 아라비아 숫자를 정의합니다. 은 0보다 커야합니다.
공백 공백 문자 (줄 바꿈, 캐리지 리턴, 탭 및 공백)의 정의는 처리됩니다.