7.【xml schema】数据类型

字符串数据类型可包含字符、换行、回车以及制表符
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

转载于:https://www.cnblogs.com/martinding/p/7478972.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值