DTD

1.DTD简介

(1)DTD,Document Type Definition,文档类型定义.

(2)DTD用于约束xml的文档格式,保证xml是一个有效的xml.

(3)DTD可以分为两种,内部DTD,外部DTD.

2.使用内部DTD

(1)内部DTD的定义,语法如下:

<!DOCTYPE 根元素 [元素声明]>

(2)元素声明语法:

<!ELEMENT 元素名 (子元素[, 子元素...])>

(3)数量词

  >+:表示出现1次或多次,至少一次

  >?:表示出现0次或1次

  >*:表示出现任意次

(4)属性声明语法:

  >属性类型:CDATA,表示字符数据(character data)

  >默认值:

    - #REQUIRED ,表示必须出现

    - #IMPLIED,表示不是必须的

<!ATTLIST 元素名称 属性名称 属性类型 默认值>

(5)带DTD的完整xml代码:

<?xml version="1.0" econding="UTF-8"?>
<!-- 声明内部DTD -->
<!DOCTYPE scores [
    <!ELEMENT scores (student+)>
    <!ELEMENT student (name,course,score)>
    <!ATTLIST student id CDATA #REQUIRED>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT course (#PCDATA)>
    <!ELEMENT score (#PCDATA)>
]>
<scores>
    <student id="1">
        <name>张三</name>
        <course>java</course>
        <score>89</score>
    </student>
    <student id="2">
        <name>李四</name>
        <course>sql</course>
        <score>69</score>
    </student>
</scores>

3.使用外部DTD

(1)创建一个独立的DTD文件:scores.dtd

<?xml version="1.0" econding="UTF-8"?>
 <!ELEMENT scores (student+)>
 <!ELEMENT student (name,course,score)>
 <!ATTLIST student id CDATA #REQUIRED>
 <!ELEMENT name (#PCDATA)>
 <!ELEMENT course (#PCDATA)>
 <!ELEMENT score (#PCDATA)>

(2)在xml中引入外部DTD文件

<!-- 引入外部DTD文件 -->
<!DOCTYPE scores SYSTEM "scores.dtd">

 

posted @ 2019-06-11 09:40  M_x_j  阅读(138)  评论(0编辑  收藏  举报