标题: 3.1.2.3 有顺序的子元素
hinet
荣誉会员
Rank: 1



荣誉会员奖章
UID 46695
精华 0
积分 2412
帖子 1189
威望 0
金币 1158
热心 26
阅读权限 50
注册 2007-2-25
状态 离线
3.1.2.3 有顺序的子元素

3.1.2.3 有顺序的子元素
   

一个元素的各个子元素之间可以以任意顺序出现,也可以强制遵循一定的顺序。
不要求顺序的子元素
考虑下面的DTD定义:
    <ELEMENT 联系人(姓名 EMAIL)>
    <ELEMENT 姓名(#PCDATA)>
    <ELEMENT EMAIL(#PCDATA)>
遵从这个DTD的XML文件可以为:
<联系人>
    <姓名>张三
    zhang@aaa.com

同样,下面这个XML文件也是有效的:
<联系人>
    zhang@aaa.com
    <姓名>张三

我想大家已经注意到了,由于我们在DTD定义中仅仅用空白符分隔了元素“联系人”的两个子元素,这说明我们并没有严格要求两个元素出现的顺序,因此上面两种写法都是允许的。
要求顺序的子元素
相反,在上面例子中,如果我们使用逗号“,”来分隔两个子元素,那么XML文件中,元素“姓名”就必须出现在元素“EMAIL”前面。也就是说,如果我们把DTD定义为下面的形式:
    <ELEMENT 联系人(姓名, EMAIL)>
    <ELEMENT 姓名(#PCDATA)>
    <ELEMENT EMAIL(#PCDATA)>
那么下面的文件是有效的:
<联系人>
    <姓名>张三
    zhang@aaa.com

而下面这个文件不是有效的,因为它把元素“EMAIL”放在了元素“姓名”之前,这是不合规定的:
<联系人>
    zhang@aaa.com
    <姓名>张三

顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-10-8 07:23
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP