您的位置:首页 > 其它

xml约束之dtd约束和schema约束---3

2017-07-25 17:47 197 查看
一、xml约束的作用

规定xml可以出现的元素和元素可以使用的属性,以及他们出现的顺序,以防止程序员乱定义xml

二、约束分类

1、DTD约束:struts框架、hiebernate框架,会用到。注:一个xml中只能用一次

2、SCHEMA约束:tomcat、spring,会用到。注:一个xml中可用多次

三、在xml中引入dtd约束文件的语法

1、内部关联

<!DOCTYPE 根元素名 [dtd 语法]>   很少用

2、外部关联---系统关联

<!DOCTYPE 根元素名 SYSTEM "约束文件的位置">

3、外部关联---公共关联

<!DOCTYPE 根元素名 PUBLIC "约束文件的名称“ ”约束文件的位置“>

四、基本写法

1、<!Element 元素名称 数据类型|包含内容>

①、数据类型:
#PCDATA:普通文本 使用的时候一般用()引起来

②、包含内容:
该元素下可以出现那些元素,用()引起来

符号的含义:

*:出现任意次;?:出现1次或者0次;+:出现至少1次;

|:或者;():分组;,:限定标签出现的顺序

2、<!ATTLIST 元素名 属性名 属性类型 属性是否必须出现>

属性类型:
ID:唯一
CDATA:普通文本

属性是否必须出现
REQUIRED:必须出现
IMPLIED:可以不出现

注意:一个xml文档中只能添加一个DTD约束!

五、xml中引入schema约束

1、一个xml文档中可以添加多个schema约束,这个特性给我们的程序开发给于了极大的便利。

xml和schema的关联格式:
<根标签 xmlns="..." ...>
<根标签 xmlns:别名="..." ...>

名称空间:

关联约束文件

规定元素是来源于那个约束文件的

例如:

一个约束文件中规定:table(表格)  表格有属性 row和col;

还有一个约束文件规定:table(桌子) 桌子有属性 width和height。

2、在同一个xml中万一我把两个约束文件都导入了怎么办?

我们为了避免这种情况的发生,可以给其中的一个约束起个别名

使用的时候若是没有加别名那就代表是来自于没有别名的约束

table(表格) 给他起个别名  xmlns:a="..."

在案例中使用 a:table 代表的是表格

若在案例中直接使用 table 代表的是桌子

在一个xml文件中只能有一个不起别名

注意: schema约束本身也是xml文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: