2012-01-06 3 views
2

한 요소에서 다른 요소로 데이터를 가져 오려고합니다. 나는이 두 문자열을 출력하는 XSL 스타일 시트를 작성했다.요소 데이터를 XSL로 요소 안에 넣습니다.

<fordon pris="129900"><name>Honda</name><modellTyp>1</modellTyp></fordon> 
<fordon pris="119000"><name>Nissan</name><modellTyp>2</modellTyp></fordon> 

하지만 난 numers을 얻으려면 (1, 2) 내 modellTyp 내부의 출력이 내 XSL 파일을 출력처럼 내가

이 결과를 보면 무엇 <modellTyp1><modellTyp2>

해야하므로

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

<xsl:template match="ad"> 
<xsl:element name="fordon"> 
<xsl:attribute name="pris"> 
<xsl:copy-of select="price" /> 
</xsl:attribute> 
<xsl:copy-of select="name"/> 
<xsl:element name="modellTyp"> 
<xsl:value-of select="type" /> 
</xsl:element> 
</xsl:element> 
</xsl:template> 
</xsl:stylesheet> 

미리 감사드립니다. lwburk의 대답이 정확한지 @

<xsl:element name="{concat('modellTyp', type)}"> 
    <xsl:value-of select="type"/> 
</xsl:element> 
+0

은 CSS 스타일 시트? – Dymond

답변

1

동적 Attribute Value Template에 중괄호를 가진 요소 이름을 만들와 아마

<xsl:element name="modellTyp{type}">  
    <xsl:value-of select="type"/> 
</xsl:element> 
+1

물론 !! Concat을 오늘 이전에 사용했으나 기억하지 못했습니다.이 순간에 :) 잊지 마세요. 감사합니다. – Dymond

+1

Simpler :'name = "modellTyp {type}">' –

+0

@DimitreNovatchev - 물론입니다. 바보 나. 나는 밤중에 멈출 때가되었다고 생각한다. :) –

1

을하지만, 간단한/짧은 솔루션도있다 :

관련 문제