字符串数据类型可包含字符、换行、回车以及制表符
1.规格化字符串数据类型(NormalizedString Data Type)
xs:normalizeString
规格化字符串数据类型源自于字符串数据类型。
规格化字符串数据类型同样可包含字符,但是 XML 处理器会移除折行,回车以及制表符。
<xs:element name="name1" type="xs:normalizeString"/>
2.Token数据类型
Token 数据类型同样源自于字符串数据类型。
Token 数据类型同样可包含字符,但是 XML 处理器会移除换行符、回车、制表符、开头和结尾的空格以及(连续的)空格。
这个比较常用
字符串数据类型表
名称 | 描述 |
---|---|
ENTITIES | |
ENTITY | |
ID | 在 XML 中提交 ID 属性的字符串 (仅与 schema 属性一同使用) |
IDREF | 在 XML 中提交 IDREF 属性的字符串(仅与 schema 属性一同使用) |
IDREFS language | 包含合法的语言 id 的字符串 |
Name | 包含合法 XML 名称的字符串 |
NCName | |
NMTOKEN | 在 XML 中提交 NMTOKEN 属性的字符串 (仅与 schema 属性一同使用) |
NMTOKENS | |
normalizedString | 不包含换行符、回车或制表符的字符串 |
QName | |
string | 字符串 |
token | 不包含换行符、回车或制表符、开头或结尾空格或者多个连续空格的字符串 |
对字符串数据类型的限定(Restriction)
可与字符串数据类型一同使用的限定:
- enumeration
- length
- maxLength
- minLength
- pattern (NMTOKENS、IDREFS 以及 - ENTITIES 无法使用此约束)
- whiteSpace
1.xs:date
<xs:element name="start" type="xs:date"/>
您也可以通过在日期后加一个 "Z" 的方式添加时区,使用世界调整时间(UTC time)来输入一个日期
或者 <start>2002-09-24+/-06:00</start> 来弄偏差 时区
2.xs:time
时间使用下面的格式来定义:"hh:mm:ss",其中
hh 表示小时 mm 表示分钟 ss 表示秒
都是必须的 <start>09:00:00</start>
时区 <start>09:30:10Z</start> 或者 <start>09:30:10-/+06:00</start>
3. xs:dateTime
日期时间使用下面的格式进行定义:"YYYY-MM-DDThh:mm:ss",其中
- YYYY 表示年份
- MM 表示月份
- DD 表示日
- T 表示必需的时间部分的起始
- hh 表示小时
- mm 表示分钟
- ss 表示秒
所有都是必须的 <xs:element name="startdate" type="xs:dateTime"/>
<startdate>2002-05-30T09:00:00</startdate>
4.持续时间数据类型
时间间隔使用下面的格式来规定:"PnYnMnDTnHnMnS",其中:
- P 表示周期(必需)
- nY 表示年数
- nM 表示月数
- nD 表示天数
- T 表示时间部分的起始 (如果您打算规定小时、分钟和秒, 则此选项为必需)
- nH 表示小时数
- nM 表示分钟数
- nS 表示秒数
<xs:element name="period" type="xs:duration"/>
<period>P5Y</period> //5年 <period>P5Y2M10D</period> // 5年2月10天的周期 负数的周期在前面加个负号(-)
日期和时间数据类型
名称 | 描述 |
---|---|
date | 定义一个日期值 |
dateTime | 定义一个日期和时间值 |
duration | 定义一个时间间隔 |
gDay | 定义日期的一个部分 - 天 (DD) |
gMonth | 定义日期的一个部分 - 月 (MM) |
gMonthDay | 定义日期的一个部分 - 月和天 (MM-DD) |
gYear | 定义日期的一个部分 - 年 (YYYY) |
gYearMonth | 定义日期的一个部分 - 年和月 (YYYY-MM) |
time | 定义一个时间值 |
对日期数据类型的限定(Restriction)
可与日期数据类型一同使用的限定:
- enumeration
- maxExclusive
- maxInclusive
- minExclusive
- minInclusive
- pattern
- whiteSpace
5.XSD 数值数据类型
xs:decimal xs:integer
数值数据类型
请注意,下面所有的数据类型均源自于十进制数据类型(除 decimal 本身以外)!
名字 | 数 |
---|---|
byte | 有正负的 8 位整数 |
decimal | 十进制数 |
int | 有正负的 32 位整数 |
integer | 整数值 |
long | 有正负的 64 位整数 |
negativeInteger | 仅包含负值的整数 ( .., -2, -1.) |
nonNegativeInteger | 仅包含非负值的整数 (0, 1, 2, ..) |
nonPositiveInteger | 仅包含非正值的整数 (.., -2, -1, 0) |
positiveInteger | 仅包含正值的整数 (1, 2, ..) |
short | 有正负的 16 位整数 |
unsignedLong | 无正负的 64 位整数 |
unsignedInt | 无正负的 32 位整数 |
unsignedShort | 无正负的 16 位整数 |
unsignedByte | 无正负的 8 位整数 |
对数值数据类型的限定(Restriction)
可与数值数据类型一同使用的限定:
- enumeration
- fractionDigits
- maxExclusive
- maxInclusive
- minExclusive
- minInclusive
- pattern
- totalDigits
- whiteSpace