Delen via


GDL-oefening 1: een GDL-schema implementeren

Oefening

Implementeer een schema dat drie categorieën kenmerken maakt en geen beperkingen oplegt voor waar constructies zich kunnen bevinden.

Deze kenmerken moeten worden onderverdeeld in de volgende categorieën:

  • Kenmerken die kunnen worden weergegeven op het hoofdniveau en binnen constructies.

  • Kenmerken die alleen op het hoofdniveau kunnen worden weergegeven.

  • Kenmerken die alleen binnen constructies kunnen worden weergegeven.

Definieer geen trefwoorden in uw schema; neem alleen het framework voor de toekomstige trefwoorden op.

Opmerking Met behulp van sjablonen kunt u een virtueel schema maken, een schema dat geen GDL-vermeldingen definieert. Het basisschema dat op deze manier is gedefinieerd, oefent zijn invloed uit, ongeacht hoe dit schema in de toekomst wordt uitgebreid.

oplossing

In het volgende codevoorbeeld ziet u een manier om deze oefening te voltooien.

*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)
}

Opmerking U kunt de sjablonen in het voorgaande voorbeeld in een MasterTemplate.gdl-bestand plaatsen voor gebruik in de volgende oefening.