1、什么是XML约束
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
2、常用的约束技术
•XML DTD
•XML Schema
3、DTD(DocumentType Definition),全称为文档类型定义。

4、编程校验XML文档正确性
IE5以上浏览器内置了XML解析工具:Microsort.XMLDOM,开发人员可以编写javascript代码,利用这个解析工具装载xml文件,并对xml文件进行dtd验证。
创建xml文档解析器对象
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
l开启xml校验
xmldoc.validateOnParse = "true";
l装载xml文档
xmldoc.load("book.xml");
l获取错误信息
xmldoc.parseError.reason;
xmldoc.parseError.line
5、编写DTD约束的两种方式:
DTD约束即可以作为一个单独的文件编写,也可以在XML文件内编写。
在xml文件内编写DTD
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE 书架 [ <!ELEMENT 书架 (书+)> <!ELEMENT 书 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> <!ELEMENT 售价 (#PCDATA)> ]> <书架> <书> <书名>Java就业培训教程</书名> <作者>redarmy</作者> <售价>39.00元</售价> </书> ... </书架>
6、引用DTD约束
6、引用DTD约束
XML文件使用DOCTYPE 声明语句来指明它所遵循的DTD文件,DOCTYPE声明语句有两种形式:
•当引用的文件在本地时,采用如下方式:
<!DOCTYPE 文档根结点SYSTEM "DTD文件的URL">
例如: <!DOCTYPE 书架 SYSTEM “book.dtd”>。在xml文件中手写一下。
•当引用的文件是一个公共的文件时,采用如下方式:
<!DOCTYPE 文档根结点PUBLIC "DTD名称" "DTD文件的URL">
例如:<!DOCTYPE web-app PUBLIC
"-//SunMicrosystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">