DTD 定义混合内容元素的出现次数
DTD define Number of occurrences of elements with mixed content
在 DTD 中声明混合内容元素时,我们如何为子元素添加约束?
这是我的 xml.
<!ELEMENT manager (contact)>
<!ATTLIST manager name CDATA #REQUIRED>
<!ELEMENT contact (#PCDATA|office|mobile+|email*)*>
<!ELEMENT mob (#PCDATA)>
<!ELEMENT office (#PCDATA)>
<!ELEMENT email (#PCDATA)>
当我写这篇文章时,我得到一个错误,提示 当子元素的类型受到限制时,混合内容模型 "contact" 必须以“)*”结尾。
请帮忙..
contact 元素的限制条件是,office 元素只能出现一次,mobile 元素必须出现一次或多次,email 元素是可选的。
这就是我想要的,
<contact>
Contact Details:
<email>sam@yahoo.com</email>
<mob>077769768</mob>
<office>036568879</office>
</contact>
Mixed content 只能以一种方式声明。您不能指定一个元素在混合内容声明中可以出现多少次。
您的声明必须如下所示:
<!ELEMENT contact (#PCDATA|office|mobile|email)*>
The constraints for the contact element are, the office element must
appears only one time, the mobile element must appears one or more
times, the email element is optional.
您的限制听起来不像您需要混合内容;也许这就足够了:
<!ELEMENT contact (office,mobile+,email?)>
混合内容模型只能指定可以出现的子元素的名称。无法设置子元素顺序或出现次数。有这些限制,不建议使用混合内容模型。
在 DTD 中声明混合内容元素时,我们如何为子元素添加约束? 这是我的 xml.
<!ELEMENT manager (contact)>
<!ATTLIST manager name CDATA #REQUIRED>
<!ELEMENT contact (#PCDATA|office|mobile+|email*)*>
<!ELEMENT mob (#PCDATA)>
<!ELEMENT office (#PCDATA)>
<!ELEMENT email (#PCDATA)>
当我写这篇文章时,我得到一个错误,提示 当子元素的类型受到限制时,混合内容模型 "contact" 必须以“)*”结尾。
请帮忙..
contact 元素的限制条件是,office 元素只能出现一次,mobile 元素必须出现一次或多次,email 元素是可选的。
这就是我想要的,
<contact>
Contact Details:
<email>sam@yahoo.com</email>
<mob>077769768</mob>
<office>036568879</office>
</contact>
Mixed content 只能以一种方式声明。您不能指定一个元素在混合内容声明中可以出现多少次。
您的声明必须如下所示:
<!ELEMENT contact (#PCDATA|office|mobile|email)*>
The constraints for the contact element are, the office element must appears only one time, the mobile element must appears one or more times, the email element is optional.
您的限制听起来不像您需要混合内容;也许这就足够了:
<!ELEMENT contact (office,mobile+,email?)>
混合内容模型只能指定可以出现的子元素的名称。无法设置子元素顺序或出现次数。有这些限制,不建议使用混合内容模型。