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
posted @ 2017-09-05 15:44  MartinDing  阅读(324)  评论(0编辑  收藏  举报