XML XML约束 一、XML约束概述
一个XML文档一旦有了约束,那么这个XML文档就只能使用约束中创建的元素及属性。如果约束没有创建<a>元素,那么XML文档就不能使用<a>元素
1 什么是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文档的根元素必须是<students>,在<students>元素下可以包含0~n个<student>元素,每个<student>元素必须有一个number属性,而且还要有三个子元素,分别为<name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。
2 XML文档约束的类型
xml文档约束有两种类型:dtd和schema
- dtd:dtd是平面式文档,dtd文件不是xml文档,通常扩展名为“.dtd”。它是最早的xml约束;
- schema:schema本身也是xml文档,它比dtd要更加强大,通常扩展名为“.xsd”。它是新的xml文档约束,用来替代dtd。
DTD是老的XML约束
Schema是新的,用Schema替换掉DTD