加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 22:54:16 所属栏目:百科 来源:网络整理
导读:我需要解决以下问题. //伪算法 你有四个元素: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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读