DTD的基本概念:Document Type Definition,文档类型定义。
XML文件引入DTD文件,这样XML可以自定义标签,但又受到DTD文件的约束。
DTD可以约束
XML文档出现的元素,元素名称,元素的先后顺序,属性等。
DTD文件的作用:一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示代码。
DTD应该放在每一个文档的第一行(包括空白)。这样才能告诉浏览器用的是什么标记语言。
DTD应该放在每一个文档的第一行(包括空白)。这样才能告诉浏览器用的是什么标记语言。
良好的xml文档:符合xml的语法规则。
有效的xml文档:符合xml语法规则的同时还需要符合DTD文档类型定义。
有效的xml文档:符合xml语法规则的同时还需要符合DTD文档类型定义。
DTD文档与XML文档实例的关系:类与对象;数据库表结构与数据记录;
基本语法:<!ELEMENT NAME CONTENT>
ELEMENT是关键字,是不能修改的
NAME表示元素名称
CONTENT是元素类型,必须要大写!
CONTENT的内容有三种写法:
(1)EMPTY——表示该元素不能包含子元素和文本,但可以有属性。
(2)ANY——表示该元素可以包含任何在该DTD中定义的元素内容。
(3)#PCDATA——可以包含任何字符数据,但是不能在其中包含任何子元素。
ELEMENT是关键字,是不能修改的
NAME表示元素名称
CONTENT是元素类型,必须要大写!
CONTENT的内容有三种写法:
(1)EMPTY——表示该元素不能包含子元素和文本,但可以有属性。
(2)ANY——表示该元素可以包含任何在该DTD中定义的元素内容。
(3)#PCDATA——可以包含任何字符数据,但是不能在其中包含任何子元素。
DTD中的修饰符号:
如何生成DTD文档?
DTD文档有三种应用形式:
1.内部DTD文档 :
<!DOCTYPE 根元素[定义内容]>
2.外部DTD文档 :
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
3.内外部DTD文档结合 :
<!DOCTYPE 根元素 SYSTEM "DTD文件路径" [定义内容]>
制作DTD约束校验工具:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script>
var doc = new ActiveXObject("Mircosoft.XMLDOM");
doc.validateOnParse = true;
doc.async = false;//同步校验
function jiaoyan(){
doc.load("./01.xml");//加载被校验的文档
var rst = document.getElementById("result");
rst.innerHTML += "错误信息:" + doc.parseError.reason + "<br />";//校验的错误信息
rst.innerHTML += "错误行数:" + doc.parseError.line + "<br />";//出错代码的行数
rst.innerHTML += "错误列数:" + doc.parseError.linepos + "<br />";//出错代码的列数
rst.innerHTML += "错误代码:" + doc.parseError.errorCode + "<br />";//出错代码的编号
}
</script>
</head>
<body>
<input type=button value="校验" οnclick="jiaoyan()" />
<div id="result"></div>
</body>
</html>