ContainerReq Element (Data): Difference between revisions

From HLKitWiki
Jump to navigationJump to search
 
Line 27: Line 27:
{{important}}This element is only applicable when the container requirement is defined within a component. In all other cases, this element may not be specified.
{{important}}This element is only applicable when the container requirement is defined within a component. In all other cases, this element may not be specified.
|-
|-
|[[Before Element (Data)|before]]
|[[Before/After Element (Data)|before]]
|Zero or more "before" elements may appear as defined by the given link. This element specifies appropriate timing dependencies possessed by the container requirement.
|Zero or more "before" elements may appear as defined by the given link. This element specifies appropriate timing dependencies possessed by the container requirement.
|-
|-
|[[After Element (Data)|after]]
|[[Before/After Element (Data)|after]]
|Zero or more "after" elements may appear as defined by the given link. This element specifies appropriate timing dependencies possessed by the container requirement.
|Zero or more "after" elements may appear as defined by the given link. This element specifies appropriate timing dependencies possessed by the container requirement.
|-
|-

Latest revision as of 12:10, 28 November 2008

Context: HL Kit … Kit Reference  … Multiple Sources

The "containerreq" Element

There will be times when you need to establish a condition for a thing where its container must satisfy a set of criteria. The criteria are spelled out via a Container tag expression. The tag expression is applied against the prospective container of the thing. If the container does not satisfy the tag expression, then the thing must be treated as if it simply doesn't exist within the container. Each separate set of requirements is specified through the use of a "containerreq" element. The complete list of attributes for this element is below.

phase Id – Specifies the unique id of the evaluation phase during which the tag expression is tested.
priority Integer – Specifies the evaluation priority during which the tag expression is tested.
name (Optional) Text – Specifies the name assigned to this test for the purpose of establishing timing dependencies. If empty, no timing dependencies may be defined elsewhere that depend upon this test. Default: Empty.
PCDATA TagExpr – Specifies the code comprising the Container tag expression.

The "containerreq" element also possesses child elements that pertain to the requirements upon the container. The list of these child elements is below and must appear in the order shown. Click on the link to access the details for each element.

match An optional "match" element may appear as defined by the given link. This element defines the Match Tag Expression. If omitted, all things are assumed to match and the container requirement test is applied to them all.

IMPORTANT! This element is only applicable when the container requirement is defined within a component. In all other cases, this element may not be specified.

before Zero or more "before" elements may appear as defined by the given link. This element specifies appropriate timing dependencies possessed by the container requirement.
after Zero or more "after" elements may appear as defined by the given link. This element specifies appropriate timing dependencies possessed by the container requirement.

The "match" Element

The "match" element defines the Match tag expression that determines whether a particular thing is subject to the container requirement. The tag expression is applied against each thing derived from the component, and the requirement is only assigned to things that satisfy the tag expression. The complete list of attributes for this element is below.

PCDATA TagExpr – Specifies the code comprising the Match tag expression.

Example

The following example demonstrates what a "containerreq" element might look like. All default values are assumed for optional attributes.

<containerreq phase="Setup" priority="500" name="MyTest>
  <before name="BeforeTest"/>
  <after name="AfterTest"/>
  val:Level.? >= 4
  </containerreq>