引入dtd文档到xml中
内部dtd:将约束规则定义在xml文档中
外部dtd:将约束的规则定义在外部的dtd文件中。
本地:<!DOCTYPE 根标签名 SYSTEM "dtd文件的位置">
网络:<!DOCTYPE 根标签名 PUBLIC "dtd文件的名字" "dtd文件的位置URL">
student.dtd
<!--根标签:定义一个students标签,里边包括student标签,出现一次或n次-->
<!ELEMENT students (student*) >
<!--定义一个student标签,里边包括name,age,sex标签(顺序严格书写)-->
<!ELEMENT student (name,age,sex)>
<!--#PCDATA:XML文档中的文本通常解析为字符数据-->
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!--student标签有一个id属性:属性不能是数字开头的-->
<!ATTLIST student number ID #REQUIRED>
student.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!--外部引入约束-->
<!--<!DOCTYPE students SYSTEM "student.dtd">-->
<!--内部定义约束-->
<!DOCTYPE students [
<!--根标签:定义一个students标签,里边包括student标签,出现一次或n次-->
<!ELEMENT students (student*) >
<!--定义一个student标签,里边包括name,age,sex标签(顺序严格书写)-->
<!ELEMENT student (name,age,sex)>
<!--#PCDATA:XML文档中的文本通常解析为字符数据-->
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!--student标签有一个id属性:属性不能是数字开头的-->
<!ATTLIST student number ID #REQUIRED>
]>
<students>
<student number="s001">
<name>张三</name>
<age>123</age>
<sex>男</sex>
</student>
<student number="s002">
<name>张三</name>
<age>123</age>
<sex>男</sex>
</student>
</students>