当前位置 : 主页 > 网页制作 > xml >

xml – 是否可以将元素限制为最大值出现在“选择”块中?

来源:互联网 收集:自由互联 发布时间:2021-06-13
我需要解决以下问题. //伪算法 你有四个元素:elm1,elm2,elm3,elm4 elm1发生0-2次 elm2发生0-1次 elm3发生0-n次 elm4发生0-n次 他们可以以任何方式订购,但限制在他们给定的数量. //伪结束 它似乎是
我需要解决以下问题.

//伪算法

>你有四个元素:elm1,elm2,elm3,elm4
> elm1发生0-2次
> elm2发生0-1次
> elm3发生0-n次
> elm4发生0-n次
>他们可以以任何方式订购,但限制在他们给定的数量.

//伪结束

它似乎是序列和选择的组合,但两个指标都有一个特征,不允许我想要的行为.

样品:
elm4
elm1
elm2
elm1
elm3
elm3
elm3
elm4

请在我疯了之前拯救我:)

克里斯

如果你的n值不是太大而且你很绝望,你可以制作一个内容模型来解释每个可能的组合,但这会成倍增长.

最好的解决方案是使用支持XML Schema 1.1的工具(例如Xerces或Saxon),它放宽了对所有组出现值的限制.从规格section G.1.3开始:

  1. Several of the constraints imposed by version 1.0 of this specification
    on all-groups have been relaxed:

    a. Wildcards are now allowed in all
    groups.

    b. The value of maxOccurs may now be
    greater than 1 on particles in an all
    group. The elements which match a
    particular particle need not be
    adjacent in the input.

    c. all groups can now be extended by
    adding more members to them.

如果不这样做,一般的XML Schema 1.0解决方案是在模式中指定一个宽松的模型(对元素出现没有限制),然后在另一个层中强制执行您关心的约束,例如,可能是自定义代码或XSLT.

网友评论