常见的xml约束:DTD,Schema
什么是DTD
DTD(Document type Definition),文档类型定义,用来约束XML文档
规定XML文档中元素的名称,子元素的名称及顺序,元素的属性等
DTD重点要求
在开发中 ,我们很少自己编写DTD约束文档,通常情况我们都是通过框架提供
的DTD约束文档,编写对应的XML文档。常见框架使用DTD约束有:struts,hibernate等
DTD语法(了解)
1.内部DTD,在XML文档内部镶嵌DTD,只对当前XML有效
2.外部DTD-本地DTD ,DTD文档在本地系统上,公司内部自己项目使用
3.外部DTD-公共DTD ,DTD文档在网络上,一般都有框架提供
对元素的约束
符号 ? 描述:表示该对象可以出现,但是只能出现一次
符号 * 描述:表示该对象允许出现任意多次,也可以是零次
符号 + 描述:表示该对象最少出现一次,可以出现多次
符号 () 描述:用来给元素分组
符号 | 描述:表示在列出的对象中选择一个
符号 , 描述:表示对象必须按照指定的顺序出现
格式代码
<?xml version="1.0" encoding="UTF-8"?>
<!--
如果开发人员需要在xml使用当前DTD约束,必须包括DOCTYPE。
格式如下:
<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
-->
<!ELEMENT web-app (servlet*,servlet-mapping* , welcome-file-list?) >
<!ELEMENT servlet (servlet-name,description?,(servlet-class|jsp-file))>
<!ELEMENT servlet-mapping (servlet-name,url-pattern+) >
<!ELEMENT servlet-name (#PCDATA)>
<!ELEMENT servlet-class (#PCDATA)>
<!ELEMENT url-pattern (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT jsp-file (#PCDATA)>
<!ELEMENT welcome-file-list (welcome-file+)>
<!ELEMENT welcome-file (#PCDATA)>
<!ATTLIST web-app version CDATA #IMPLIED>