2014-09-05 3 views
0

XSLT 드롭 다운 목록에서 미리 선택된 값을 설정하려고합니다. 따라서 결과가 채워지는 경우XSLT 드롭 다운 목록의 기본값

이 방법이 효과적이지만 프롬프트 중 하나에서 결과 응답 만 설정 한 다음 응답 결과가 포함 된 다른 후속 드롭 다운 목록에 대해 설정합니다.

<Prompt> 
     <DateOfAnswer>2014-09-05T15:08:00</DateOfAnswer> 
     <ID>226</ID> 
     <SelectedOutcome/> 
     <AnsweredOutcome>Lead Generated passed to SLD</AnsweredOutcome> 
     <PromptOutcomes> 
      <PromptOutcome> 
       <Outcome/> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>No</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Not Interested</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Interested but no follow up</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Lead Generated passed to SLD</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Interested referred to IFA</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Customer Unhappy do not ask again</Outcome> 
      </PromptOutcome> 
     </PromptOutcomes> 
     <PromptMessage>Does the customer have pensions elsewhere they'd like to consolidate with Standard Life?</PromptMessage> 
     <ChildMessages/> 
     <PromptType>Opportunity</PromptType> 
     <Link>ConsolidationGuide</Link> 
     <Priority>22</Priority> 
    </Prompt> 
    <Prompt> 
     <DateOfAnswer xsi:nil="true"/> 
     <ID>227</ID> 
     <SelectedOutcome/> 
     <PromptOutcomes> 
      <PromptOutcome> 
       <Outcome/> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>In new employers scheme</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Left Employer</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Restart customer/employer contributions</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>No restart of customer/employer contributions</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Customer Unhappy do not ask again</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Plan Updated to Direct</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Not Interested</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>No other pensions</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Interested but no follow up</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Lead Generated passed to SLD</Outcome> 
      </PromptOutcome> 
      <PromptOutcome> 
       <Outcome>Interested referred to IFA</Outcome> 
      </PromptOutcome> 
     </PromptOutcomes> 
     <PromptMessage>Possible workplace leaver</PromptMessage> 
     <ChildMessages> 
      <PromptMessage> 
       <Message>Does the customer have any other pensions?</Message> 
      </PromptMessage> 
      <PromptMessage> 
       <Message>Has customer left employer?</Message> 
      </PromptMessage> 
      <PromptMessage> 
       <Message>Restart customer/employer payments?</Message> 
      </PromptMessage> 
     </ChildMessages> 
     <PromptType>Opportunity</PromptType> 
     <Priority>23</Priority> 
    </Prompt> 

<xsl:if test="count(PromptOutcomes/PromptOutcome/Outcome) > 3"> 
     <div class="promptText"> 
      <select class="promptOutcomes" name="PromptOutcomes" tag="{ID}" id="PromptResponse"> 
      <xsl:for-each select="PromptOutcomes/PromptOutcome"> 
       <xsl:variable name="outcomeAnswer" select="//AnsweredOutcome"></xsl:variable>     
       <option value="{Outcome}" tag="PromptResponse"> 
       <xsl:choose> 
        <xsl:when test="Outcome = $outcomeAnswer"> 
        <xsl:attribute name="selected"> 
         selected 
        </xsl:attribute> 
        </xsl:when> 
       </xsl:choose>      
       <xsl:value-of select="Outcome"/> 
       </option> 
      </xsl:for-each> 
      </select> 
     </div> 
     </xsl:if>  
    </div> 

XML은 그래서 2 프롬프트에 대한 드롭 다운 목록은이 응답 결과를하지 않아도되지만 선택됩니다. 나는 달리 추가하려고 시도하고 선택한 속성을 다른 것으로 설정했지만 그 중 하나도 작동하지 않았다.

<xsl:variable name="outcomeAnswer" select="//AnsweredOutcome"></xsl:variable> 

이 모든 AnsweredOutcome 요소를 선택하고, 첫 번째는 평등에 사용됩니다 :

답변

0

귀하의 문제는 이것이다.

<xsl:variable name="outcomeAnswer" select="../../AnsweredOutcome"></xsl:variable> 

을 또는 더 나은 아직 변수를 건너 뛰고 XSL을 변경 : 대신이 시도 테스트 : 일 우수

<xsl:when test="Outcome = ../../AnsweredOutcome"> 
+0

. 고맙습니다. –