2015-08-06 3 views
0

Добрый день. Я новичок в XSLT. У меня есть требование генерировать порядковый номер для каждой строки, записанной в текстовый файл.Создать нумерацию последовательностей в XSLT

У меня есть 2 внутренних петли и один внешний для петли. Для каждого конкретного условия внешнего управления контуром проходит внутренняя 2 для петель. Первый внутренний цикл for-loop записывает пару строк в текстовый файл, за которым следует второй внутренний цикл for-loop.

Скажем, например, первый внутренний для цикла записывает 3 строки в текстовый файл, а затем второй внутренний пишет 2 строки в текстовый файл, то вывод должен быть как

SeqNo: 
1  
2 
3 
4 
5 

Ниже мой XML:

<Envelope> 
    <Body> 
     <Get_Compensation_Eligibility_Rules_Response version="v23.2"> 
      <Request_References> 
       <Compensation_Eligibility_Rule_Reference Descriptor="AAFT Workday Management"> 
        <ID type="WID">1a90d104082a101c6a5b8adb783c0891</ID> 
        <ID type="Condition_Rule_ID">CONDITION_RULE-6-999</ID> 
       </Compensation_Eligibility_Rule_Reference> 
      </Request_References> 
      <Response_Filter> 
       <As_Of_Effective_Date>2015-08-04-07:00</As_Of_Effective_Date> 
       <As_Of_Entry_DateTime>2015-08-04T23:51:56.000-07:00</As_Of_Entry_DateTime> 
       <Page>1</Page> 
       <Count>100</Count> 
      </Response_Filter> 
      <Response_Results> 
       <Total_Results>1</Total_Results> 
       <Total_Pages>1</Total_Pages> 
       <Page_Results>1</Page_Results> 
       <Page>1</Page> 
      </Response_Results> 
      <Response_Data> 
       <Compensation_Eligibility_Rule> 
        <Compensation_Eligibility_Rule_Data> 
         <Effective_Date>2015-08-04-07:00</Effective_Date> 
         <Rule_Data> 
          <Condition_Rule_ID>CONDITION_RULE-6-999</Condition_Rule_ID> 
          <Rule_Description>AAFT Workday Management</Rule_Description> 
          <Condition_Item_Data> 
           <Order>a</Order> 
           <And_Or_Operator_Reference Descriptor="And"> 
            <ID type="WID">da4e1c34446c11de98360015c5e6daf6</ID> 
            <ID type="And_Or_Operator_Name">And</ID> 
           </And_Or_Operator_Reference> 
           <Relational_Operator_Reference 
            Descriptor="any in the selection list"> 
            <ID type="WID">d5227566446c11de98360015c5e6daf6</ID> 
            <ID type="Relational_Operator_Name">any in the selection 
             list</ID> 
           </Relational_Operator_Reference> 
           <Condition_Entry_Option_Reference 
            Descriptor="Value specified in this filter"> 
            <ID type="WID">da59516c446c11de98360015c5e6daf6</ID> 
            <ID type="Condition_Entry_Option_Name">Value specified in 
             this filter</ID> 
           </Condition_Entry_Option_Reference> 
           <Source_External_Field_Reference 
            Descriptor="Organization and Superior Organizations (Compensation)"> 
            <ID type="WID">a82f9b81a414453cbf2b103af7d1484f</ID> 
           </Source_External_Field_Reference> 
           <Target_Instance_Reference 
            Descriptor="AAFT Workday (David Harris)"> 
            <ID type="WID">1a90d104082a101c6485a8ac1a3c0750</ID> 
            <ID type="Organization_Reference_ID" 
             >SUPERVISORY_ORGANIZATION-6-327</ID> 
           </Target_Instance_Reference> 
          </Condition_Item_Data> 
          <Condition_Item_Data> 
           <Order>b</Order> 
           <And_Or_Operator_Reference Descriptor="And"> 
            <ID type="WID">da4e1c34446c11de98360015c5e6daf6</ID> 
            <ID type="And_Or_Operator_Name">And</ID> 
           </And_Or_Operator_Reference> 
           <Relational_Operator_Reference 
            Descriptor="in the selection list"> 
            <ID type="WID">d5228d9e446c11de98360015c5e6daf6</ID> 
            <ID type="Relational_Operator_Name">in the selection 
             list</ID> 
           </Relational_Operator_Reference> 
           <Condition_Entry_Option_Reference 
            Descriptor="Value specified in this filter"> 
            <ID type="WID">da59516c446c11de98360015c5e6daf6</ID> 
            <ID type="Condition_Entry_Option_Name">Value specified in 
             this filter</ID> 
           </Condition_Entry_Option_Reference> 
           <Source_External_Field_Reference 
            Descriptor="Management Level (Compensation)"> 
            <ID type="WID">6c04adc731e645309d41fb9b9dc5de45</ID> 
           </Source_External_Field_Reference> 
           <Target_Instance_Reference Descriptor="6 Manager"> 
            <ID type="WID">0e93fa4e0cc94867adb662a0ee8430d5</ID> 
            <ID type="Management_Level_ID">6_Manager</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference Descriptor="5 Director"> 
            <ID type="WID">0b778018b3b44ca3959e498041865645</ID> 
            <ID type="Management_Level_ID">5_Director</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference Descriptor="4 Vice President"> 
            <ID type="WID">679d4d1ac6da40e19deb7d91e170431d</ID> 
            <ID type="Management_Level_ID">4_Vice_President</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference 
            Descriptor="3 Executive Vice President"> 
            <ID type="WID">0ceb3292987b474bbc40c751a1e22c69</ID> 
            <ID type="Management_Level_ID" 
             >3_Executive_Vice_President</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference 
            Descriptor="2 Chief Executive Officer"> 
            <ID type="WID">3de1f2834f064394a40a40a727fb6c6d</ID> 
            <ID type="Management_Level_ID" 
             >2_Chief_Executive_Officer</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference Descriptor="1 Board of Directors"> 
            <ID type="WID">438baab049b14657b7d52ddb4703cc3e</ID> 
            <ID type="Management_Level_ID">1_Board_of_Directors</ID> 
           </Target_Instance_Reference> 
          </Condition_Item_Data> 
         </Rule_Data> 
         <Compensation_Grade_Reference 
          Descriptor="AAFT Workday Management Grade"> 
          <ID type="WID">1a90d104082a101c6ad761aaeb2408ad</ID> 
          <ID type="Compensation_Grade_ID">COMPENSATION_GRADE-6-19</ID> 
         </Compensation_Grade_Reference> 
         <Compensation_Plan_Reference 
          Descriptor="AAFT Workday Car Allowance Plan"> 
          <ID type="WID">1a90d104082a101c6b7f66f03dfc08e8</ID> 
          <ID type="Compensation_Plan_ID">ALLOWANCE_AMOUNT_PLAN-6-14</ID> 
         </Compensation_Plan_Reference> 
         <Compensation_Plan_Reference Descriptor="AAFT Merit Plan"> 
          <ID type="WID">c49a621d552b102865843b4496fc91c7</ID> 
          <ID type="Compensation_Plan_ID">MERIT_PLAN-6-37</ID> 
         </Compensation_Plan_Reference> 
        </Compensation_Eligibility_Rule_Data> 
       </Compensation_Eligibility_Rule> 
      </Response_Data> 
     </Get_Compensation_Eligibility_Rules_Response> 
    </Body> 
</Envelope> 

Мой XSLT ниже:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="1.0"> 
    <xsl:output method="text"></xsl:output> 
    <xsl:strip-space elements="*"/> 

    <xsl:template match="Report_Data_Outer"> 

     <xsl:text>Eligibility Rule</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Reference ID</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>And Or Operator</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Relational Operator</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Entry_Option</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Source_External_Field</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Source_Condition_Rule</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Target_Instance</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Boolean</xsl:text> 
     <xsl:text>&#xD;&#xA;</xsl:text> 

     <xsl:for-each select="Envelope/Body/Get_Compensation_Eligibility_Rules_Response/Response_Data/Compensation_Eligibility_Rule/Compensation_Eligibility_Rule_Data/Rule_Data"> 


      <xsl:variable name="Rule_Description"><xsl:value-of select="(Rule_Description)"/></xsl:variable> 
      <xsl:variable name="Condition_Rule_ID"><xsl:value-of select="(Condition_Rule_ID)"/></xsl:variable> 

      <xsl:for-each select="Condition_Item_Data"> 
       <xsl:variable name="And_Or_Operator"><xsl:value-of select="(And_Or_Operator_Reference/ID[2])"/></xsl:variable> 
       <xsl:variable name="Relational_Operator"><xsl:value-of select="(Relational_Operator_Reference/ID[2])"/></xsl:variable> 
       <xsl:variable name="Condition_Entry_Option"><xsl:value-of select="(Condition_Entry_Option_Reference/ID[2])"/></xsl:variable> 
       <xsl:variable name="Source_External_Field"><xsl:value-of select="(Source_External_Field_Reference[1]/@Descriptor)"/></xsl:variable> 
       <xsl:variable name="Source_Condition_Rule"><xsl:value-of select="(Source_Condition_Rule_Reference[1]/@Descriptor)"/></xsl:variable> 
       <xsl:variable name="Boolean"><xsl:value-of select="(Filter_Boolean)"/></xsl:variable> 

       <xsl:for-each select="Target_Instance_Reference"> 
        <xsl:value-of select="position()"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Rule_Description"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Rule_ID"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$And_Or_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Relational_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Entry_Option"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_External_Field"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_Condition_Rule"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="@Descriptor"/> 
        <xsl:text>&#xD;&#xA;</xsl:text> 

       </xsl:for-each> 

       <xsl:for-each select="Filter_Boolean"> 
        <xsl:value-of select="position()"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Rule_Description"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Rule_ID"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$And_Or_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Relational_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Entry_Option"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_External_Field"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_Condition_Rule"/> 
        <xsl:text>,</xsl:text> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Boolean"/> 
        <xsl:text>&#xD;&#xA;</xsl:text> 
       </xsl:for-each> 

      </xsl:for-each> 

     </xsl:for-each> 

    </xsl:template> 
</xsl:stylesheet> 

внутренние циклы основаны на for-each select="Target_Instance_Reference" и for-each select="Filter_Boolean". Я попытался с помощью функции позиции, но он генерирует строки, как показано ниже:

последовательности чисел, сгенерированных: 1,1,2,3,4,5,6

Но это будет, как показано ниже (ожидаемое):

Ожидаемые порядковые номера: 1,2,3,4,5,6,7

Запрашивая гуру, пожалуйста, предложите мне, как я могу исправить свое поколение SeqNo.

Спасибо!

ответ

0

Ваши примеры не похоже на работу с копирования/вставки и у меня нет времени, чтобы понять, почему именно сейчас, но после того, беглый взгляд на таблицу стилей, я думаю, вы должны попробовать заменить:

<xsl:value-of select="position()"/> 

с

<xsl:number level="any" count="Target_Instance_Reference|Filter_Boolean"/> 

в обоих ваших внутренних петель (xsl:for-each «ы, которые выбирают Target_Instance_Reference и Filter_Boolean, если я правильно понимаю).

Вот немного измененная версия вашего XSLT, которая производит запрошенные порядковые номера. Тем не менее, Filter_Boolean не существует в XML-вводе, поэтому, если вы по-прежнему получаете неправильные порядковые номера, вам нужно будет обновить свой вопрос с помощью лучшего примера ввода.

XML Input

<Envelope> 
    <Body> 
     <Get_Compensation_Eligibility_Rules_Response version="v23.2"> 
      <Request_References> 
       <Compensation_Eligibility_Rule_Reference Descriptor="AAFT Workday Management"> 
        <ID type="WID">1a90d104082a101c6a5b8adb783c0891</ID> 
        <ID type="Condition_Rule_ID">CONDITION_RULE-6-999</ID> 
       </Compensation_Eligibility_Rule_Reference> 
      </Request_References> 
      <Response_Filter> 
       <As_Of_Effective_Date>2015-08-04-07:00</As_Of_Effective_Date> 
       <As_Of_Entry_DateTime>2015-08-04T23:51:56.000-07:00</As_Of_Entry_DateTime> 
       <Page>1</Page> 
       <Count>100</Count> 
      </Response_Filter> 
      <Response_Results> 
       <Total_Results>1</Total_Results> 
       <Total_Pages>1</Total_Pages> 
       <Page_Results>1</Page_Results> 
       <Page>1</Page> 
      </Response_Results> 
      <Response_Data> 
       <Compensation_Eligibility_Rule> 
        <Compensation_Eligibility_Rule_Data> 
         <Effective_Date>2015-08-04-07:00</Effective_Date> 
         <Rule_Data> 
          <Condition_Rule_ID>CONDITION_RULE-6-999</Condition_Rule_ID> 
          <Rule_Description>AAFT Workday Management</Rule_Description> 
          <Condition_Item_Data> 
           <Order>a</Order> 
           <And_Or_Operator_Reference Descriptor="And"> 
            <ID type="WID">da4e1c34446c11de98360015c5e6daf6</ID> 
            <ID type="And_Or_Operator_Name">And</ID> 
           </And_Or_Operator_Reference> 
           <Relational_Operator_Reference 
            Descriptor="any in the selection list"> 
            <ID type="WID">d5227566446c11de98360015c5e6daf6</ID> 
            <ID type="Relational_Operator_Name">any in the selection 
             list</ID> 
           </Relational_Operator_Reference> 
           <Condition_Entry_Option_Reference 
            Descriptor="Value specified in this filter"> 
            <ID type="WID">da59516c446c11de98360015c5e6daf6</ID> 
            <ID type="Condition_Entry_Option_Name">Value specified in 
             this filter</ID> 
           </Condition_Entry_Option_Reference> 
           <Source_External_Field_Reference 
            Descriptor="Organization and Superior Organizations (Compensation)"> 
            <ID type="WID">a82f9b81a414453cbf2b103af7d1484f</ID> 
           </Source_External_Field_Reference> 
           <Target_Instance_Reference 
            Descriptor="AAFT Workday (David Harris)"> 
            <ID type="WID">1a90d104082a101c6485a8ac1a3c0750</ID> 
            <ID type="Organization_Reference_ID" 
             >SUPERVISORY_ORGANIZATION-6-327</ID> 
           </Target_Instance_Reference> 
          </Condition_Item_Data> 
          <Condition_Item_Data> 
           <Order>b</Order> 
           <And_Or_Operator_Reference Descriptor="And"> 
            <ID type="WID">da4e1c34446c11de98360015c5e6daf6</ID> 
            <ID type="And_Or_Operator_Name">And</ID> 
           </And_Or_Operator_Reference> 
           <Relational_Operator_Reference 
            Descriptor="in the selection list"> 
            <ID type="WID">d5228d9e446c11de98360015c5e6daf6</ID> 
            <ID type="Relational_Operator_Name">in the selection 
             list</ID> 
           </Relational_Operator_Reference> 
           <Condition_Entry_Option_Reference 
            Descriptor="Value specified in this filter"> 
            <ID type="WID">da59516c446c11de98360015c5e6daf6</ID> 
            <ID type="Condition_Entry_Option_Name">Value specified in 
             this filter</ID> 
           </Condition_Entry_Option_Reference> 
           <Source_External_Field_Reference 
            Descriptor="Management Level (Compensation)"> 
            <ID type="WID">6c04adc731e645309d41fb9b9dc5de45</ID> 
           </Source_External_Field_Reference> 
           <Target_Instance_Reference Descriptor="6 Manager"> 
            <ID type="WID">0e93fa4e0cc94867adb662a0ee8430d5</ID> 
            <ID type="Management_Level_ID">6_Manager</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference Descriptor="5 Director"> 
            <ID type="WID">0b778018b3b44ca3959e498041865645</ID> 
            <ID type="Management_Level_ID">5_Director</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference Descriptor="4 Vice President"> 
            <ID type="WID">679d4d1ac6da40e19deb7d91e170431d</ID> 
            <ID type="Management_Level_ID">4_Vice_President</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference 
            Descriptor="3 Executive Vice President"> 
            <ID type="WID">0ceb3292987b474bbc40c751a1e22c69</ID> 
            <ID type="Management_Level_ID" 
             >3_Executive_Vice_President</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference 
            Descriptor="2 Chief Executive Officer"> 
            <ID type="WID">3de1f2834f064394a40a40a727fb6c6d</ID> 
            <ID type="Management_Level_ID" 
             >2_Chief_Executive_Officer</ID> 
           </Target_Instance_Reference> 
           <Target_Instance_Reference Descriptor="1 Board of Directors"> 
            <ID type="WID">438baab049b14657b7d52ddb4703cc3e</ID> 
            <ID type="Management_Level_ID">1_Board_of_Directors</ID> 
           </Target_Instance_Reference> 
          </Condition_Item_Data> 
         </Rule_Data> 
         <Compensation_Grade_Reference 
          Descriptor="AAFT Workday Management Grade"> 
          <ID type="WID">1a90d104082a101c6ad761aaeb2408ad</ID> 
          <ID type="Compensation_Grade_ID">COMPENSATION_GRADE-6-19</ID> 
         </Compensation_Grade_Reference> 
         <Compensation_Plan_Reference 
          Descriptor="AAFT Workday Car Allowance Plan"> 
          <ID type="WID">1a90d104082a101c6b7f66f03dfc08e8</ID> 
          <ID type="Compensation_Plan_ID">ALLOWANCE_AMOUNT_PLAN-6-14</ID> 
         </Compensation_Plan_Reference> 
         <Compensation_Plan_Reference Descriptor="AAFT Merit Plan"> 
          <ID type="WID">c49a621d552b102865843b4496fc91c7</ID> 
          <ID type="Compensation_Plan_ID">MERIT_PLAN-6-37</ID> 
         </Compensation_Plan_Reference> 
        </Compensation_Eligibility_Rule_Data> 
       </Compensation_Eligibility_Rule> 
      </Response_Data> 
     </Get_Compensation_Eligibility_Rules_Response> 
    </Body> 
</Envelope> 

XSLT 1,0

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" exclude-result-prefixes="xs" version="1.0"> 
    <xsl:output method="text"></xsl:output> 
    <xsl:strip-space elements="*"/> 

    <xsl:template match="/"> 

     <xsl:text>Eligibility Rule</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Reference ID</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>And Or Operator</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Relational Operator</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Entry_Option</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Source_External_Field</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Source_Condition_Rule</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Target_Instance</xsl:text> 
     <xsl:text>,</xsl:text> 
     <xsl:text>Boolean</xsl:text> 
     <xsl:text>&#xD;&#xA;</xsl:text> 

     <xsl:for-each select="Envelope/Body/Get_Compensation_Eligibility_Rules_Response/Response_Data/Compensation_Eligibility_Rule/Compensation_Eligibility_Rule_Data/Rule_Data"> 
      <xsl:variable name="Rule_Description"><xsl:value-of select="normalize-space(Rule_Description)"/></xsl:variable> 
      <xsl:variable name="Condition_Rule_ID"><xsl:value-of select="normalize-space(Condition_Rule_ID)"/></xsl:variable> 

      <xsl:for-each select="Condition_Item_Data"> 
       <xsl:variable name="And_Or_Operator"><xsl:value-of select="normalize-space(And_Or_Operator_Reference/ID[2])"/></xsl:variable> 
       <xsl:variable name="Relational_Operator"><xsl:value-of select="normalize-space(Relational_Operator_Reference/ID[2])"/></xsl:variable> 
       <xsl:variable name="Condition_Entry_Option"><xsl:value-of select="normalize-space(Condition_Entry_Option_Reference/ID[2])"/></xsl:variable> 
       <xsl:variable name="Source_External_Field"><xsl:value-of select="normalize-space(Source_External_Field_Reference[1]/@Descriptor)"/></xsl:variable> 
       <xsl:variable name="Source_Condition_Rule"><xsl:value-of select="normalize-space(Source_Condition_Rule_Reference[1]/@Descriptor)"/></xsl:variable> 
       <xsl:variable name="Boolean"><xsl:value-of select="normalize-space(Filter_Boolean)"/></xsl:variable> 

       <xsl:for-each select="Target_Instance_Reference"> 
        <xsl:number level="any" count="Target_Instance_Reference|Filter_Boolean"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Rule_Description"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Rule_ID"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$And_Or_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Relational_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Entry_Option"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_External_Field"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_Condition_Rule"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="@Descriptor"/> 
        <xsl:text>&#xD;&#xA;</xsl:text> 

       </xsl:for-each> 

       <xsl:for-each select="Filter_Boolean"> 
        <xsl:number level="any" count="Target_Instance_Reference|Filter_Boolean"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Rule_Description"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Rule_ID"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$And_Or_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Relational_Operator"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Condition_Entry_Option"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_External_Field"/> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Source_Condition_Rule"/> 
        <xsl:text>,</xsl:text> 
        <xsl:text>,</xsl:text> 
        <xsl:value-of select="$Boolean"/> 
        <xsl:text>&#xD;&#xA;</xsl:text> 
       </xsl:for-each> 

      </xsl:for-each> 

     </xsl:for-each> 

    </xsl:template> 
</xsl:stylesheet> 

Выход

Eligibility Rule,Reference ID,And Or Operator,Relational Operator,Entry_Option,Source_External_Field,Source_Condition_Rule,Target_Instance,Boolean 
1,AAFT Workday Management,CONDITION_RULE-6-999,And,any in the selection list,Value specified in this filter,Organization and Superior Organizations (Compensation),,AAFT Workday (David Harris) 
2,AAFT Workday Management,CONDITION_RULE-6-999,And,in the selection list,Value specified in this filter,Management Level (Compensation),,6 Manager 
3,AAFT Workday Management,CONDITION_RULE-6-999,And,in the selection list,Value specified in this filter,Management Level (Compensation),,5 Director 
4,AAFT Workday Management,CONDITION_RULE-6-999,And,in the selection list,Value specified in this filter,Management Level (Compensation),,4 Vice President 
5,AAFT Workday Management,CONDITION_RULE-6-999,And,in the selection list,Value specified in this filter,Management Level (Compensation),,3 Executive Vice President 
6,AAFT Workday Management,CONDITION_RULE-6-999,And,in the selection list,Value specified in this filter,Management Level (Compensation),,2 Chief Executive Officer 
7,AAFT Workday Management,CONDITION_RULE-6-999,And,in the selection list,Value specified in this filter,Management Level (Compensation),,1 Board of Directors 
+0

Благодаря Daniel для поиска в нем. генерирует для меня частично правильные результаты. Что он на самом деле делает, так это то, что он генерирует последовательность для первого внутреннего цикла for, например Sl.no: 1, 2,3,4, .... так далее до 330, а второй внутренний цикл создает еще одну последовательность, начиная с например, Sl.no: 1,2,3 ... так далее до 103. Мое требование состоит в том, чтобы сгенерировать sl.no начиная с1,2,3,4 и так далее до 433 (330, которые первые для цикла генерируют и 103, который будет генерировать второй цикл for). Sl.no - последовательно следует добавлять в текстовый файл как и когда я пишу строки в текстовый файл. – SasukeSurendra

+0

Я здесь новый, если я не очень ясен, то, пожалуйста, дайте мне знать. – SasukeSurendra

+0

@SasukeSurendra - Трудная часть ответа на этот вопрос заключается в том, что, если мы скопируем ваш входной XML и ваш XSLT и запустим их самостоятельно, мы не сможем воспроизвести то, что вы видите. Например, ваш единственный 'xsl: template' соответствует' Report_Data_Outer', который не существует на вашем входе. Если мы изменим это на '/', мы начнем получать достойный вывод, но поскольку на вашем входе нет 'Filter_Boolean', мы не можем воспроизвести порядковые номера, которые вы видите. –

Смежные вопросы