我对X.691-0207第49页的例子感到困惑。
根据条款B.2.2.10(页48):因为UNION和INTERSECTION都是可交换的,所以结果的规则仅针对V第一种情况给出。如果所有组件都是V,那么ITU-T Rec。的正常规则。 X.680 | ISO / IEC 8824-1适用,这里不再进一步讨论。所有组件都是我总是给我的情况,并且再次没有列出。规则是:
V UNION I => I
V INTERSECTION I => V
-- The resulting V is just the V part of the intersection V EXCEPT I => V
-- The resulting V is just the V without the set difference I EXCEPT V => I
V, ..., I => I
I, ..., V => I
对以下示例的约束进行算术运算:
A13 ::= IA5String (SIZE(1..10, ...) ^ FROM("A".."D"))
的产率:
SIZE(1..10, ...) ^ FROM("A".."D")
= { SIZE(1..10, ...), ALL } ^ { SIZE(MIN..MAX), FROM("A".."D") }
= { SIZE(1..10, ...) ^ SIZE(MIN..MAX), ALL ^ FROM("A".."D") }
= { SIZE(1..10), FROM("A".."D") }
但是这个例子说" A13有一个可扩展的有效大小约束SIZE(1..10,...)",可扩展性在哪里出现?
非常感谢任何帮助。
答案 0 :(得分:0)
您使用的示例相当于" V INTERSECTION V => V"因为作为交叉点一部分的每个约束是PER可见约束。交叉的结果也是PER可见也就不足为奇了。请注意,应用INTERSECTION不会消除可扩展性。您应该查看X.691第10.3节中的规范性规则,而不仅仅是查看附录B中的信息性示例,该规则明确定义了PER可见约束的规则。特别是,10.3.9表示所有大小约束都是PER可见,10.3.21表示当PER可见约束是INTERSECTION的一部分时,结果约束是PER可见。