title: How to concatenate elements in XSLT
body: <p>input:</p>
  
  <pre><code>    &lt;A&gt;
  &lt;T1&gt;
  &lt;element1&gt;e1&lt;/element1&gt;
  &lt;element2&gt;e2&lt;/element2&gt;
  &lt;element3&gt;e3&lt;/element3&gt;
  &lt;element5&gt;e5&lt;/element5&gt;
  &lt;/T1&gt;
  &lt;T1&gt;
  &lt;element4&gt;e4&lt;/element4&gt;
  &lt;/T1&gt;
  
  
  &lt;T1&gt;
  &lt;element1&gt;e1&lt;/element1&gt;
  &lt;element2&gt;e2&lt;/element2&gt;
  &lt;element3&gt;e3&lt;/element3&gt;
  &lt;element5&gt;e5&lt;/element5&gt;
  &lt;/T1&gt;
  
  &lt;T1&gt;
  &lt;element1&gt;e1&lt;/element1&gt;
  &lt;element2&gt;e2&lt;/element2&gt;
  &lt;element3&gt;e3&lt;/element3&gt;
  &lt;element5&gt;e5&lt;/element5&gt;
  &lt;/T1&gt;
  &lt;T1&gt;
  &lt;element4&gt;e4&lt;/element4&gt;
  &lt;/T1&gt;
  
  
  &lt;T1&gt;
  &lt;element4&gt;e4&lt;/element4&gt;
  &lt;/T1&gt;
  &lt;/A&gt;
  </code></pre>
  
  <p>here we need to perform loop over T1 elements. there are 5 elements present in this T1.we need to concatenate all the elements.we need the below output.Please look into this.</p>
  
  <p>output:</p>
  
  <pre><code>&lt;T1&gt;e1e2e3e4e5&lt;/T1&gt;
  &lt;T1&gt;e1e2e3e5&lt;/T1&gt;
  &lt;T1&gt;e1e2e3e4e5&lt;/T1&gt;
  &lt;T1&gt;e4&lt;/T1&gt;
  </code></pre>
  
  <p>I tried the below xslt but it is concatenate all the loops.</p>
  
  <p>XSLT:</p>
  
  <pre><code>    &lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
              &lt;xsl:output indent="yes"/&gt;
      &lt;xsl:strip-space elements="*"/&gt;
  
       &lt;xsl:template match="A/T1"&gt;
        &lt;xsl:value-of select='concat(element1,element2,element3,element4,element5)'/&gt;
       &lt;/xsl:template&gt;
  
       &lt;xsl:template match="text()"/&gt;
        &lt;xsl:template match="/"&gt;
       &lt;T1&gt;
       &lt;xsl:apply-templates select="A/T1"/&gt;
       &lt;/T1&gt;
  
        &lt;/xsl:template&gt;
  
   &lt;/xsl:stylesheet&gt;
  </code></pre>
  
  <p>the above xslt is giving output like.</p>
  
  <pre><code>&lt;T1&gt;e1e2e3e5e4e1e2e3e5e1e2e3e5e4e4&lt;/T1&gt;
  </code></pre>