Additional Windchill Capabilities > Service Information Management > About Windchill Service Information Manager — S1000D Module > Additions to Arbortext Editor > Working with the S1000D Module > Validate Data Module Against the BREX
  
Validate Data Module Against the BREX
To validate the current data module against the product’s business rules, as specified in the BREX data module:
1. In Arbortext Editor, select S1000D > Brex Validate.
2. A message box is displayed, indicating if the validation was successful.
If not, the Brex Validation dialog box displays information and error messages as applicable.
For more information, see Brex Validation Dialog Box.
Business rules in a BREX data module are based on values of the allowedObjectFlag attributes for permitted objects or elements in a project data module. Messages are generated for the objects or elements during BREX validation:
Messages Generated During BREX Validation
Value
Meaning
Message Generated
0
Object is not allowed in context
Error
If object is present in context
1
Object must be included in context
Error
If object is not present in current context
2
Object is optional in context
(Issue 4.1 and later)
Information
If object is present in context
Not set
Object is optional in context
(Assumed)
Information
If object is present in context
* 
See Additions to BREX validation for 4.2 Products below for information on messages generated during validation of Issue 4.2 content.
You can generate debug information about a BREX validation action. For more information, see Troubleshoot a BREX Validation Action.
BREX Validation against a Specific Context
You can specify that a BREX validation rule should only be processed when validating a certain context. Include a rulesContext attribute for the contextRules element that represents a BREX rule, to define the schema of its target data module type.
For example, this rule will only be processed for a comment 4.1 data module:
<contextRules rulesContext="http://www.s1000d.org/S1000D_4-1/xml_schema_flat/comment.xsd">
<structureObjectRuleGroup>
<structureObjectRule>
<objectPath allowedObjectFlag="2">//comment</objectPath>
<objectUse>The comment object is not applied to these projects</objectUse>
</structureObjectRule>
</structureObjectRuleGroup>
</contextRules>
If the rulesContext attribute is not set for a rule, it is assumed that the rule is valid for all contexts.
Check In after BREX Validation
After BREX validation, check in of the project data module is permitted if:
Validation resulted in no messages
Only information messages were generated during validation
The product attribute Allow Check In With Invalid Brex is set to Yes (if errors were generated during validation)
A Release for Verification task for a data module can also be completed if only information messages were generated during validation..
Additions to BREX validation for 4.2 Products
Additional refinement for a BREX validation process is included for S1000D 4.2 products:
Business rules severity levels —settings for individual rules or a default level for the whole BREX data module
Severity level for individual rules
Set a value for the brSeverityLevel attribute for rule elements nonContextRule, notationRule, snsRules, and structureObjectRule (optional)
Default severity level for whole BREX or Business Rules Document data module, or for rules in the data module that don’t have an individual level set
Set a value for the defaultBrSeverityLevel attribute for the root element brex (S1000D 4.2 BREX) or brDoc (S1000D 4.2 Business Rules Document)
Business rules breach severity levels preference — list of severity levels for which a breach of a rule with one of the listed levels will cause a failure of BREX validation
For more information, see Business Rules.
With these options, it is possible to configure BREX validation to only fail if rules of a specific severity level are breached. BREX validation refers to the list of severity levels specified with the preference as constituting a validation failure. It then analyzes any severity level set for individual rule, and any default severity level set, and passes/fails content accordingly:
If content fails against a rule whose severity (from individual setting or from default level) is listed in the preference — BREX validation fails
If content fails against a rule whose severity (from individual setting or from default level) is not listed in the preference, BREX validation will not fail but the breaches are listed in the validation report:
if the allowedObjectFlag attribute for the rule is set to 0 or 1 — output as a Warning
if allowedObjectFlag is set to 2, or is not set — output as Information
If content fails against a rule that does not have a severity set, either individually or as part of the default setting, BREX validation operates as in 4.0.1 and 4.1 products. The breaches are listed in the validation report based on the value of the rule’s allowedObjectFlag attribute (see table Messages Generated During BREX Validation above).