Создайте шаблон 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, но это не сработало

0 ответов

Другие вопросы по тегам