Freigeben über


Membervorlagendirektive

Die *Member -Direktive ist ebenfalls ein Konstrukt. Der Wert dieses Konstrukts ist ein Vorlagenname. Dieser Vorlagenname muss in der *Members-Liste der Hostvorlage (d. a. der Vorlage, in der sich die Produktion befindet) oder in der Liste *Mitglieder angezeigt werden, von der die Hostvorlage erbt (direkt oder indirekt). Das *Member -Konstrukt kann ein optionales untergeordnetes Attribut mit dem Namen *Occurs enthalten.

*Occurs gibt die Anzahl von Instanzen an, die an die Vorlage gebunden sind, die von der *Members-Produktion angegeben wird, die innerhalb einer instance der Hostvorlage angezeigt werden kann. Instanzen, die eine Bindung an Vorlagen von der Vorlage ableiten, die von der *Member-Produktion benannt wird, zählen als Vorkommen einer instance dieser Vorlage. Wenn die Anzahl solcher Vorkommen innerhalb des Bereichs liegt, den die *Occurs-Direktive definiert, wird die *Member -Direktive zu TRUE ausgewertet. Andernfalls wird die Direktive als FALSE ausgewertet. Attribut- oder Konstruktvorlagen (*Typ: CONSTRUCT oder *Type: ATTRIBUTE) können in einem *Member -Konstrukt referenziert werden. Das *Member -Konstrukt, das in einer *Produktionsdirektive angezeigt wird, ist nicht identisch mit der *Members-Direktive, die als untergeordnetes Element einer *Template-Direktive angezeigt wird. *Member ist ein Konstrukt und ist singular, und *Members ist ein Attribut und ist plural (endet mit dem Buchstaben "s").

*Occurs gibt die Anzahl der Instanzen an, die an die Vorlage gebunden sind, die von der *Members-Produktion angegeben wird. Ein bestimmter Wert kann angegeben werden, oder ein Wertebereich kann mithilfe eines Zahlenpaars angegeben werden, das durch einen Bindestrich (-) getrennt ist. Wenn ein Bereich angegeben wird, muss die erste Zahl kleiner als die zweite sein. Negative Zahlen sind nicht zulässig. Der zulässige Bereich umfasst die angegebenen Endpunkte. Der Wert 0 ist zulässig. Der GPD-Platzhalter (*) ist zulässig und entspricht jedem Wert, der von 0 bis unendlich reicht. Wenn der Platzhalter (*) als oberer Endpunkt eines Bereichs angezeigt wird, gibt es keine Obergrenze. Wenn der Wildcard als untere Grenze eines Bereichs angezeigt wird, wird die Obergrenze ignoriert. Die Zahl oder das Zahlenpaar kann zur visuellen Hervorhebung in eckige Klammern ([]) eingeschlossen werden.

Wenn das Attribut *Occurs im *Member -Konstrukt ausgelassen wird, wird ein Bereich von 0 bis unendlich (d. h. [0-*]) angenommen, und die *Member -Produktion wird immer zu TRUE ausgewertet.

Wenn eine *Member -Produktion eine Konstruktvorlage benennt, unterscheidet die *Eintrittsanzahl nicht zwischen den verschiedenen Instanzen des Konstrukts. Daher haben drei verschiedene Instanzen eines Konstrukts, die an dieselbe Vorlage gebunden sind, die gleiche Vorkommensanzahl wie drei identische Instanzen desselben Konstrukts.

Wenn beispielsweise sowohl PaperSize als auch InputSlot an dieselbe Vorlage gebunden sind und *Feature: PaperSize zweimal definiert ist, beträgt die Anzahl der Vorkommen zwei. Wenn *Feature: PaperSize einmal und *Feature: InputSlot zweimal definiert ist, beträgt die Anzahl der Vorkommen drei.

Innerhalb der *Member -Anweisung sind keine anderen Attribute oder Konstrukte zulässig.

Wenn die *Members-Direktive in Verbindung mit dem Vorlagenbindungsprozess steht, versucht die *Members-Direktive, jedem untergeordneten Element, das in einem Konstrukt angezeigt wird, eine Vorlage zuzuordnen. Es gibt jedoch nicht an, wie oft ein untergeordnetes Element angezeigt werden kann, oder gibt keine Abhängigkeiten zwischen oder zwischen untergeordneten Elementen an. Die *Production-Direktive ist für die Angabe dieser Anforderungen zuständig. Beachten Sie, dass die *Members-Direktive auch dann noch erforderlich ist, wenn Sie die *Production-Direktive verwenden.