2007-2-25 17:32
hinet
3.1.2.4 重复元素
3.1.2.4 重复元素
让我们再把上节的例子作一个小小的改动,你能不能猜到下面这段DTD是什么意思?
<ELEMENT 联系人(姓名,EMAIL+)>
<ELEMENT 姓名(#PCDATA)>
<ELEMENT EMAIL(#PCDATA)>
让我们看看前面给出的正则表达式的元字符集列表,现在猜到了吗?对了!它说明一个“联系人”元素中必须含有一个“姓名”元素,后面接一个或多个“EMAIL”元素。这样,下面的这段XML文件是“有效的”。
<联系人>
<姓名>张三
[email]zhang@aaa.com[/email]
[email]zhang@hotmail.com[/email]
[email]zhang@yahoo.com[/email]
那么下面这段XML文件呢?
<联系人>
<姓名>张三
不错,这个片段不是有效的,因为它没有“EMAIL”元素,而“+”代表了“一个或多个”。
如果你需要表示“零个或多个”,那么应该使用字符“*”。例如:
<ELEMENT 联系人(姓名,EMAIL*)>
<ELEMENT 姓名(#PCDATA)>
<ELEMENT EMAIL(#PCDATA)>