【问题标题】:What's the result set operation of extensible constraints in ASN.1ASN.1中可扩展约束的结果集操作是什么
【发布时间】:2015-11-04 14:50:00
【问题描述】:

我不知道哪个是 ASN.1 中可扩展约束的集合操作的结果,如下所示:

A ::= INTEGER ( (1..64, ..., 100..128) INTERSECTION (1..32, ..., 33..120) )
B ::= INTEGER ( (1..64, ..., 100..128) UNION (1..32, ..., 33..120) )
C ::= INTEGER (1..64, ..., 100..128) (1..32, ..., 33..120)

这些类型的最终约束是什么?

感谢任何帮助。

【问题讨论】:

    标签: constraints asn.1 extensibility


    【解决方案1】:

    前两个定义无效,因为 ... 只能出现在最顶层,不能嵌套在多个括号内,因此 A 和 B 是无效定义。参见 ITU-T X.680 第 50.1 和 50.5 条。

    C 在技术上也是无效的,因为值 120 不在“父类型”的基本范围 1..64 内。如果把120改成64,那么有效约束如下:

    C ::= INTEGER (1..32, ..., 33..64)

    ITU-T X.680 第 50.10 条具有以下内容:

    50.10 如果子类型约束连续应用于通过应用可扩展约束可扩展的父类型,则其中使用的值表示法不应引用不在父类型的扩展根中的值。第二个(串行应用)约束的结果被定义为与该约束已应用于父类型但没有扩展标记和可能的扩展添加一样。

    【讨论】:

    • 感谢您如此清晰的解释。我仍然怀疑是否存在某些矛盾或某些已过时,正如我从 X.691-0207 [链接] (itu.int/ITU-T/studygroups/com17/languages/X.691-0207.pdf) 附件 B 的示例中看到的那样,B.3 节(第 49 页):A3 :: = INTEGER ( (1..32, ..., 33..128) ^ (1..128) ),在嵌套括号中有扩展标记,即可扩展值集合已经是集合操作的 lhs,是这是否合法,或者这是 ASN.1 标准的较新版本?
    • 嗨瑞恩。我将提请 ASN.1 委员会注意这一点,以讨论更新附件 B。请注意,附件 B 是“信息性”附件,而不是“规范性”附件。因此,X.680 正文中的规则是具有约束力的,而不是这个信息性附件中的规则。
    • 嗨,保罗,有这方面的消息吗?
    • 不,还没有。委员会要到 2 月底才会再次开会。
    • 你好 Paul,关于这个问题有什么新的吗?
    猜你喜欢
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多