如何表达这些DTD语句?

时间:2017-02-03 04:43:53

标签: xml dtd

1. <!ELEMENT slide (title +, | topiclist)>
2. <!ELEMENT slide (title | topiclist) *>

我们可以说<!ELEMENT name (first, last)> - 名字元素是一个拳头和最后元素的父母,但我不知道如何在第1点和第2点之上表达。有人可以帮助我吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

在元素声明的内容模型中,您有指定顺序的字符:

| =选择(“或”)

, = sequence(“后跟”)

您还有表示出现的字符:

+ =一个或多个

? =零或一个

* =零或更多

如果没有指标,则表示该元素必须恰好出现一次。

此外,括号用于分组。

使用上面的描述,让我们看看我们是否可以回答您的问题......

  
      
  1. <!ELEMENT slide (title+, | topiclist)>
  2.   

, |无效。我假设这应该只是,。如果不让我知道。

这表示slide元素必须包含一个或多个(至少一个)title元素,后跟一个topiclist

  
      
  1. <!ELEMENT slide (title | topiclist) *>
  2.   

这表示slide元素可以包含零个或多个titletopiclist元素(按任意顺序)。

另外,你的例子:

  

<!ELEMENT name (first, last)>

更好地描述为:

name元素必须只包含一个first元素,后跟一个last元素。 (你错过了描述中的序列。)