Qualifica del modello GDL
Modello e tutti i modelli direttamente o indirettamente derivati da tale modello formano un albero di ereditarietà o un sotto albero secondario. Tuttavia, i modelli derivati che hanno ridefinito *Costrutti nome sono esclusi da questo albero.
Quando un modello viene denominato in un elenco *Membri, il parser GDL considera il modello denominato e ogni modello derivato dal modello denominato come candidato per l'associazione. Se in questo albero di ereditarietà sono presenti più modelli, il parser selezionerà il modello più adatto ai criteri da associare alla voce di dati. Per qualificare come modello che rappresenta una determinata voce di dati, il modello deve soddisfare i criteri seguenti:
Un modello dichiarato come *Virtual viene automaticamente squalificato. Tuttavia, tutti i modelli derivati vengono considerati.
Il costrutto *Nome del modello deve corrispondere alla parola chiave della voce di dati. Si noti che il *Nome può essere ereditato.
Se la voce di dati è un costrutto, un elemento nell'elenco *Istanze del modello deve corrispondere al nome dell'istanza del costrutto di dati. Inoltre, ogni modello di base da cui eredita il modello qualificato deve soddisfare anche questo requisito. Non tutti i modelli in una catena di ereditarietà devono avere una voce *Istanze; quelli che non dispongono di questa voce si presuppone che siano soddisfatti questo requisito per impostazione predefinita.
Se più modelli in un albero di ereditarietà sono qualificati, vengono considerati i criteri aggiuntivi seguenti:
- Se un modello si qualifica avendo ogni modello nella catena di ereditarietà soddisfa il requisito del nome dell'istanza per impostazione predefinita o usando il carattere jolly <ANY> e se un altro modello qualificato dispone di uno o più modelli nella catena di ereditarietà soddisfa il requisito del nome dell'istanza con una corrispondenza esplicita, verrà usato il modello che usa la corrispondenza esplicita.
- Dei modelli di qualificazione rimanenti, verrà usato il modello più derivato.
- Dei modelli di qualificazione rimanenti, verrà usato il modello definito più di recente.