DTD约束

    xiaoxiao2022-07-14  152

    文章目录

    1.XML概述2.如何在XML中声明3.元素的定义4.一个简单的XML文档5.属性定义的语法6.XMl的特殊符号7.基本案例

    1.XML概述

    1.传输数据,做配置

    2.有且只有一个根元素

    XML标签大小写正确区分

    4.正确使用结束标签 5. 正确嵌套标签 6.使用了合法的标签名 7.定义有效的属性

    2.如何在XML中声明

    <!DOCTYPE root []>

    3.元素的定义

    1.属性最常见的四类:唯一标识,选择类,文本类,依赖类型

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons [ <!ELEMENT persons (person*)> <!ELEMENT person (name,age,contact,br?)> <!ELEMENT name (#PCDATA)><!-- #pcdata:文本 --> <!ELEMENT age (#PCDATA)> <!ELEMENT contact (phone|email)> <!ELEMENT phone (#PCDATA)> <!ELEMENT br EMPTY> <!ELEMENT email (#PCDATA)> <!ATTLIST person pid ID #REQUIRED sex (男|女) '男' qq CDATA #IMPLIED parent IDREF #IMPLIED > ]> <persons> <person pid="p1" sex="男" qq="aaa" parent="p2"> <name>张小明</name> <age>10</age> <contact> <phone>1234567</phone> </contact> <br/> </person> <person pid="p2"> <name>张大明</name> <age>35</age> <contact> <email>123@qq.com</email> </contact> </person> </persons>

    4.一个简单的XML文档

    1.请看这个XML文档

    <persons> <person> <name>张小明</name><!--文本标签 --> <age>10</age> <contact> <phone>1234567</phone> </contact> <br/> </person> <person> <name>张大明</name> <age>35</age> <contact> <email>123@qq.com</email> </contact> </person> </persons>

    2.它对上面那个 XML 文档的元素进行了定义:

    <!DOCTYPE persons [ <!ELEMENT persons (person*)> <!ELEMENT person (name,age,contact,br?)> <!ELEMENT name (#PCDATA)><!-- #pcdata:文本 --> <!ELEMENT age (#PCDATA)> <!ELEMENT contact (phone|email)> <!ELEMENT phone (#PCDATA)> <!ELEMENT br EMPTY> <!ELEMENT email (#PCDATA)> ]>

    2.1第 2行定义 person 元素有四个子元素:“name, age, contact,br”。 2.2第3行 name元素的类型是 “#PCDATA”(文本标签)

    5.属性定义的语法

    1.ID :唯一 2.(男|女) : 或者 3.“男” :默认值 4.#PCDATA :文本 5.#IDREF :外键 6.#REQUIRED :不为空 7.#IMPLIED :允许为空

    6.XMl的特殊符号

    1.&:(逻辑与) 2.<:(小于) 3. >:(大于) 4.":(双引号) 4. ':(单引号)

    7.基本案例

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE config [ <!ELEMENT config (action*)> <!ELEMENT action (forward*)> <!ELEMENT forward (#PCDATA)> <!ATTLIST action path CDATA #REQUIRED type CDATA #REQUIRED > <!ATTLIST forward name CDATA #REQUIRED path CDATA #REQUIRED redirect (true|false) 'false' > ]> <!-- 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)