在DTD中,我可以看到元素如何通过使用“?”来限制为零或一个元素。符号:
<!ELEMENT basket apple?>
但我也希望对同一序列中的其他两种元素没有限制,以下似乎不起作用?
更新:
<!ELEMENT basket ((banana | coconut)+,(apple?),(banana | coconut)*>
所以序列中只有一个苹果,但香蕉和椰子的组合无限。对DTD新手有什么建议吗?我知道架构但我们的遗留应用程序使用DTD。是否可以通过DTD强制执行此操作?
答案 0 :(得分:1)
如果您只想要零{或1 {} apple
而不会出现banana
或coconut
,请尝试以下操作:
<!ELEMENT basket (apple?|(banana|coconut)*)>
如果您想要零个或一个apple
和出现banana
和/或coconut
零次或多次,请尝试以下操作:
<!ELEMENT basket (apple?,(banana|coconut)*)>
请注意,最后一个示例意味着零或一个apple
,然后零或更多banana
和/或coconut
。