en abrégé: SIZE(10)
contraintes la taille du type à 10 (et seulement 10).
Explication détaillée avec des références à la norme:
contrainte de taille est définie à l'article 47.5 de X.680
En particulier
SizeConstraint ::= SIZE Constraint
Constraint
est défini à l'article 45.6:
Constraint ::= "(" ConstraintSpec ExceptionSpec ")"
ConstraintSpec ::=
SubtypeConstraint
| GeneralConstraint
GeneralConstraint est défini dans X.682 (représentant des contraintes plus complexes), alors que SubtypeConstraint est défini dans 45,7
SubtypeConstraint ::= ElementSetSpecs
à 46,1 (ici, il devient difficile ... Je vais essayer d'élargir le chemin que nous ne besoin)
ElementSetSpecs ::=
RootElementSetSpec
| RootElementSetSpec "," "..."
| RootElementSetSpec "," "..." "," AdditionalElementSetSpec
RootElementSetSpec ::= ElementSetSpec
ElementSetSpec ::= Unions
| ALL Exclusions
Unions ::= Intersections
| UElems UnionMark Intersections
Intersections ::= IntersectionElements
| IElems IntersectionMark IntersectionElements
IntersectionElements ::= Elements | Elems Exclusions
à 46,5
Elements ::=
SubtypeElements
| ObjectSetElements
| "(" ElementSetSpec ")"
à 47,1
SubtypeElements ::=
SingleValue
| ContainedSubtype
| ValueRange
| PermittedAlphabet
| SizeConstraint
| TypeConstraint
| InnerTypeConstraints
| PatternConstraint
Valeur unique est définie dans 47.2.1
SingleValue ::= Value
Plage de valeurs est définie dans la 47.4.1
ValueRange ::= LowerEndpoint ".." UpperEndpoint
Alors ... nous limitant la taille un type (une contrainte sur le type INTEGER), définissant un ensemble (ElementSetSpecs
) de valeurs valides. Cet ensemble est spécifié à l'aide d'un langage d'expression qui inclut des unions facultatives et des intersections facultatives de Elements
. Elements
peut être plusieurs choses (en fonction du type de cible) comprenant soit SingleValue
(indiquant une valeur unique) ou un ValueRange
(indiquant une plage proche ou ouverte)
Exactement ce que je avais besoin. Merci pour la réponse géniale et détaillée! –