Schema的数据扩展类型
2006-04-26 11:11 Jeff 阅读(639) 评论(0) 编辑 收藏 举报
Schema中共有23种扩展数据类型,包括bin.base64、bin.hex、boolean、char、date、dateTime、dateTime.tz、fixed.14.4、float、int、number、time、time.tz、i1、i2、i4、r4、r8、ui1、ui2、ui4、uri、uuid,已经可以覆盖相当广泛的应用:
来看个实际的例子:
类 型 |
解 释 |
举 例 |
---|---|---|
boolean | 布尔型:0 或 1, 其中0代表false,1代表true | 0,1 |
char | 单字符 | “a”、“b” |
time | 时间类型,符合 ISO 8601格式, 无日期和时区部分。 | 08:16:18 |
date | 日期类型,符合ISO 8601格式且无时间部分. | 2000-06-01 |
dateTime | 日期类型,符合ISO 8601格式,带可选时间部分但无时区部分,秒可精确到纳秒级。 | 2000-06-01T20:08:18 |
fixed.14.4 | 数值类型,同“number”类似,但精度上小数点前不超过14位,小数点后不超过4位 | 14.1234 |
float | 实数类型,位数不受限制,可以包含符号位和小数位以及指数。取值范围从 1.7976931348623157E+308 至 2.2250738585072014E-308 | .314159265358979E+1 |
int | 数值类型, 可以包含符号位,但不含小数位和指数位 | 1, -10, 2566 |
number | 数值类型,位数不限,可以包含符号位和小数位以及指数。取值范围从 1.7976931348623157E+308 至 2.2250738585072014E-308 | 12, 3.1415, -1.24E-10 |
uri | 统一资源标识(URI)类型。 | http://www.ics. uci.edu /pub/ietf/uri/ |
元素和属性的数据类型可以使用元素datatype来定义,这个元素是Schema中一个重要元素,也是Schema的一大特色。datatype的语法表达如下:
<datatype dt:type="datatype">
除此以外,还有另一种更直接的方法,是在元素ElementType和AttributeType之中利用dt:type属性。下面分别给出具体的示例:datatype | dt:type | |
---|---|---|
ElementType | <ElementType name="a"> <datatype dt:type=" float"> </ElementType> |
<ElementType name="a" dt:type="float"/> |
AttributeType | <AttributeType name ="b"/> <datatype dt:type="float"/></AttributeType> <ElementType name="a"> <attribute type="b"/> </ElementType> |
<AttributeType name="b" dt:type="float"/> <ElementType name="a"> <attribute type="b"/> </ElementType> |
<AttributeType name="更新时间">
<datatype dt:type="dateTime"/>
</AttributeType>
<ElementType name="description"/>
<ElementType name="品牌" dt:type="string"/>
<ElementType name="价格" dt:type="int"/>
<ElementType name="是否全内置" dt:type="boolean"/>
<ElementType name="库存数量" dt:type="number"/>
<ElementType name="笔记本电脑" content="eltOnly">
<attribute type="更新时间" />
<element type="品牌" />
<element type="价格" />
<element type="是否全内置" />
<element type="库存数量" />
</ElementType>
<datatype dt:type="dateTime"/>
</AttributeType>
<ElementType name="description"/>
<ElementType name="品牌" dt:type="string"/>
<ElementType name="价格" dt:type="int"/>
<ElementType name="是否全内置" dt:type="boolean"/>
<ElementType name="库存数量" dt:type="number"/>
<ElementType name="笔记本电脑" content="eltOnly">
<attribute type="更新时间" />
<element type="品牌" />
<element type="价格" />
<element type="是否全内置" />
<element type="库存数量" />
</ElementType>