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.