2010-08-19 3 views
6

URI가 포함 된 XML 데이터가 있습니다. ASP 페이지에 URI를 나열하고 싶지만 <a> 태그를 사용하여 클릭 할 수있게하려고합니다. 그러나 XSLT는 예를 들어, 당신이 태그 내에서 XSL 명령을 포함하는 것을 허용하지 않습니다<a> 태그 안에 XSL 코드 포함

<xsl:for-each select="//uri"> 
    <tr> 
    <td class="tdDetail"> 
     More information 
    </td> 
    <td> 
     <a href="<xsl:value-of select="." />" alt="More information" target=_blank><xsl:value-of select="." /></a> 
    </td> 
    </tr> 
</xsl:for-each> 

가 어떻게이 <a href=" 코드 후 <uri> 태그의 URL을 포함 할 수있다?

답변

11

the <xsl:attribute> element을 사용하면 고정되지 않은 속성을 사용할 수 있습니다.

<a alt="More information" target="_blank"> 
    <xsl:attribute name="href"> 
    <xsl:value-of select="." /> 
    </xsl:attribute> 
    <xsl:value-of select="." /> 
</a> 

편집 : 다른 언급, 그것은 가능하다 attribute value templates 사용 : 또한

<a href="{.}" alt="More information" target="_blank"> 
    <xsl:value-of select="." /> 
</a> 
+0

환상적입니다. 많은 감사드립니다. – NickM

4

을 < XSL 사용하기 : 속성>은 (KennyTM의 대답에 언급) 속성으로 작업 할 때 "{}"단축 표기법을 사용할 수도 있습니다.

<a href="{.}"><xsl:value-of select="." /></a> 
+0

알아두면 매우 유용합니다. 건배. – NickM

5

사용 :

<a href="{.}" alt="More information" target="_blank"> 
    <xsl:value-of select="." /> 
</a> 

시도가 사용하는 AVTs (속성 - 가치 템플릿) 때마다 (A select 속성을 제외한 모든 속성에 대한) 수. 이렇게하면 코드가 짧아지고 훨씬 더 읽기 쉽습니다.

관련 문제