Создайте шаблон xslt, который создает дочерние элементы на основе условия, но с новым возрастающим номером индекса (XSLT 1.0).
Мне нужно сделать XSLT для изменения файла JDF. В этом файле есть 4 элемента списка выполнения, 2 из которых имеют атрибут EndOfDocument.
<RunList ID="RunList_1" NPage="1" PartIDKeys="Run" Status="Available" Class="Parameter">
<RunList Run="Asset0" DescriptiveName="000202KR">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="1.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset1" DescriptiveName="000203KR" EndOfDocument="true">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="2.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset2" DescriptiveName="00020a3KR">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="3.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset3" DescriptiveName="0asas00203KR" EndOfDocument="true">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="4.pdf" />
</LayoutElement>
</RunList>
</RunList>
На основе этого списка выполнения я создаю «GatheringParams», но создаваемый мной BundleItemIndex продолжает указывать 2 и 4 вместо 1 и 2, как я этого хочу.
<ResourcePool>
<GatheringParams PartIDKeys="BundleItemIndex" ID="GP001" Status="Available">
<GatheringParams BundleItemIndex="2" />
<GatheringParams BundleItemIndex="4" />
</GatheringParams>
<Media Class="Consumable" DescriptiveName="Media001" ID="Media001" Status="Available" />
<Media Cla2ss="Consumable" DescriptiveName="Media00" ID="Media002" Status="Available" />
<DigitalPrintingParams Class="Parameter" ID="DPP001" Collate="Sheet" OutputBin="AutoSelect" PartIDKeys="DocIndex DocRunIndex" Status="Available">
<DigitalPrintingParams DocIndex="0 ~ -1">
<DigitalPrintingParams DocRunIndex="0 ~ 1">
<MediaRef rRef="Media001" />
</DigitalPrintingParams>
<DigitalPrintingParams DocRunIndex="2 ~ -1">
<MediaRef rRef="Media002" />
</DigitalPrintingParams>
<Disjointing OffsetDirection="None" />
<MediaRef rRef="Media001" />
</DigitalPrintingParams>
</DigitalPrintingParams>
<RunList ID="RunList_1" NPage="1" PartIDKeys="Run" Status="Available" Class="Parameter">
<!-- sourceItemID = 000202KR -->
<RunList Run="Asset0" DescriptiveName="000202KR">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="http://10.31.31.68/1.pdf" />
</LayoutElement>
</RunList>
<!-- sourceItemID = 000203KR -->
<RunList Run="Asset1" DescriptiveName="000203KR" EndOfDocument="true" EndOfBundleItem="true">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="http://10.31.31.68/2.pdf" />
</LayoutElement>
</RunList>
<!-- sourceItemID = 000203KR -->
<RunList Run="Asset2" DescriptiveName="00020a3KR">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="http://10.31.31.68/3.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset3" DescriptiveName="0asas00203KR" EndOfDocument="true" EndOfBundleItem="true">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="http://10.31.31.68/4.pdf" />
</LayoutElement>
</RunList>
</RunList>
<Component ID="Component" ComponentType="FinalProduct" Status="Unavailable" Class="Quantity" />
</ResourcePool>
<ResourcePool>
<GatheringParams PartIDKeys="BundleItemIndex" ID="GP001" Status="Available">
<GatheringParams BundleItemIndex="2" />
<GatheringParams BundleItemIndex="4" />
</GatheringParams>
<Media Class="Consumable" DescriptiveName="MagnoPlusGloss_250_320x460" ID="Media001" Status="Available" />
<Media Class="Consumable" DescriptiveName="MagnoPlusGloss_115_320x460" ID="Media002" Status="Available" />
<DigitalPrintingParams Class="Parameter" ID="DPP001" Collate="Sheet" OutputBin="AutoSelect" PartIDKeys="DocIndex DocRunIndex" Status="Available">
<DigitalPrintingParams DocIndex="0 ~ -1">
<DigitalPrintingParams DocRunIndex="0 ~ 1">
<MediaRef rRef="Media001" />
</DigitalPrintingParams>
<DigitalPrintingParams DocRunIndex="2 ~ -1">
<MediaRef rRef="Media002" />
</DigitalPrintingParams>
<Disjointing OffsetDirection="None" />
<MediaRef rRef="Media001" />
</DigitalPrintingParams>
</DigitalPrintingParams>
<RunList ID="RunList_1" NPage="1" PartIDKeys="Run" Status="Available" Class="Parameter">
<RunList Run="Asset0" DescriptiveName="000202KR">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="1.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset1" DescriptiveName="000203KR" EndOfDocument="true" EndOfBundleItem="true">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="2.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset2" DescriptiveName="00020a3KR">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="3.pdf" />
</LayoutElement>
</RunList>
<RunList Run="Asset3" DescriptiveName="0asas00203KR" EndOfDocument="true" EndOfBundleItem="true">
<LayoutElement>
<FileSpec MimeType="application/pdf" URL="4.pdf" />
</LayoutElement>
</RunList>
</RunList>
<Component ID="Component" ComponentType="FinalProduct" Status="Unavailable" Class="Quantity" />
</ResourcePool>
Поскольку GatheringParams настроены при выборе в ResourcePool, я попытался настроить второй цикл:
JDF/ResourcePool/GatheringParams/
чтобы обновить GatheringParams-chlild отсюда, добавьте BundleItemIndex, но это не сработало