<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.