XSD 日期及时间数据类型(Date and Time Data Types)
日期数据类型(Date Data Type)
日期数据类型用于定义日期。
日期使用此格式进行定义:"YYYY-MM-DD",其中:
- YYYY 表示年份
- MM 表示月份
- DD 表示天数
注释:所有的成分都是必需的!
下面是一个有关 schema 中日期声明的例子:
<xs:element name="start" type="xs:date"/>
文档中的元素看上去应该类似这样:
<start>2002-09-24</start>
时区
如需规定一个时区,您也可以通过在日期后加一个 "Z" 的方式,使用世界调整时间(UTC time)来输入一个日期 - 比如这样:
<start>2002-09-24Z</start>
或者也可以通过在日期后添加一个正的或负时间的方法,来规定以世界调整时间为准的偏移量 - 比如这样:
<start>2002-09-24-06:00</start>
或者:
<start>2002-09-24+06:00</start>
时间数据类型(Time Data Type)
时间数据类型用于定义时间。
时间使用下面的格式来定义:"hh:mm:ss",其中
注释:所有的成分都是必需的!
下面是一个有关 schema 中时间声明的例子:
<xs:element name="start" type="xs:time"/>
文档中的元素看上去应该类似这样:
<start>09:00:00</start>
或者类似这样:
<start>09:30:10.5</start>
时区
如需规定一个时区,您也可以通过在时间后加一个 "Z" 的方式,使用世界调整时间(UTC time)来输入一个时间 - 比如这样:
<start>09:30:10Z</start>
或者也可以通过在时间后添加一个正的或负时间的方法,来规定以世界调整时间为准的偏移量 - 比如这样:
<start>09:30:10-06:00</start>
或者:
<start>09:30:10+06:00</start>
日期时间数据类型(DateTime Data Type)
日期时间数据类型用于定义日期和时间。
日期时间使用下面的格式进行定义:"YYYY-MM-DDThh:mm:ss",其中:
- YYYY 表示年份
- MM 表示月份
- DD 表示日
- T 表示必需的时间部分的起始
- hh 表示小时
- mm 表示分钟
- ss 表示秒
注释:所有的成分都是必需的!
下面是一个有关 schema 中日期时间声明的例子:
<xs:element name="startdate" type="xs:dateTime"/>
文档中的元素看上去应该类似这样:
<startdate>2002-05-30T09:00:00</startdate>
或者类似这样:
<startdate>2002-05-30T09:30:10.5</startdate>
时区
如需规定一个时区,您也可以通过在日期时间后加一个 "Z" 的方式,使用世界调整时间(UTC time)来输入一个日期时间 - 比如这样:
<startdate>2002-05-30T09:30:10Z</startdate>
或者也可以通过在时间后添加一个正的或负时间的方法,来规定以世界调整时间为准的偏移量 - 比如这样:
<startdate>2002-05-30T09:30:10-06:00</startdate>
或者:
<startdate>2002-05-30T09:30:10+06:00</startdate>
持续时间数据类型(Duration Data Type)
持续时间数据类型用于规定时间间隔。
时间间隔使用下面的格式来规定:"PnYnMnDTnHnMnS",其中:
- P 表示周期(必需)
- nY 表示年数
- nM 表示月数
- nD 表示天数
- T 表示时间部分的起始 (如果您打算规定小时、分钟和秒,则此选项为必需)
- nH 表示小时数
- nM 表示分钟数
- nS 表示秒数
下面是一个有关 schema 中持续时间声明的例子:
<xs:element name="period" type="xs:duration"/>
文档中的元素看上去应该类似这样:
<period>P5Y</period>
上面的例子表示一个 5 年的周期。
或者类似这样:
<period>P5Y2M10D</period>
上面的例子表示一个 5 年、2 个月及 10 天的周期。
或者类似这样:
<period>P5Y2M10DT15H</period>
上面的例子表示一个 5 年、2 个月、10 天及 15 小时的周期。
或者类似这样:
<period>PT15H</period>
上面的例子表示一个 15 小时的周期。
负的持续时间
如需规定一个负的持续时间,请在 P 之前输入减号:
<period>-P10D</period>
上面的例子表示一个负 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
XSD 数值数据类型(Numeric Data Types)
十进制数据类型
十进制数据类型用于规定一个数值。
下面是一个关于某个 scheme 中十进制数声明的例子。
<xs:element name="prize" type="xs:decimal"/>
文档中的元素看上去应该类似这样:
<prize>999.50</prize>
或者类似这样:
<prize>+999.5450</prize>
或者类似这样:
<prize>-999.5230</prize>
或者类似这样:
<prize>0</prize>
或者类似这样:
<prize>14</prize>
注释:您可规定的十进制数字的最大位数是 18 位。
整数数据类型
整数数据类型用于规定无小数成分的数值。
下面是一个关于某个 scheme 中整数声明的例子。
<xs:element name="prize" type="xs:integer"/>
文档中的元素看上去应该类似这样:
<prize>999</prize>
或者类似这样:
<prize>+999</prize>
或者类似这样:
<prize>-999</prize>
或者类似这样:
<prize>0</prize>
数值数据类型
请注意,下面所有的数据类型均源自于十进制数据类型(除 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
XSD 杂项数据类型(Miscellaneous Data Types)
其他杂项数据类型包括逻辑、base64Binary、十六进制、浮点、双精度、anyURI、anyURI 以及 NOTATION。
逻辑数据类型(Boolean Data Type)
逻辑数据性用于规定 true 或 false 值。
下面是一个关于某个 scheme 中逻辑声明的例子:
<xs:attribute name="disabled" type="xs:boolean"/>
文档中的元素看上去应该类似这样:
<prize disabled="true">999</prize>
注释:合法的布尔值是 true、false、1(表示 true) 以及 0(表示 false)。
二进制数据类型(Binary Data Types)
二进制数据类型用于表达二进制形式的数据。
我们可使用两种二进制数据类型:
- base64Binary (Base64 编码的二进制数据)
- hexBinary (十六进制编码的二进制数据)
下面是一个关于某个 scheme 中 hexBinary 声明的例子:
<xs:element name="blobsrc" type="xs:hexBinary"/>
AnyURI 数据类型(AnyURI Data Type)
anyURI 数据类型用于规定 URI。
下面是一个关于某个 scheme 中 anyURI 声明的例子:
<xs:attribute name="src" type="xs:anyURI"/>
文档中的元素看上去应该类似这样:
<pic src="http://www.w3school.com.cn/images/smiley.gif" />
注释:假如某个 URI 含有空格,请用 %20 替换它们。
杂项数据类型(Miscellaneous Data Types)
名称
描述
anyURI |
|
base64Binary |
|
boolean |
|
double |
|
float |
|
hexBinary |
|
NOTATION |
|
QName |
|
对杂项数据类型的限定(Restriction)
可与杂项数据类型一同使用的限定:
- enumeration (布尔数据类型无法使用此约束*)
- length (布尔数据类型无法使用此约束)
- maxLength (布尔数据类型无法使用此约束)
- minLength (布尔数据类型无法使用此约束)
- pattern
- whiteSpace
*译者注:约束指 constraint。
您已经学习了 XML Schema,下一步学习什么呢?
XML Schema 概要
本教程已经向您讲解了如何描述 XML 文档的结构。
您已经学习了如何使用 XML Schema 来定义 XML 文档的合法元素,就像 DTD。我们认为,XML Schema 作为 DTD 的替代者,会很快被应用于大多数 Web 应用程序中。
您还学习到,XML Schema 是很完善的。与 DTD 不同,XML Schema 支持数据类型(data type)和命名空间(namespace)。
请参阅我们的 XML Schema 参考手册,获得更多有关 XML Schema 的信息。
您已经学习了 XML Schema,下一步学习什么呢?
下一步应该学习 WSDL。
WSDL 是一种基于 schema 的语言,用来描述 Web service 以及如何如何访问它们。
WSDL 可描述 Web service,连同用于 Web service 的消息格式和协议细节。
如果您希望学习更多有关 WSDL 的知识,请访问我们的 WSDL 教程。
分享到:
相关推荐
一本关于XML Schema的打包教程,深入浅出,系统性强,并附有相应实例。
XML Schema教程 XML Schema是一种基于XML的文档类型定义(DTD)替代方案,它提供了更为强大且灵活的方式来描述XML文档的结构和数据类型。XML Schema定义(XSD)使用XML语法,使得XML文档的验证和处理更加方便。在这...
Schema 教程 Schema 教程
总的来说,Schema教程对于任何希望优化其网站SEO的开发者来说都是必不可少的。通过学习和实践,你将能够创建更智能、更具互动性的网页,同时提高搜索引擎对网页内容的理解,从而提高搜索排名和用户满意度。在Java...
【Schema 初级教程】 XML Schema 是一种基于 XML 的文档结构描述语言,它取代了传统的文档类型定义(DTD),提供了更为强大的功能和灵活性。在本教程中,我们将深入理解XML Schema的基本概念、特点以及如何在实际...
看到saml时候,里面的协议使用的xsd,就到网上找了一下,这是xsd的基本教程。
w3c XML Schema 中文教程CHM文档
总的来说,IBM的Schema教程旨在帮助学习者理解并掌握XML Schema的使用,从而能够更好地设计和验证XML文档的结构,提高数据质量和互操作性。通过学习XML Schema,开发者可以创建更严谨、更强大的XML应用程序,满足...
### XML Schema 教程知识点详解 #### 一、XML Schema 简介 XML Schema是一种用于描述XML文档结构的语言,被视为DTD(Document Type Definition)的替代品,具有更丰富的特性和更高的灵活性。XML Schema(也常称为...
在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML Schema。 (注,以上文档完全是我整理的难点要点的笔记!)
XML_SCHEMA教程详解 XML Schema,简称XSD,是W3C(World Wide Web Consortium)推出的一种用于定义XML文档结构和数据类型的规范。它提供了一种形式化的机制来描述XML文档的合法结构和内容,从而确保XML文档的准确性...
在此教程中,你将学习如何在应用程序中读取和创建 XML Schema 语言,XML Schema 为何比 DTD 更加强大,以及如何在您的应用程序中使用 XML Schema。 什么是 XML Schema? XML Schema 的作用是定义 XML 文档的合法构建...
压缩包里详细介绍了如何利用XML Spy这个软件新建一个XML Schema文档,内容非常充实,在网上找了很久自己整理好的,只要按照文档的步骤就可以很快学会如何使用XML Spy了,非常适合初次接触XML知识和XML Spy这个软件的...
### JSON-Schema定义规范 #### 前言 在现代软件开发中,数据交换与处理是必不可少的一部分。随着Web服务的普及以及API的发展,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简单易读且...
**Schema 中文教程** Schema是XML的一个重要组成部分,它用于定义和验证XML文档的结构和数据类型。在XML的世界里,DTD(Document Type Definition)曾是主要的结构约束工具,但随着XML应用的复杂性增加,Schema...