XML约束概述
一个XML文档一旦有了约束,那么这个XML文档就只能使用约束中创建的元素及属性。如果约束没有创建< a >元素,那么XML文档就不能使用< a >元素!!!
什么是xml约束
因为xml文档是可以自定义元素的,这会让使用xml文档的应用程序无法知道xml文档的真实结构。通常应用程序都会要求xml文件的结构是固定的,以满足自己的需求,这就说明,不同的应用程序要求自己的xml文档必须符合一定的要求。
例如,当使用xml文档作为某个Java swing应用程序的配置文件时,要求xml文档结构如下:
<frame title="test xml" layout="java.awt.BorderLayout">
<bgcolor>
<red>200</red>
<green>0</green>
<blue>0</blue>
</bgcolor>
<size>
<width>300</width>
<heigth>200</heigth>
</size>
<content>
<label>
<text>hello xml</text>
<label>
</content>
</frame>
当某个学生管理系统程序需要使用xml文档作为数据库时,要求xml文档结构如下
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<students>
<student number="1001">
<name>zhangSan</name>
<age>23</age>
<sex>male</sex>
</student>
<student number="1002">
<name>liSi</name>
<age>32</age>
<sex>female</sex>
</student>
<student number="1003">
<name>wangWu</name>
<age>55</age>
<sex>male</sex>
</student>
</students>
xml文档约束是用另一个文件来约束xml文档的结构,例如要求xml文档的根元素必须是< students >,在< students >元素下可以包含0~n个< student >元素,每个< student >元素必须有一个number属性,而且还要有三个子元素,分别为< name >、< age >、< sex >,这三个子元素的内容必须为文本内容,而不能是子元素
XML文档约束的类型
xml文档约束有两种类型:dtd和schema
- dtd:dtd是平面式文档,dtd文件不是xml文档,通常扩展名为“.dtd”。它是最早的xml约束;
- schema:schema本身也是xml文档,它比dtd要更加强大,通常扩展名为“.xsd”。它是新的xml文档约束,用来替代dtd。
DTD是老的XML约束,Schema是新的,用Schema替换掉DTD
|