java xml约束_xml约束 - tbwshc - BlogJava

PCDATA 的意思是已经解析的字符数据,文本中的标签会被当作标记来处理,而实体会被展开。

用book.dtd约束book.xml,如果在book.xml的书标签下添加出版日期,会报错,因为文档格式已经固定。

注意:DTD文件应使用utf-8保存或者encoding="gb2312",否则会报错。引用DTD约束xml文件使用DOCTYPE声明语句来指明它所遵循的DTD文件,声明语句有两种形式

(1)当引用的文件在本地时 ,采用如下方式:

例如:

(2)当引用的文件是一个公共的文件时 ,采用如下方式:

称" "DTD文件的URL">

例如:/p>

"http://struts.apache.org/dtds/struts-config_1_3.dtd">

struts2的DTD文件,一般做框架都会用到DTDDTD约束语法细节元素定义

属性定义

实体定义元素定义在DTD文件中使用element声明一个xml元素,语法格式所示:

(1)元素类型可以是元素内容或者类型

如为元素内容:则需要使用()括起来,如

(2)如为元素类型,则直接书写 ,DTD规范定义如下几种类型:

EMPTY:用于定义空元素,例如

ANY:表示元素内容为任意类型

-----------------------------------------------------元素内容可以使用如下方式,描述内容的组成关系用逗号分隔,表示内容的出现顺序必须与声明时一致

用逗号分隔,表示内容的出现顺序必须与声明时一致。

用|分隔,表示任选其一,即多个只能出现一个

在元素内容中也可以使用+,*,?等符号表示元素出现的次数:

+:一次或多次(书+)

0:0次或一次(书?)

*:0次或多次(书*)

什么都不写 (书)只出现一次

也可以使用原括号()批量设置,例

属性定义xml文档的标签性需要通过ATTLIST为其设置属性

语法格式:

属性名1 属性值类型 设置说明

属性名2 属性值类型 设置说明

......

>

属性声明举例

书名 CDATA #REQUIRED

售价 CDATA #IMPLED

>

对应xml文件:

...图书>

...图书>

设置说明:

#REQUIRED 必须设置该属性

#IMPLED 可以设置也可以不设置

#FIXED:说明该属性的值固定为一个值

直接使用默认值:在xml中可以设置该值也可以不设置该属性值。如果没设置则使用默认值

举例:

书名 CDATA #REQUIRED

售价 CDATA #IMPLED

类别 CDATA #FIXED "文学"

评价 CDATA "好"

>

-----------------------------------------------CDATA表示属性值为普通文本字符串

ENUMERATED(枚举)

ID,表示设置值为一个唯一值,ID属性的值只能由字母,下划线开始,不能出现空白字符

ENTITY(实体)实体定义实体用于为一段内容创建一个别名,以后在xml文档中就可以使用别名引用这段内容

在DTD定义一个实体,一条语句用于定义一个实体

实体可分为两种类型:引用实体个参数实体

(1)引用实体主要在xml文档中被应用

语法格式:

: 直接转变成实体内容

引用方式:

&实体名称;

举例

.....

&name;

(2)参数实体被DTD文件自身使用

语法格式:

&实体名称;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值