<prop>
  
The <prop> element in a DITAVAL
    document specifies filtering or flagging actions that occur when
    rendering. The actions target the @props attribute or
    specializations of @props, including
    @audience, @deliveryTarget,
      @otherprops, @platform, and
      @product.
Usage information
The following table lists the functions that
          are performed by the <prop> element
        in a DITAVAL document:
| Markup | Result | 
|---|---|
 A <prop> element that specifies
            both an @att and a
            @val attribute | 
          Specifies an action (exclude, flag, include, or pass through) for the attribute or attribute group with the specified value | 
A <prop> element that specifies
            only an @att attribute | 
          Sets a default action for the specified attribute or attribute group | 
A <prop> element without an
              @att and @val attribute  | 
          Sets a default action for all conditional-processing attributes not explicitly specified in the DITAVAL document | 
Rendering expectations
@color and @backcolor
          attributes on <prop> and
            <revprop>, processors SHOULD support at least the following values:- The color names listed under the heading "<color>" in the XSL version 1.1 specification
 - The associated hex code
 
@style attribute
          on <rev> and
            <revprop>, processors SHOULD support the following tokens:- bold
 - double-underline
 - italics
 - overline
 - underline
 
In addition, processors MAY support proprietary tokens
          for the @style attribute. Such tokens SHOULD have a processor-specific
          prefix to identify them as proprietary. If a processor encounters
          an unsupported style token, it MAY issue a warning, and it MAY render content that is
          flagged with such a style token by using some default
          formatting.
Processing expectations
- More than one 
<prop>element with no@attattribute - More than one 
<prop>element with the same@attattribute and no value - More than one 
<prop>element with the same@attattribute and same@value 
The following list outlines how processors apply
            @outputclass flags:
- If one or more DITAVAL properties apply
              
@outputclassflags to the same element, and the element already specifies one or more values for the@outputclassattribute, processors treat the element as if the tokens for the@outputclassattribute that were provided in the DITAVAL document are specified first. - If two or more DITAVAL properties apply
              
@outputclassflags to the same element, processors treat the element as if each value was specified for the@outputclassattribute. The order of the tokens for the@outputclassattribute that were provided in the DITAVAL document is undefined. 
Content model
<startflag>?, <endflag>?
Contained by
<val>
- Optional 
<startflag> - Optional 
<endflag> 
Contained by
<val>
Attributes
The following attributes are available on this element:
@action(REQUIRED)- 
            
Specifies the action to be taken. The following values are supported:
- exclude
 - Indicates that the content is excluded from the output, if all values for the specified attribute are excluded.
 - flag
 - Indicates that the content is included in the output and flagged, if the content has not been excluded.
 - include
 - Indicates that the content is included in the output. This is the default behavior, unless otherwise set.
 - passthrough
 - Indicates that the content is included in the output and that the attribute value is preserved. This enables further processing by a runtime engine.
 
 @att- Specifies the conditional-processing attribute that is targeted. The value is the
            literal attribute name or the name of a group within one of those attributes, with the
            group name specified using the generalized attribute syntax. If the 
@attattribute is absent, then the<prop>element declares a default behavior for anything not explicitly specified in the DITAVAL document. @val- Specifies the attribute value that is targeted. If the
              
@valattribute is absent, then the<prop>element declares a default behavior for any value in the specified attribute. 
The following
        attributes are only applicable when the @action
        attribute is set to flag. If the
          @action attribute is not set to
          flag, any value specified for these attributes
        are ignored.
@backcolor- Specifies the background color for flagged text. Colors can be entered by name or hex code. When images are flagged, the background color is rendered as a thick border.
 @color- Specifies the color for flagged text. Colors can be entered by name or hex code. When images are flagged, the color is rendered as a thin border.
 @outputclass- Specifies a value for the 
@outputclassattribute. The flagged element is treated as if the specified@outputclassvalue was specified on that element. @style- Specifies the formatting to use for flagged text. This attribute can contain multiple space-delimited tokens.
 
@action(REQUIRED)- 
            
Specifies the action to be taken. The following values are supported:
- exclude
 - Indicates that the content is excluded from the output, if all values for the specified attribute are excluded.
 - flag
 - Indicates that the content is included in the output and flagged, if the content has not been excluded.
 - include
 - Indicates that the content is included in the output. This is the default behavior, unless otherwise set.
 - passthrough
 - Indicates that the content is included in the output and that the attribute value is preserved. This enables further processing by a runtime engine.
 
 @att- Specifies the conditional-processing attribute that is targeted. The value is the
            literal attribute name or the name of a group within one of those attributes, with the
            group name specified using the generalized attribute syntax. If the 
@attattribute is absent, then the<prop>element declares a default behavior for anything not explicitly specified in the DITAVAL document. @backcolor- Specifies the background color for flagged text. Colors can be entered by name or hex code. When images are flagged, the background color is rendered as a thick border.
 @color- Specifies the color for flagged text. Colors can be entered by name or hex code. When images are flagged, the color is rendered as a thin border.
 @outputclass- Specifies a value for the 
@outputclassattribute. The flagged element is treated as if the specified@outputclassvalue was specified on that element. @style- Specifies the formatting to use for flagged text. This attribute can contain multiple space-delimited tokens.
 @val- Specifies the attribute value that is targeted. If the
              
@valattribute is absent, then the<prop>element declares a default behavior for any value in the specified attribute. 
Example
This section is non-normative.
The following code sample shows a DITAVAL document that contains
        three <prop> elements:
<?xml version="1.0" encoding="UTF-8"?>
<val>
  <prop action="exclude"/>
  <prop action="passthrough" att="otherprops"/>
  <prop action="include" att="product" val="base-product"/>
</val>
      The following list outlines the actions that the DITAVAL document specifies:
- Sets a default action of exclude. With the exception of the other conditions that are specified in the above DITAVAL document, the content of any element that specifies a conditional-processing attribute is excluded from the rendered output.
 - Sets a default action of passthrough for the
            
@otherpropsattribute. The content of any element that specifies the@otherpropsattribute is included in the output. In addition, the value for the@otherpropsattribute is preserved in the rendered output, if supported by the output format. - Sets an action of include for any element
          that specifies a value of base-product for the
            
@productattribute. The content of any element that specifies a value of base-product for the@productattribute is included in the rendered output. 
When a DITA map is processed using the above DITAVAL document, the following DITA elements are excluded:
- Any element for which the 
@audience,@deliveryTarget,@platform, and@propsattributes (or specializations of@props) specify a non-null value. - Any element for which the 
@productattribute specifies a value that is not equal to base-product. 
All other content is included.