Astoria provides two strategies to manage conditional processing by effectivity values.
Effectivity can be configured for either Multiple Effectivities or Single Effectivity. The two methods cannot be used simultaneously.
Multiple effectivities, or client-based effectivity, can involve multiple effectivity XPaths per document. These XPaths are not defined ahead of time, but are specified when a job is submitted.
For publishing based on the DITA standard, if an organization does not choose to use the Astoria Filtering feature for conditional processing, configuring the system for Multiple Effectivities can be an option, because the numerous structured documents used for DITA publishing do not each need to specify the list of possible effectivity values.
When submitting a job using multiple effectivities conditional processing, the user specifies a list of XPath expressions and values for each conditional processing attribute in a repeat group. See Using Multiple Effectivities for Conditional Processing.
Multiple Effectivities can be configured to use exclude values. If the Effectivity Exclusion String defined in the application document is inserted at the start of the effectivity value, elements that match the value are excluded from the output. A user can specify multiple exclude values.
Single effectivity is not typically used for publishing based on the DITA standard, which use multiple structured documents based on a variety of DTDs. It can be used for non-DITA documents that are published from a single structured document based on a single DTD.
XPath Type | Description |
---|---|
Effectivity Definition XPath | The XPath that defines the list of all possibly effectivities. For example, let's say you want to filter on car types. So your effectivity values might be:
Somewhere in your document you need to define this list. That location is defined by this XPath. For example, your DTD defines an attribute on the root element called |
Effectivity Scope XPath | During the conditional processing of the document, Astoria needs to decide whether to filter out each element. This XPath defines where the effectivity values are for each element, relative to that element. For example, your DTD also defines an attribute, on several elements, called |
<doc effectivityList="sedan hatchback coupe SUV wagon minivan">
<para bodyType="sedan coupe">…</para>
for each element to be filtered.When submitting a job using single effectivity conditional processing, the user is presented a list of available effectivity values (based on the effectivityList
attribute on the root element), and can select the values to use for that particular job. See Using Single Effectivity for Conditional Processing.