DTD:语法自成一派,早出现,可读性差
Schema:使用xml的语法规则,xml解析器解析起来比较方便
DTD (黑马程序员的简单笔记)
1. 引入网络上的DTD
引入dtd 来约束这个xml
文档类型 根标签名字 网络上的dtd dtd的名称 dtd的路径
<!DOCTYPE stus PUBLIC "//UNKNOWN/" "unknown.dtd">
2. 引入本地的DTD
引入本地的DTD : 根标签名字 引入本地的DTD dtd的位置
<!DOCTYPE stus SYSTEM "stus.dtd">
3. 直接在XML里面嵌入DTD的约束规则
xml文档里面直接嵌入DTD的约束法则
<!DOCTYPE stus [
<!ELEMENT stus (stu)>
<!ELEMENT stu (name,age)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
]>
<stus>
<stu>
<name>张三</name>
<age>18</age>
</stu>
</stus>
<!ELEMENT stus (stu)> : stus 下面有一个元素 stu , 但是只有一个
<!ELEMENT stu (name , age)> stu下面有两个元素 name ,age 顺序必须name-age
<!ELEMENT name (#PCDATA)> parser character data
<!ELEMENT age (#PCDATA)>
<!ATTLIST stu id CDATA #IMPLIED> stu有一个属性 文本类型, 该属性可有可无
元素的个数:
+ 一个或多个
* 零个或多个
? 零个或一个
属性的类型定义
CDATA : 属性是普通文字
ID : 属性的值必须唯一
<!ELEMENT stu (name , age)> 按照顺序来
<!ELEMENT stu (name | age)> 两个中只能包含一个子元素