标签:style http color io os ar 使用 sp 数据
1
|
< xs:element
name = "xxx"
type = "yyy" /> |
在下面的例子中,缺省值是 “red”:
1
|
< xs:element
name = "color"
type = "xs:string"
default = "red" /> |
在下面例子中,固定值是”yellow”:
1
|
< xs:element
name = "color"
type = "xs:string"
fixed = "red" /> |
前面说过,简易类型是不能拥有属性的,但属性本身是通过简易类型来定义的,定义属性的语法为:
1
|
< xs:attribute
name = "xxx"
type = "yyy" /> |
类型的选择和前面定义元素类似,看一个示例:
这是带有属性的XML元素:
1
|
< lastname
lang = "EN" >Smith</ lastname > |
这是它对应的的属性定义:
1
|
< xs:attribute
name = "lang"
type = "xs:string" /> |
和定义元素类似,在定义属性的过程中,也可以使用fixed和default参数设置固定值和默认值。
在缺省的情况下,属性是可选的,如果规定属性为必选,则可以使用”use”属性:
1
|
< xs:attribute
name = "lang"
type = "xs:string"
use = "required" /> |
1
2
3
4
5
6
7
8
|
< 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 > |
其中通过一对<xs:simpleType>来确实为简单类型,base中的值来规定元素的属性。
我们可以通过使用关键词enumeration,来来限定一个元素只能在几个值中选择,这种方法叫做枚举约束例如下面的car元素,只能选择carA,carB,carC三种。
1
2
3
4
5
6
7
8
9
10
11
|
< xs:element
name = "car" > < xs:simpleType > < xs:restriction
base = "xs:string" > < xs:enumeration
value = "carA" /> < xs:enumeration
value = "carB" /> < xs:enumeration
value = "carC" /> </ xs:restriction > </ xs:simpleType > </ xs:element > |
XML还提供了一种建立对象的描述方法,上例也可以写成如下形式:
1
2
3
4
5
6
7
8
9
|
< xs:element
name = "car"
type = "carType" /> < xs:simpleType
name = "carType" > < xs:restriction
base = "xs:string" > < xs:enumeration
value = "carA" /> < xs:enumeration
value = "carB" /> < xs:enumeration
value = "carC" /> </ xs:restriction > </ xs:simpleType > |
在进行XML约束的时候,也可以通过类似正则表达的方法对值进行约束,这种方法叫做模式约束,关键词未pattern比如下一个例子定义了带有一个限定的名为 “initials” 的元素。可接受的值是大写A-Z或小写字母 a – z 其中的三个:
1
2
3
4
5
6
7
8
9
|
< 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 > |
同时还可以利用一些运算符对值进行更加灵活的限定:
*运算符,表示该模式可以出现0到多次:如value=”([a-z]*)”,表示任意多个小写字符。
+运算符,表示该模式可以出现1到多次:如value=”([0-9])+”,表示至少一位的全数字串。
|运算符,表示选择,类似于enumeration:如value=”male|female”,表示可接受值在male和female之间。
{number},表示出现指定number那么多次:如value=”([a-zA-Z0-9]){8}”,表示一个8位的串,串里面的内容只能是字母和数字。
如需规定空白字符的限定和处理方式,我们用whiteSpace限定,下面的例子演示将whiteSpace设置为preserve,这样意味着处理器不会移除任何空白字符。
1
2
3
4
5
6
7
8
9
|
< xs:element
name = "address" > < xs:simpleType > < xs:restriction
base = "xs:string" > < xs:whiteSpace
value = "preserve" /> </ xs:restriction > </ xs:simpleType > </ xs:element > |
其他可选的方式:
value=”replace”,意味着XML处理器将移除所有空白字符(换行、回车、空格以及制表符)
value=”collapse”,意味着这意味着XML会将换行、回车、空格以及制表符会被替换为空格,并将开头和结尾的空格会被移除,而多个连续的空格会被缩减为一个单一的空格。
如果需要限制元素中的长度,则可以使用Length,maxLentgh,minLength来限定。如下例将password长度限定在5-8字符内:
1
2
3
4
5
6
7
8
9
10
|
< 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 > |
总结整理自:http://www.w3school.com.cn/schema/schema_simple.asp
仅供学习交流
标签:style http color io os ar 使用 sp 数据
原文地址:http://blog.csdn.net/u014237185/article/details/40487497