
2007-2-25 17:33
hinet
3.1.2.7 可选子元素
3.1.2.7 可选子元素
字符“?”说明一个子元素是可选的,它可以出现,也可以不出现。因此,在下面的DTD中,我们规定,每一个“联系人”都必须有一个“姓名”子元素,同时或者有一个“电话”子元素,或者有一个“EMAIL”子元素,此外,它还可以包含一个“地址”子元素,也可以不包含这种元素。
<ELEMENT 联系人(姓名,(电话|EMAIL),地址?)>
<ELEMENT 姓名(#PCDATA)>
<ELEMENT 电话(#PCDATA)>
<ELEMENT EMAIL(#PCDATA)>
<ELEMENT 地址(街道,城市,省份)>
<ELEMENT 街道 (#PCDATA)>
<ELEMENT 城市 (#PCDATA)>
<ELEMENT 省份 (#PCDATA)>
根据这个DTD描述,下面的XML片段是“有效的”:
<联系人>
<姓名>张三
[email]zhang@aaa.com[/email]
<地址>
<街道>五街1234号
<城市>北京市
<省份>北京
同样,下面这段不包含“地址”元素的XML片段也是“有效的”:
<联系人>
<姓名>张三
[email]zhang@aaa.com[/email]
2007-2-25 17:34
hinet
3.1.2.8 混合内容
3.1.2.8 混合内容
当然,可能也有一些时候,你在一个元素中既希望包含子元素,也希望包含纯文本。XML中允许这种使用方法,并把这种元素称为混合内容的元素。在下面的例子中,“联系人”就是一个混合元素。
<DOCTYPE CONTACTS [ <ELEMENT 联系人(姓名|电话|EMAIL|#PCDATA)*>
<ELEMENT 姓名(#PCDATA)>
<ELEMENT 电话(#PCDATA)>
<ELEMENT EMAIL(#PCDATA)>
]>
<联系人列表>
<联系人>
<姓名>张三
<电话>(010)62345678
[email]zhang@aaa.com[/email]
这是关于张三的信息
2007-2-25 17:34
hinet
3.1.2.9 空元素
3.1.2.9 空元素
好了,前面我们已经介绍了所有可能用到的子元素的排列状况。不过,还有一种情况没有说,那就是,一个元素中不包含任何子元素,也不包含纯文本。
对于这种情况,我们可以定义一个空标记。当然,定义这样一个标记很简单,你只需要使用关键字EMPTY就可以了,例如:
<ELEMENT HR EMPTY>
这样,在你的XML文件中,就可以使用一个空元素
页:
[1]
Powered by Discuz! Archiver 5.5.0
© 2001-2006 Comsenz Inc.