DTD约束

    xiaoxiao2022-07-13  155

    XML的作用 传输数据、做配置 配置: *.properties *.XML

    什么是格式良好XML 1 有且只有一个根元素

    2 XML标签大小写正确区分

    3 正确使用结束标签

    4 正确嵌套标签

    5 使用了合法的标签名

    6 定义有效的属性

    XML中声明DTD

    <!Doctype root[]> root:指的是XML文件里的根元素!

    定义元素的语法

    <!ELEMENT element-name (type)>

    注:根标签也要定义!!!

    元素的分类 element-name:元素名称

    <!ELEMENT element-name EMPTY> //空元素 <!ELEMENT element-name (#PCDATA)> //文本元素 <!ELEMENT element-name (e1,e2)> //混合元素,标签里包含了其他的元素

    元素的限制

    , :顺序

    | :或

    次数: +(:1~n) *:(0~n) ?:(0或1) 没有:(1)

    属性定义的语法

    att_name:属性名

    <!ATTLIST element-name att_name type >

    att指的是:attribute

    类型: ID :唯一

    (男|女) :列表

    CDATA :文本

    IDREF :外键

    #REQUIRED :不为空

    #IMPLIED :允许为空

    XML中的特殊符号

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

    合法的XML

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE persons [ <!ELEMENT persons (person*)> <!ELEMENT person (name,age,contact,br?)> <!ELEMENT name (#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>

    DTD对config.xml限制

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