您的位置:首页 > 其它

XML-DTD

2012-12-15 10:28 134 查看
DTD( Document Type Definition)用于检验XML的

普通的XML文档,只能称为结构正确的XML

DTD的XML文档,是一种有效的结构正确的XML

DTD和XML相当于类和对象的关系。

定义方式

<!DOCTYPE 根元素[]> 内部定义

<!DOCTYPE 根元素 SYSTEM "dtd路径">外部

元素的定义:

注意类型前有空格

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE message [    <!--根元素 -->
<!ELEMENT message (author, content, tag)><!--子元素名称和顺序 -->
<!ELEMENT author (#PCDATA)><!--任何字符数据 -->
<!ELEMENT content ANY><!--包含任何DTD元素内容 -->
<!ELEMENT tag EMPTY><!--空元素 -->
]><!--结束标签 -->
<message>
<author>Linsage</author>
<content>dtd</content>
<tag/>
</message>


组合类型

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 人[    <!--根元素 -->

<!-- |表示或 -->
<!-- ?表示0到1次 -->
<!-- *表示0到n次 -->
<!-- +表示1到n次 -->
<!-- ,表示顺序 -->

<!ELEMENT 人 (性别,朋友+,爱好*,等级?)>
<!ELEMENT 性别 (男|女)>
<!ELEMENT 男 EMPTY>
<!ELEMENT 女 EMPTY>
<!ELEMENT 朋友 EMPTY>
<!ELEMENT 爱好 EMPTY>
<!ELEMENT 等级 EMPTY>
]><!--结束标签 -->

<人>
<性别><男/></性别>
<朋友></朋友>
<爱好></爱好>
<爱好></爱好>
</人>


属性的定义:

<!ATTLIST 元素名称 属性名称 类型 属性特别>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 家庭 [
<!--根元素 -->
<!ELEMENT 家庭 ANY>
<!ELEMENT 人 EMPTY>
<!-- #REQUIRED 必须填 -->
<!-- #IMPLIED 可填可不填 -->
<!-- #FIXED 固定值 -->
<!-- 后面跟值 默认值 -->
<!ATTLIST 人
编号 ID #REQUIRED
>
<!-- 表示唯一 -->
<!ATTLIST 人
姓名 CDATA #REQUIRED
>
<!-- 任何字符 -->
<!ATTLIST 人
父母 IDREFS #IMPLIED
>
<!-- 任何字符 -->
<!ATTLIST 人
内容 NMTOKENS #REQUIRED
>
<!-- 必须包含字符中间不能有空格,带S可以 -->
<!ATTLIST 人
国籍 CDATA #FIXED "中国"
性别 CDATA "男"
>
]>
<!--结束标签 -->
<家庭>
<人 编号="z1" 姓名="a" 内容="1 1"/>
<人 编号="z2" 姓名="b" 内容="1 1"/>
<人 编号="z3" 姓名="Linsage" 内容="1 1" 国籍="中国"/>
</家庭>


实体的定义:

<!ENTITY 实体名 “实体值”>

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 内容 [
<!ELEMENT 内容 ANY>
<!ELEMENT a (#PCDATA)>
<!ENTITY 变量 "123">

]>
<内容>&变量;
</内容>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: