【问题标题】:xml dtd - what does + quantifier applies towards in this element?xml dtd - + 量词在这个元素中适用于什么?
【发布时间】:2013-07-25 02:18:47
【问题描述】:

所以 - 我的 .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 ?

【问题讨论】:

    标签: xml xml-parsing dtd


    【解决方案1】:

    您标记为“a”的解释是正确的:序列可以出现一次或多次。

    但是,您在“b”下给出的示例仍然合法:序列 可以通过连接内容模型中给出的序列的四次出现来构造:

    1. some_node3(some_node2 出现 0 次,some_node3 出现 1 次,some_node4 和 some_node5 之间的选择出现 0 次)。
    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。

    【讨论】:

      猜你喜欢
      • 2019-04-13
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多