【发布时间】:2015-02-11 07:29:28
【问题描述】:
在我的 DTD 文件中,我有:
<!ELEMENT name (firstname*, surname*, companyname*)>
如果 xml 中的 type='person',则需要 firstname 和 surname 元素,或者如果 type='company',则需要 companyname 元素。
如何在我的 DTD 中显示它?
我还有一个类似的问题:
<!ELEMENT telephone (home*, work*, mobile*, fax*, phone*)>
如果是人,则至少需要home、work、mobile 之一;如果是公司,则需要phone。
更新:
我想我通过制作它解决了名称问题:
<!ELEMENT name ((firstname, surname) | companyname)>
我尝试过类似的电话元素:
<!ELEMENT telephone ((phone | (home | work | mobile)), fax*)>
但在验证时出现错误:
The content of element type "telephone" must match "((phone|(home|work|mobile)),fax*)". [21]
其中至少需要home、work 和mobile 之一,但可以有多个/全部三个。
关于我在这里做错了什么的任何想法?
【问题讨论】:
-
发现我可以通过添加额外的元素标签
<personal>或<company>来解决问题