вход:Как объединить элементы в XSLT
<A>
<T1>
<element1>e1</element1>
<element2>e2</element2>
<element3>e3</element3>
<element5>e5</element5>
</T1>
<T1>
<element4>e4</element4>
</T1>
<T1>
<element1>e1</element1>
<element2>e2</element2>
<element3>e3</element3>
<element5>e5</element5>
</T1>
<T1>
<element1>e1</element1>
<element2>e2</element2>
<element3>e3</element3>
<element5>e5</element5>
</T1>
<T1>
<element4>e4</element4>
</T1>
<T1>
<element4>e4</element4>
</T1>
</A>
здесь нам нужно выполнить цикл по элементам T1. есть 5 элементов, присутствующих в этом T1.we нужно конкатенировать все элементы. Нам нужен приведенный ниже вывод. Пожалуйста, изучите это.
выход:
<T1>e1e2e3e4e5</T1>
<T1>e1e2e3e5</T1>
<T1>e1e2e3e4e5</T1>
<T1>e4</T1>
Я попытался ниже XSLT, но это сцепить все петли.
XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="A/T1">
<xsl:value-of select='concat(element1,element2,element3,element4,element5)'/>
</xsl:template>
<xsl:template match="text()"/>
<xsl:template match="/">
<T1>
<xsl:apply-templates select="A/T1"/>
</T1>
</xsl:template>
</xsl:stylesheet>
выше XSLT дает выход подобное.
<T1>e1e2e3e5e4e1e2e3e5e1e2e3e5e4e4</T1>