Conditional processing attributes can be specified using grouped values. Groups organize the attributes into
subcategories. This is intended to support situations where an attribute applies to multiple
specialized subcategories. For example, suppose a company needs to filter content for
several internal teams (operations and support) and they use the
@audience attribute with the values ops and
support, but the Support team has several levels of personnel (L1, L2,
and L3). They could use a group to define the levels (L1, L2, and L3)
as subcategories for the support value. Using groups for these
subcategories allows each category to be processed independently.
A major advantage is that you do not need to add new profiling attributes using a DTD
specialization. You can re-use existing DITA profiling attributes (such as
@product, @audience, @otherprops) and
specify multiple attribute subcategories.
To add new attributes and values, click the
New button at the bottom of the
Profiling Attributes table. To customize existing attributes
and their values, select an attribute and click the
Edit button.
Step Result: In either case, this opens a Profiling Attribute configuration dialog box where you can define attributes that exist in your schema.
Specify the appropriate values for the Document type, Attribute name, and Display name.
For information about the Profiling Attribute configuration dialog box, see Defining Profiling Attributes for DITA Content.
New button at the bottom of the attribute values
table.ParentAttrValue(SubAttrValue1
SubAttrValue2). For
example:support(L1 L2 L3)<val>
<prop action="include" att="support" val="L1"/>
<prop action="include" att="support" val="L2"/>
<prop action="exclude" att="support" val="L3"/>
</val>That DITAVAL file could then be used for a condition
set to filter content in Author mode or during the
transformation stage to filter
content in the output and content profiled with the L1 and
L2 values would be included while content with the L3
value would be excluded.
L1, L2,
L3) by simply excluding the support value (since
L1, L2, and L3 are subcategories of
it).<val>
<prop action="exclude" att="support"/>
</val><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE subjectScheme PUBLIC "-//OASIS//DTD DITA Subject Scheme Map//EN" "subjectScheme.dtd">
<subjectScheme>
<enumerationdef>
<attributedef name="product"/>
<subjectdef keys="productKeys">
<subjectdef keys="myGroup1(gr1v1)"/>
<subjectdef keys="myGroup1(gr1v2)"/>
<subjectdef keys="product1"/>
</subjectdef>
</enumerationdef>
</subjectScheme>In the above example, myGroup1 is the profiling
attribute group for the @product attribute and gr1v1
and gr1v2 in parentheses are the values.
For more information about advanced DITA profiling concepts, watch our Webinar: Working with DITA in Oxygen - Advanced Profiling and Reuse Strategies.