加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

【WebServices前传二部曲】上部_DTD参数实体和Schema数据类型

发布时间:2020-12-17 00:24:50 所属栏目:安全 来源:网络整理
导读:上部_DTD参数实体和Schema数据类型——圣思园张龙 ???编辑:玄玉 DTD参数实体 数据类型 实体引用 基本数据类型 为何要Schema 扩展数据类型 文档结构 数据类型的特性 DTD参数实体 该实体不在具体实例化文档中使用,而是在DTD文档内部被使用 比如我们定义这样

上部_DTD参数实体和Schema数据类型——圣思园张龙???编辑:玄玉


DTD参数实体 数据类型
实体引用 基本数据类型
为何要Schema 扩展数据类型
文档结构 数据类型的特性

DTD参数实体
该实体不在具体实例化文档中使用,而是在DTD文档内部被使用
比如我们定义这样的一个实体:<!ENTITY %地址 "街道,城市,邮编,国家">
然后可以在DTD内部通过"%地址;"来引用它:<!ELEMENT 联系(人名,电话,%地址;)>
这就是参数实体的概念

类型 普通实体 参数实体
使用场合 用在XML文档中 只用在DTD中元素和属性的声明中
声明
方式
内部 <!ENTITY 实体名 "文本内容"> <!ENTITY %实体名 "文本内容">
外部 <!ENTITY 实体名 SYSTEM "外部文件URL地址"> <!ENTITY %实体名 SYSTEM "外部文件URL地址">
引用方式 &实体名; %实体名;

?

?

实体引用
实际上XML已经内置了5个实体,也就是我们常说的实体引用
这是为了避免把字符数据和标签中需要用到的一些特殊符号相混淆,于是XML提供了实体引用

字符
实体引用
&
&amp;
>
&gt;
<
&lt;
&quot;
&apos;

?

?

为何要Schema
DTD的局限性
????1)DTD不遵守XML语法(写XML文档实例时用一种语法,写DTD时用另外一种语法)
????2)DTD数据类型有限(与数据库数据类型不一致)
????3)DTD不可扩展
Schema的新特性
????1)Schema基于XML语法
????2)Schema可以用能处理XML闻到那股的工具处理
????3)Schema大大扩充了数据类型,可以自定义数据类型
????4)Schema支持元素的继承——Object-Oriented
????5)Schema支持属性组

?

?

Schema的文档结构

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
		targetNamespace="http://mynamespace/mychema">
<!-- 放入实际内容 -->
</xs:schema>
1)<xs:schema:表示所有Schema文档使用schema作为其根元素
2)xmlns:xs:表示用于构造schema的元素和数据类型来自http://www.w3.org/2001/XMLSchema命名空间
3)targetNamespace:表示本schema定义的元素和数据类型属于http://mynamespace/mychema命名空间

?

?

Schema的数据类型
简单类型
????1、内置的数据类型(built-in data types)
????????1)基本的数据类型
????????2)扩展的数据类型
????2、用户自定义数据类型(通过simpleType定义)
复杂类型(通过complexType定义,在WebServices中经常会用到它,属于必用)

?

?

基本数据类型

基本数据类型 描述
string 表示字符串
boolean 布尔型
decimal 代表特定精度的数字
float 表示单精度32位浮点数
double 表示双精度64位浮点数
duration 表示持续时间
dateTime 代表特定的时间
time 代表特定的时间,但是是每天重复的
date 代表日期
hexBinary 表示十六进制数
anyURI 表示一个URI,用来定位文件
NOTATION 代表NOTATION类型

?

?

扩展数据类型

扩展数据类型 描述
ID 用于唯一标识元素
IDREF 参考ID类型的元素或属性
ENTITY 实体类型
NMTOKEN NMTOKEN类型
NMTOKENS NMTOKEN类型集
long 表示整型数,大小介于-9223372036854775808和9223372036854775807之间
int 表示整型数,大小介于-2147483648和2147483647之间
short 表示整型数,大小介于-32768和32767之间
byte 表示整型数,大小介于-128和127之间

?

?

数据类型的特性

数据类型的特性 描述
enumeration 在指定的数据集中选择,限定用户的选值
totalDigits 精确指定数字个数
fractionDigits 限定最大的小数位,用于控制精度(必须大于或等于零)
length 指定数据的长度,即精确指定允许的最大字符长度
maxLength 指定允许的最大字符长度
minLength 指定允许的最小字符长度
maxExclusive 指定数据的最大值(小于)
maxInclusive 指定数据的最大值(小于等于)
minExclusive 指定最小值(大于)
minInclusive 指定最小值(大于等于)
Pattern 指定数据的显示规范,即指定允许值的模式,类似正则表达式
whiteSpace 处理空白(保留:preserve,替换:replace,合并:collapse)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读