与dtd的基本问题

时间:2011-01-03 22:10:10

标签: xml validation dtd

我需要一个具有特征的元素

<!ELEMENT section ((comment*)|definition|(comment*))>

但这是模棱两可的,我在visual studio中得到了下一条消息

元素'comment'的多个定义会导致内容模型变得模糊不清。必须形成内容模型,使得在元素信息项序列的验证期间,可以在不检查元素信息项序列的内容或属性的情况下,直接地,间接地或隐含地包含在其中依次用于尝试验证序列中的每个项目的粒子。该项目,并且没有关于序列其余部分中的项目的任何信息。

那么我怎么能正确地写出来呢?正确的结构是一个由可能的注释元素包围的定义。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您正在尝试使用零个或多个注释元素,后跟定义元素,后跟零个或多个注释。

您现在拥有的模型不明确,因为它指定了零个或多个注释或定义或零个或多个注释。您需要的更改非常简单(假设我理解):

<!ELEMENT section (comment*, definition, comment*) >

基本上,|字符表示替换,,表示序列。