WITH COMPONENTS {
ListeDeContraintes }
COMPONENTS
permet de spécifier une contraite sur les propriétés d'une séquence ou d'un ensemble qui est surchargé.
La contrainte peut porter sur :
Si toutes les propriétés du type surchargé ne sont pas contraintes, il faut utiliser l'opérateur d'extension ...
.
-- Definition d'une sequence avec trois propriétes.
MonType1 ::= SEQUENCE
{
MonElementA INTEGER,
-- L'element MonElementA est obligatoire.
MonElementB INTEGER,
-- L'element MonElementB est obligatoire.
MonElementC INTEGER
-- L'element MonElementC est obligatoire.
}
-- Definition d'une surcharge du type precedent.
MonType2 ::= MonType1 (WITH COMPONENTS
{
MonElementA (1|2|3|4|5),
-- L'element MonElementA ne peut valeur que 1,2,3,4 ou 5.
MonElementB ABSENT,
-- L'element MonElementB est absent.
...
-- L'element MonElementC est inchange.
})