一、XML约束概述
1、什么是XML约束?
在xml技术里,可以编写一个文档来约束一个xml文档的写法,这称之为XML约束。
2、为什么要使用XML约束?
我们从网上下载了一个开源框架,这个开源框架是使用XML作为配置文件的,这时候框架的设计者就需要约束我们配置文件的写法。
3、XML约束的作用
约束xml文档的写法
对xml进行校验
4、常见的XML约束技术
XML DTD //文件类型定义(document type definition)
XML Schema //schema:模式,略图
二、如何在xml中引入dtd
可以将dtd的约束内容写在外置的dtd文件中,这个文件后缀必须为.dtd,而文件保存时必须用utf-8编码保存,再在xml文件中使用:
①<!DOCTYPE 根元素名称 SYSTEM 文件的位置>
如果写的是SYSTEM表明当前引入的dtd在当前文件系统中,后面制定的文件位置是当前硬盘中的位置
<?xml version="1.0" encoding="gb2312"?> <!DOCTYPE 书架 SYSTEM "book.dtd"> <书架> <书> <书名>Java就业培训教程</书名> <作者>张孝祥</作者> <售价>39.00元</售价> </书> <书> <书名>JavaScript网页开发</书名> <作者>张孝祥</作者> <售价>28.00元</售价> </书> </书架>
|
文件:book.dtd
<!ELEMENT 书架 (书+)> <!ELEMENT 书 (书名,作者,售价)> <!ELEMENT 书名 (#PCDATA)> <!ELEMENT 作者 (#PCDATA)> <!ELEMENT 售价 (#PCDATA)>
|
②<!DOCTYPE 文档根节点 PUBLIC "DTD名称" "DTD文件的URL">
如果写的是PUBLIC表明当前引入的dtd在网络公共位置中,后面要指明dtd的名字和dtd所在网络位置URL地址,如:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
直接在xml中书写dtd
<!DOCTYPE 根元素名称[
dtd约束....
]>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!DOCTYPE 书架 [ <!ELEMENT 书架 (书+)> <!ELEMENT 书 ( |