XSD 限定 / Facets
- Previous Page XSD Attribute
- Next Page XSD Element
限定(restriction)用于为 XML 元素或者属性定义可接受的值。对 XML 元素的限定被称为 facet。
对值的限定
下面的例子定义了带有一个限定且名为 "age" 的元素。age 的值不能低于 0 或者高于 120:
<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 元素的内容限制为一组可接受的值,我们要使用枚举约束(enumeration constraint)。
下面的例子定义了带有一个限定的名为 "car" 的元素。可接受的值只有:Audi, Golf, 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" 可被其他元素使用,因为它不是 "car" 元素的组成部分。
对一系列值的限定
如需把 XML 元素的内容限制定义为一系列可使用的数字或字母,我们要使用模式约束(pattern constraint)。
下面的例子定义了带有一个限定的名为 "letter" 的元素。可接受的值只有小写字母 a - z 其中的一个:
<xs:element name="letter"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[a-z]"/> </xs:restriction> </xs:simpleType> </xs:element>
下一个例子定义了带有一个限定的名为 "initials" 的元素。可接受的值是大写字母 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>
下一个例子也定义了带有一个限定的名为 "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>
tse tasuwa tsa kifanin dake "choice" tsa. kalmomi dake a samu amfani da wajen tsa kowane kalmomi na x, y ko z:
<xs:element name="choice"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[xyz]"/> </xs:restriction> </xs:simpleType> </xs:element>
tse tasuwa tsa kifanin dake "prodid" tsa. kalmomi dake a samu amfani da wajen tsa arba'in kalmomi na 5 dake yi kiyayewa da kowane kalmomi na 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>
kifanin kiyayewa na dukkanin kalmomi na wajen tsa:
tse tasuwa tsa kifanin dake "letter" tsa. kalmomi dake a samu amfani da wajen tsa a z na zero ko kalmomi na abin da yake kiyayewa na a z:
<xs:element name="letter"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="([a-z])*"/> </xs:restriction> </xs:simpleType> </xs:element>
tse tasuwa tsa kifanin dake "letter" tsa. kalmomi dake a samu amfani da wajen tsa dukkanin kalmomi ko kalmomi na abin da yake kiyayewa na wuce kalmomi dake yi kiyayewa na a yi kiyayewa da A yi kiyayewa. Tsa misali, "sToP" za gana da wannan harsa, amma "Stop", "STOP" ko "stop" ba gana ba:
<xs:element name="letter"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="([a-z][A-Z])+"/> </xs:restriction> </xs:simpleType> </xs:element>
tse tasuwa tsa kifanin dake "gender" tsa. kalmomi dake a samu amfani da wajen tsa "male" ko "female":
<xs:element name="gender"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="male|female"/> </xs:restriction> </xs:simpleType> </xs:element>
tse tasuwa tsa kifanin dake "password" tsa. kalmomi dake a samu amfani da wajen tsa 8 kalmomi kuma kalmomi na a yi kiyayewa da a yi kiyayewa da a yi kiyayewa na 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>
kifanin kiyayewa kalmomi wajen tsa:
doniyar donin kiyayewa kalmomi wajen tsa "whiteSpace" kifanin kuma an samu amfani da kifanin "whiteSpace":
تسايتو تامو كاifanin dake "address" tsa. kifanin "whiteSpace" tsa "preserve" na, tana tsa kifanin XML ba ba rama karfe kawar da kalmomi wajen waje:
<xs:element name="address"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> </xs:restriction> </xs:simpleType> </xs:element>
tariya ce kuma tafiya tukwanci kananananin na "address". whiteSpace tafiya a ke kama "replace", waɗanda haka XML tafiyarwaran za a kai karo kulli akwanci (na tsaki, kuma na kaiyaki, akwanci ko tabi, kuma akwanci na tabi a cikin akwanci ko ayyuka):
<xs:element name="address"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="replace"/> </xs:restriction> </xs:simpleType> </xs:element>
tariya ce kuma tafiya tukwanci kananananin na "address". whiteSpace tafiya a ke kama "collapse", waɗanda haka XML tafiyarwaran za a kai karo kulli akwanci (na tsaki, kuma na kaiyaki, akwanci ko tabi, kuma akwanci na tabi a cikin akwanci ko ayyuka, akwanci na kaiyaki ko ayyuka a cikin akwanci ko ayyuka za a kai karo, kuma akwanci na kaiyaki za a kai karo a cikin akwanci ko ayyuka):
<xs:element name="address"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:element>
tafiya na length
don tafiya tukwanci na kananananin na element, na kama na length, maxLength ko minLength tafiya.
tariya ce kuma tafiya tukwanci kananananin na "password". wajibai a kai karo ko 8 kananananin tukwanci:
<xs:element name="password"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:length value="8"/> </xs:restriction> </xs:simpleType> </xs:element>
tariya ce kuma tafiya tukwanci kananananin na "password". wajibai a kai karo ko 5 kananananin tukwanci, kuma kai karo ko 8 kananananin tukwanci:
<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>
tafiya na ayyuka
tafiya | baɗaɗa |
---|---|
enumeration | tafiya kundivici na wajibai a kai karo. |
fractionDigits | tafiya kananananin yauyi na tukwanci na kaiyaki. wajibai a kai karo ko 0 ko fi kai. |
length | tafiya tukwanci ko tukwanci na yauyi ko kananananin ayyuka. wajibai a kai karo ko 0 ko fi kai. |
maxExclusive | tafiya taɗa na yauyi, wajibai a kai karo yauyi na ayyuka. |
maxInclusive | Define the upper limit of the number. The allowed values must be less than or equal to this value. |
maxLength | Define the maximum number of allowed characters or list items. It must be greater than or equal to 0. |
minExclusive | Define the lower limit of the number. The allowed values must be greater than this value. |
minInclusive | Define the lower limit of the number. The allowed values must be greater than or equal to this value. |
minLength | Define the minimum number of allowed characters or list items. It must be greater than or equal to 0. |
pattern | Define the exact sequence of acceptable characters. |
totalDigits | Define the exact number of decimal places allowed for Arabic numerals. It must be greater than 0. |
whiteSpace | Define the way to handle the treatment of whitespace characters (new lines, carriage returns, spaces, and tab characters). |
- Previous Page XSD Attribute
- Next Page XSD Element