2. Key points
The short answer is “very carefully!”
Applicability is a simple concept
Pulling it off successfully is NOT simple
You must understand the key pieces of:
Applicability Cross-reference Table (ACT)
Product Cross-reference Table (PCT)
Conditions Cross-reference Table (CCT)
The ACT and PCT are directly related to each other
The ACT defines what is in the PCT
The CCT defines four things:
Condition types
Conditions
Incorporation status
Applicability for incorporation status
3. The Applicability Cross-reference Table (ACT)
The applicability cross-reference table is a definition
of the product attributes used to define an instance
of a product in the product cross-reference table
(PCT) (major attributes – not minor ones)
It also holds a reference (at the end) to the CCT and
PCT data modules
Use of the ACT, PCT, and CCT are part of any
business rule decision making process for a given
project/product
If you create a PCT you must create an ACT (and
vice versa)
A CCT is optional
4. The ACT – an example
The ACT is not much more than a small data base table
definition (a schema) of what is going to be stored in the
PCT
A simple form is:
<content>
<applicCrossRefTable>
<productAttributeList>
<productAttribute id="model">
<name>Model ID</name>
<displayName>Model Identifier</displayName>
<descr/>
</productAttribute>
<productAttribute id="prodno">
<name>Production Number</name>
<displayName>Production number</displayName>
<descr/>
</productAttribute>
<productAttribute id="options">
<name>Options</name>
<displayName>Options</displayName>
<descr/>
</productAttribute>
…
</productAttributeList>
5. The Product Cross-reference Table (PCT)
A PCT is intended to hold EVERY instance of a product
where documentation was created to service or maintain
it –and– has “dynamic content” requirements for turning
on and off information relevant to differences in how each
instance of product is serviced or maintained.
A PCT data module cannot have holes in its product
attribute definitions. It has the same requirements as a
look-up table and look-ups will not work if there is any
missing data from the table
A PCT should only hold product instance information
Inclusion of conditions in a PCT data module will cause
problems for authoring and accurate usage of
applicability assertions
6. The PCT – an example
Notice how “model”, “prodno”, and “options” – defined in the ACT in the prior slide –
appear here. The ACT should also include a definition for “engine” and “owner”, but
we did not show that in the previous example.
<content>
<productCrossRefTable>
<product>
<assign applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValue="SB2000"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="prodno" applicPropertyValue="1"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="options" applicPropertyValue="TTT"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="engine" applicPropertyValue="3.0"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="owner" applicPropertyValue="Jerry"/>
</product>
<product>
<assign applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValue="SB2000"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="prodno" applicPropertyValue="2"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="options" applicPropertyValue="TAT"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="engine" applicPropertyValue="2.5"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="owner" applicPropertyValue="John"/>
</product>
<product>
<assign applicPropertyType="prodattr" applicPropertyIdent="model" applicPropertyValue="SB2000"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="prodno" applicPropertyValue="3"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="options" applicPropertyValue="TJA"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="engine" applicPropertyValue="3.0"/>
<assign applicPropertyType="prodattr" applicPropertyIdent="owner" applicPropertyValue="Joshua"/>
</product>
Data about each
instance of product
Product attributes
defined in the ACT
This doesn’t need to be here, but it is
defined in the schema. Everything in a
PCT data module IS (and should be) a
product attribute!
7. The Conditions Cross-reference Table (CCT)
The CCT is a difficult schema to understand due to all the
internal referencing to “id” attributes
If you do not use <incorporation> status of a service bulletin,
TCTO, product recall, etc then it gets a little easier
It can define 4 things:
1. Condition types
Environmental factors (temperature, pressures, etc)
Status types (PRE and POST)
2. Conditions
Service Bulletins, TCTOs, product recall notices, etc
3. Incorporation status
Status of Service Bulletins, TCTOs, etc
4. Applicability for incorporation status
<referencedApplicGroup> <applic> <evaluate> and <assert> entries
9. Managing Applicability
Managing applicability in the ACT and PCT is very
straightforward IF you ALWAYS set the
applicPropertyType attribute to “prodAttr” in a product
instance definition using the <assign> element
Creating applicability assertion statements is much easier
if you remember where product information is stored
(PCT) and where condition information is stored (CCT)
NEVER try to set the applicPropertyType attribute in an
applicability <assign> statement to “condition”.
applicPropertyType is also used in the applicability
<assert> statement to indicate to the transform WHERE
to look for the applicability resolution information:
prodAttr – look in the PCT
condition – look in the CCT
10. Managing Applicability (cont’d)
For every product that comes off the assembly line, put
an entry in the PCT
For each service bulletin, TCTO, or product recall notice,
create an S1000D publication by recycling procedural
content you have already authored and then assemble it
in the S1000D publication module for that service bulletin
Put a reference for each Publication Module created for a
service bulletin, TCTO, or product recall notice into the
<conditionList> container and always create an “id”
reference for that publication. Without the id reference,
you cannot create a <documentIncorporation> entry to
show PRE or POST applicability for any product
instances related to that publication.
11. Managing Applicability (cont’d)
Creating applicability for service bulletins is fairly simple
but generally is not recycled from any applicability
assertions you may have created for content in other
data modules (it is generally unique to each service
bulletin)
You cannot adequately manage the CCT if the PCT is not
consistent and always up to date
The CCT is the ONLY applicability data module that can
consume and use applicability
Applicability used for incorporation status should always
use the “unique” identifier for each instance of product
(usually something like production number as opposed to
serial number – a production number is usually very short
whereas a serial number or tail number can be much
longer)