2012-04-23 4 views
2

값 선택의 결과를 다른 값 of select의 매개 변수로 전달하려고합니다. 다음은 의사 문 (myVar에) 내가 다른 선택 가치의 의 매개 변수로 선택 가치의 결과를 전달하기 위해 노력하고XSLT 내부 값 select (중첩 값 선택)

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output omit-xml-declaration="yes" /> 
    <xsl:variable name="data" select="document('user.xml')/user/data" /> 
    <xsl:template match="/"> 
     <xsl:for-each select="form/field"> 
      <p class="field"> 
       <xsl:attribute name="style">left:<xsl:value-of 
       select="left" />;top:<xsl:value-of select="top" />; 
       </xsl:attribute> 
       myVar = <xsl:value-of select="text" /> 
       <xsl:value-of select="$data[@key = {@myVar}]/@value" /> 
      </p> 
     </xsl:for-each> 
    </xsl:template> 
</xsl:stylesheet> 
+0

그래서 무엇이 문제입니까? 아무 것도없는 것 같습니다. 소스 XML 문서 란 무엇입니까? 원하는 결과는 무엇입니까? 변환이 구현해야하는 요구 사항은 무엇입니까? 질문을 편집하고 누락 된 중요 정보를 모두 제공해주십시오. –

+0

이것은 분명히 난무하다.'select = "$ data [@key = {@myVar}]/@ value"'. 하지만 제발, 당신의 질문에 말도 안되는 소리를 입력하고 사람들에게 그것을 수정하도록 요청하지 마십시오. 그게 무슨 뜻인지 짐작할 수 있을까요? –

답변

1

에 전체 코드입니다.

 myVar = <xsl:value-of select="text" /> 
     <xsl:value-of select="$data[@key = {@myVar}]/@value" /> 

위의 라인

구문이 올바르지 않습니다 - select가 AVT을 허용하지 않는 유일한 속성입니다.

<xsl:value-of select="$data[@key = current()/text]/@value" /> 

설명 : 원하는 결과를 달성하기 위해

함께 상기 XSLT를 교체 current() 함수 적절히 사용.