Partager via


Exercice GDL 1 : Implémentation d’un schéma GDL

Exercice

Implémentez un schéma qui crée trois catégories d’attributs et n’impose pas de restrictions sur l’emplacement des constructions.

Ces attributs doivent être divisés en catégories suivantes :

  • Attributs qui peuvent apparaître au niveau racine et dans les constructions.

  • Attributs qui peuvent apparaître uniquement au niveau racine.

  • Attributs qui peuvent apparaître uniquement dans les constructions.

Ne définissez aucun mot clé dans votre schéma ; incluez simplement le framework pour les mots clés futurs.

Note À l’aide de modèles, vous pouvez créer un schéma virtuel, c’est-à-dire un schéma qui ne définit aucune entrée GDL. Le schéma de base défini de cette façon exerce son influence, quelle que soit la façon dont ce schéma sera étendu à l’avenir.

Solution

L’exemple de code suivant montre une façon d’effectuer cet exercice.

*Template:  ATTRIBUTE
{
    *Type:  ATTRIBUTE
    *Virtual:  TRUE
}
*Template:  ROOT_ATTRIB
{
    *Inherits: ATTRIBUTE
    *Virtual:  TRUE
}
*Template:     CONSTRUCT_ATTRIB  *%  May not appear at Root level
{
    *Inherits: ATTRIBUTE
    *Virtual:  TRUE
}
*Template:     FREEFLOAT
{
    *Inherits: ATTRIBUTE
    *Virtual:  TRUE
}
*Template:  CONSTRUCTS
{
    *Type: CONSTRUCT
    *Members:  ( CONSTRUCTS, FREEFLOAT, CONSTRUCT_ATTRIB)
    *Virtual:  TRUE
}

*Template:  ROOT
{
            *Type: CONSTRUCT
            *AllowNewMembers: FALSE
            *Name:  "root"
            *Instances:  <ANY>
            *Members:  (ROOT_ATTRIB, FREEFLOAT, CONSTRUCTS)
}

Note Vous pouvez placer les modèles dans l’exemple précédent dans un fichier MasterTemplate.gdl à utiliser lors de l’exercice suivant.