2014-10-09 4 views
0

Это мой XML:Concat значения строки с разделителем XSLT 1.0

<LIGHT_INFORMATION_LIST> 
    <LIGHT_INFORMATION> 
     <LIGHT_CHARACTERISTICS>Al</LIGHT_CHARACTERISTICS> 
     <LIGHT_COLOUR>W-G</LIGHT_COLOUR> 
    </LIGHT_INFORMATION> 
    <LIGHT_INFORMATION> 
     <LIGHT_CHARACTERISTICS>Al</LIGHT_CHARACTERISTICS> 
     <LIGHT_COLOUR>W-R</LIGHT_COLOUR> 
    </LIGHT_INFORMATION> 
</LIGHT_INFORMATION_LIST> 

Я бы Concat всего элемента LIGHT_COLOUR в переменном разделяйте '-'.

В выходные я хочу: W-G-W-R (назначается переменной).

Я создал это:

<xsl:value-of select="concat(LIGHT_COLOUR,'-')"/> -->Output W-G-W-R- 

Теперь я хотел бы присвоить переменной этот выход.

+1

Пожалуйста, укажите точно, что желаемый результат должен выглядеть. –

ответ

1

попробовать что-то вроде этого:

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

    <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/> 

    <xsl:variable name="Colours"> 
     <xsl:for-each select="/LIGHT_INFORMATION_LIST/LIGHT_INFORMATION/LIGHT_COLOUR"> 
      <xsl:if test="position() > 1"> 
       <xsl:text>-</xsl:text> 
      </xsl:if> 
      <xsl:value-of select="."/> 
     </xsl:for-each> 
    </xsl:variable> 

    <xsl:template match="/"> 
     <xsl:value-of select="$Colours"/> 
    </xsl:template> 

</xsl:stylesheet> 
+0

Спасибо Joel M. Lamsen, ваше решение правильное. В этот момент я думаю, что для моего низкого уровня знаний xslt 1.0 мое решение лучше. Большое спасибо за вашу доступность. –

0
<xsl:variable name="concatenazione" select="concat(LIGHT_COLOUR,'-')"/> 
<xsl:value-of select="$concatenazione"/> 
Смежные вопросы