Different JDF clients can store the information in the JDF ticket in different ways. PRISMAdirect must be able to understand the different formats for each JDF client that wants to submit jobs. You have to create a JDF endpoint with separate mapping files per JDF client. Each JDF endpoint supports a different structure of the JDF ticket. For example, you need to support JDF tickets with Canon Production Printing syntax and JDF tickets with Kodak syntax. To solve this case, you have to create two JDF endpoints and assign a custom mapping files to each one. Now, PRISMAdirect can accept and interpret JDF tickets with Canon Production Printing and Kodak syntax simultaneously.
Consider a special finishing called "Square back binding" by a saddle press.
The JDF ticket can contain:
<JDF ...>
<ResourcePool>
<Component ID="Product_4" Class="Quantity" Status="Unavailable" ComponentType="PartialProduct"/>
<StitchingParams ID="ProcessID_5" Class="Parameter" Status="Available" StitchType="Saddle" NumberOfStitches="2">
<GeneralID IDUsage="oce:SaddlePress" IDValue="On"/>
<GeneralID IDUsage="oce:SaddlePressAdjustment" IDValue="+5"/>
</StitchingParams>
<Component ID="Product_5" Class="Quantity" Status="Unavailable" ComponentType="PartialProduct"/>
</ResourcePool>
<ResourceLinkPool>
...
</ResourceLinkPool>
</JDF>
The mapping node that determines if "Square back binding" has been selected can be:
<jc:ConditionalEnumMapping Name="BindingMethod" Optional="true">
<jc:ConditionalEnumValue AccessEnumValue="SquareBinding">
<jc:StringCondition JdfField="/jdf:JDF/jdf:ResourcePool/jdf:StitchingParams/jdf:GeneralID[@IDUsage='oce:SaddlePress']/@IDValue" ExpectedValue="On"/>
</jc:ConditionalEnumValue>
...
</jc:ConditionalEnumMapping>
The JDF ticket can contain:
<JDF Activation="Active" Category="DigitalPrinting" CommentURL="http://127.0.0.1" ICSVersions=" IDP_L1-1.0 Base_L3-1.0" ID="n0803_4792_00074" JobID="001" JobPartID="080623_105104792_000175" MaxVersion="1.3" SettingsPolicy="BestEffort" Status="Ready" Type="Combined" Types="LayoutPreparation Imposition Interpreting RenderingColorantControl DigitalPrinting Folding Trimming pod-wf:SaddlePress" Version="1.3" xmlns="http://www.CIP4.org/JDFSchema_1_1" xmlns:pod-wf="http://www.pod-wf.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="Combined">
<Comment/>
<ResourcePool>
<pod-wf:SaddlePressParams ID="SPP001" Class="Parameter"NoOp="false" pod-wf:PressLevel="+5" Status="Available"/>
...
</ResourcePool>
<ResourceLinkPool>
...
</ResourceLinkPool>
</JDF>
The mapping node that determines if "Square back binding" has been selected can be:
<jc:ConditionalEnumMapping Name="BindingMethod" Optional="true">
<jc:ConditionalEnumValue AccessEnumValue="SquareBinding">
<jc:StringCondition JdfField="/jdf:JDF/jdf:ResourcePool/pod-wf:SaddlePressParams/@Status" ExpectedValue="Available"/>
</jc:ConditionalEnumValue>
...
</jc:ConditionalEnumMapping>