DTD约束

    xiaoxiao2022-07-14  157

    DTD的约束

    文章目录

    DTD的约束1.DTD介绍2. 在XML加入DTD声明3. 什么是格式良好XML4. 元素定义的语法5.元素的分类6. 属性定义的语法8.XML中的特殊符号9. 案例:写一个DTD限制config.xml

    1.DTD介绍

    DTD为英文Document Type Definition,中文意思为“文档类定义”。DTD肩负着两重任务:一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示器代码。

    2. 在XML加入DTD声明

    <!DOCTYPE root[]>

    3. 什么是格式良好XML

    3.1 有且只有一个根元素 3.2 XML标签大小写正确区分 3.3 正确使用结束标签 3.4 正确嵌套标签 3.5 使用了合法的标签名 3.6 定义有效的属性

    4. 元素定义的语法

    <!ELEMENT element-name (type)>

    注:根标签也要定义

    5.元素的分类

    <!ELEMENT element-name EMPTY>//空元素 <!ELEMENT element-name (#PCDATA)>//文本元素 <!ELEMENT element-name (e1,e2)>//混合元素

    6. 属性定义的语法

    DTD中属性的定义是这样的:

    <!ATTLIST 元素名称 属性名称 类型 属性特点 属性名称 类型 属性特点...... >

    其中,属性的类型有下面5种:

    (1) CDATA (2) ID (3) IDREF/IDREFS (4) Enumerated (5) ENTITY/ENTITIES

    8.XML中的特殊符号

    &(逻辑与) & <(小于) < >(大于) > "(双引号) " '(单引号) '

    9. 案例:写一个DTD限制config.xml

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE config [ <!ELEMENT config (action*)> <!ELEMENT action (forward*)> <!ELEMENT forward (#PCDATA)> <!ATTLIST action path CDATA #IMPLIED type CDATA #IMPLIED > <!ATTLIST forward name CDATA #IMPLIED path CDATA #IMPLIED redirect (true|false) 'true' > ]> <!-- config标签:可以包含0~N个action标签 --> <config> <!-- action标签:可以饱含0~N个forward标签 path:以/开头的字符串,并且值必须唯一 非空 ,子控制器对应的路径 type:字符串,非空,子控制器的完整类名 --> <action path="/registerAction" type="test.action.RegisterAction"> <forward name="success" path="/index.jsp" redirect="true" /> <forward name="failed" path="/register.jsp" redirect="false" /> </action> <action path="/loginAction" type="test.action.LoginAction"> <forward name="a" path="/index.jsp" redirect="false" /> <forward name="b" path="/welcome.jsp" redirect="true" /> </action> </config>
    最新回复(0)