天天看点

XML(3)_XML 约束_概述

XML

XML约束概述

一个 xml 文档一旦有了约束,那么这个 XML 文档就只能使用约束中创建的元素及属性。如果约束没有创建 <a> 元素,那么 XML 文档就不能使用 <a> 元素!!!

1、什么是 XML 约束

(1)因为 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>
           

(2)当某个学生管理系统程序需要使用 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>
           

(3)xml 文档约束是用另一个文件来约束 xml 文档的结构,例如要求 xml 文档的根元素必须是<students> ,在 <students> 元素下可以包含 0~n 个 <students> 元素,每个 <students> 元素必须有一个 number 属性,而且还要有三个子元素,分别为 <name>、<age>、<sex>,这三个子元素的内容必须为文本内容,而不能是子元素。

2、XML 文档约束的类型

  • dtd:dtd 是平面式文档,dtd 文件不是 xml 文档,通常扩展名为 “.dtd”,它是最早的 xml 约束;
  • schema:schema 本身也是 xml 文档,它比 dtd 要更加强大,通常扩展名为 “.xsd”。它是新的 xml 文档约束,用来替代 dtd。