| Author for DITA / DITA Profiling / Conditional Text | |
A subject scheme map enables DITA users to create custom profiling values and to manage the profiling attribute values used in the DITA topics without having to write a DITA specialization.
<topicref href="test.ditamap" format="ditamap" type="subjectScheme"/>
A profiled value is a short and readable keyword that identifies a metadata attribute. For example, the audience metadata attribute may take a value that identifies the user group associated with a particular content unit. Typical user values for a medical-equipment product line might include therapist, oncologist, physicist, radiologist, surgeon and so on. A subject scheme map can define a list of these audience values:
<subjectScheme>
<!-- Pull in a scheme that defines audience user values -->
<subjectdef keys="users">
<subjectdef keys="therapist">
<subjectdef keys="oncologist">
<subjectdef keys="physicist">
<subjectdef keys="radiologist">
<subjectdef keys="surgeon">
<subjectdef keys="neuro-surgeon">
<subjectdef keys="plastic-surgeon">
</subjectdef>
</subjectdef>
<!-- Define an enumeration of the audience attribute, equal to
each value in the users subject. This makes the following values
valid for the audience attribute: therapist, oncologist, physicist, radiologist -->
<enumerationdef>
<attributedef name="audience"/>
<subjectdef keyref="users"/>
</enumerationdef>
</subjectScheme>
When editing a DITA Topic in Text mode or in Author mode, Oxygen XML Author plugin collects all the profiling values from the Subject Scheme Map that is referenced in the map currently opened in the DITA Maps Manager.
Now let us consider we have the following fragment in a topic:
<p audience="neuro-surgeon">Some text.. </p>
When you define a DITAVAL filter you can exclude for instance anything which is surgeon:
<val>
<prop action="exclude" att="audience" val="surgeon"/>
</val>
Then if you transform the main DITA Map specifying the DITAVAL filter file in the transformation scenario the p element should be excluded from the output. So excluding the "surgeon" audience excludes also the "neuro-surgeon" and "plastic-surgeon" from the output.