DTD约束

xml约束:
    作用:规定xml中可以出现那些元素及那些属性,以及他们出现的顺序.
    约束的分类:
        DTD约束:struts hiebernate等等
        SCHEMA约束:tomcat spring等等
 
DTD约束:
    和xml的关联    (一般都会提供好,复制过来即可,有时候连复制都不需要.)
        方式1:内部关联
            格式:
                <!DOCTYPE 根元素名 [dtd语法]>
        方式2:外部关联-系统关联
            格式:
                <!DOCTYPE 根元素名 SYSTEM "约束文件的位置">
            例如:
                <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">
        方式3:外部关联-公共关联
            格式:
                <!DOCTYPE 根元素名 PUBLIC "约束文件的名称" "约束文件的位置">
 
dtd语法(了解)
    元素:
        <!Element 元素名称 数据类型|包含内容>
            数据类型:
                #PCDATA:普通文本 使用的时候一般用()引起来
            包含内容:
                该元素下可以出现那些元素 用()引起来
        符号:
            *    出现任意次
            ?    出现1次或者0次
            +    出现至少1次
            |    或者
            ()  分组
            ,    顺序
 
    属性:
        格式:
            <!ATTLIST 元素名 属性名 属性类型 属性是否必须出现>
        属性类型:
            ID:唯一
            CDATA:普通文本
        属性是否必须出现
            REQUIRED:必须出现
            IMPLIED:可以不出现
 
    一个xml文档中只能添加一个DTD约束
//简单的dtd文件代码演示:
<?xml version="1.0" encoding="UTF-8"?>
<!--
    模拟servlet2.3规范,如果开发人员需要在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 welcome-file-list (welcome-file+)>
<!ELEMENT welcome-file (#PCDATA)>

<!ATTLIST web-app version CDATA #IMPLIED>
原文地址:https://www.cnblogs.com/anzhi/p/7447527.html