2013-09-08 3 views
0

나는 XSL에 아주 새로운 오전 내 XSL 내부 $language 변수가 제를 사용하고 싶습니다 : 이것은 어떻게XSL select 문에서 변수를 사용하는 방법은 무엇입니까?

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:template match="data"> 

    <xsl:value-of select="concat(//text-, $language)"/> 

    </xsl:template> 

</xsl:stylesheet> 

을 할 수 있는가? 어떤 도움

<data> 
    <params> 
    <language>en</language> 
    </params> 

    <static> 
    <entry id="1"> 
     <text-en>Hello</text-en> 
    </entry> 
    <entry id="2"> 
     <text-fr>Boujour</text-fr> 
    </entry> 
    </static> 
</data> 

감사 :

이 내 XML입니다!

답변

4

입력 XML의 구조를 변경하고 예 : <text xml:lang="en">Hello</text> 가능한 경우 <xsl:value-of select="//text[lang($language)]"/>을 작성할 수 있습니다.

입력 XML의 구조를 변경할 수없는 경우 <xsl:value-of select="//*[local-name() = concat('text-', $language)]"/>을 사용하십시오.

+0

우수 감사합니다. 불행히도이 경우 XML을 변경할 수 없기 때문에 두 번째 버전을 사용했습니다. – Tintin81

관련 문제