XML-DTD

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">

]>
<内容>&变量;
</内容>

 

posted @ 2012-12-15 10:28  Mr.Lin_♪  阅读(862)  评论(0)    收藏  举报