生產範本指示詞
*生產範本指示詞會指定可在特定建構中出現之成員的有效組合。 這個指示詞只能出現在具有 *Type: CONSTRUCT 的範本內。
如果存在此指示詞,則會根據系結至生產主機範本之建構的每個實例評估生產環境。 主機範本是包含 Production 指示詞的範本。 如果 Production 指示詞評估為 FALSE,則會發出警告訊息,但處理不受影響。 如果主機範本未包含生產指示詞,則不會執行驗證。
*Production 指示詞會出現在主機範本建構的根層級。 如果根層級出現多個 *Production 指示詞,則只會評估最近定義的指示詞。 評估 Production 指示詞的結果是布林值。
*Production 指示詞本身是建構。 *Production 指示詞的子項目是其他 *Production 建構或 *Member 建構,或兩者的組合 (也稱為子生產) 。 您無法在 *Production 指示詞中使用命名空間指示詞。
包含在 *Production 指示詞中的每個子生產環境也會評估為 TRUE 或 FALSE。 先評估其每個子生產環境,以評估 Production 指示詞。 封入父 Production 指示詞的結果是針對每個子生產環境的結果執行簡單的邏輯作業來取得。 要套用的邏輯作業類型是由 *Production 指示詞的 vValue 所指定。
*Production 指示詞的值可以是下列其中一個符號:EXACTLY_ONE、SATISFY_ALL或AT_LEAST_ONE。
下列範例顯示生產指示詞。
*Production: EXACTLY_ONE
{ ... child Productions ... }
下列演算法會定義生產指示詞值:
如果生產環境指定EXACTLY_ONE,如果只有一個子生產環境評估為 TRUE ,則此生產環境會評估為 TRUE,其餘值為 FALSE。 否則,生產環境會評估為 FALSE。
如果生產環境指定SATISFY_ALL,則只有在所有子生產環境都評估為 TRUE 時,此生產環境才會評估為 TRUE。 否則,生產環境會評估為 FALSE。
如果生產環境指定AT_LEAST_ONE,則如果至少有一或多個子生產環境評估為 TRUE ,則此生產環境會評估為 TRUE。 否則,生產環境會評估為 FALSE。
*生產指示詞可以巢狀至任意深度。