EXERCICE GDL 3 : Création de constructions Root-Level
Exercice
Modifiez le schéma de l’exercice 1 pour introduire une construction nommée *PFeature qui se trouve uniquement au niveau racine.
Utilisez les conditions suivantes :
*PFeature peut avoir n’importe quel nom instance.
*Les membres PFeature sont les attributs nommés *Name et *DefaultOption.
*PFeature a un membre de construction nommé *Poption qui doit être déclaré comme virtuel.
Solution
Le modèle suivant remplit les conditions précédentes.
*Template: POPTION
{
*Name: "*POption"
*Type: CONSTRUCT
*Virtual: TRUE
}
*Template: NAME
{
*Name: "*Name"
*Type: ATTRIBUTE
*ValueType: NORMAL_STRING
}
*Template: SYMBOL
{
*Type: DATATYPE
*DataType: FILTER_TYPE
*ElementType: XML_STRING
*FilterTypeName: "SYMBOLNAME"
}
*Template: DEFAULT_OPT
{
*Name: "*DefaultOption"
*Type: ATTRIBUTE
*ValueType: SYMBOL
}
*Template: PFEATURE
{
*Name: "*PFeature"
*Type: CONSTRUCT
*Members: (POPTION, NAME, DEFAULT_OPT)
*Instances: <ANY>
}
*Template: ROOT2
{
*Inherits: ROOT
*Members: (PFEATURE)
}