2013-07-24 67 views
1

所以 - 我有这个声明在我.dtd文件:xml dtd - 在这个元素中+量词适用于什么?

<!ELEMENT some_node1 (some_node2?, 
         some_node3, 
         (some_node4 | some_node5)*)+> 

什么+手段会在这里?

a)some_node2?, some_node3, (some_node4 | some_node5)*序列可重复1次或多次? b)括号内的单个元素可以重复1次或多次,即some_node3,some_node3,some_node3,some_node3,some_node5,some_node5?

回答

2

标签'a'的解释是正确的:序列可以发生一次或多次。

你给在“B”的例子,但是,仍然法律中的序列< some_node3,some_node3,some_node3,some_node3,some_node5,some_node5>可以通过连接四次出现在内容模型给出的顺序来构建:

  1. some_node3(零出现some_node2,接着some_node3之一发生,后面的零次出现some_node4和some_node5之间的选择的)。
  2. some_node3(见上文)
  3. some_node3, some_node5, some_node5(零出现some_node2,接着正好一个发生some_node3,随后两次出现some_node4和some_node5之间的选择的)。

,将你的解释“B”下允许的(如果我理解正确的话),但不是在“A”(而不是由XML规范)是some_node2,some_node2,some_node3序列的一个例子。