У меня есть это в моем XML
<GROUP>
<ELEM_1/>
<ELEM_1/>
<ELEM_1/>
<ELEM_1/>
</GROUP>
<GROUP>
<TAB>
<LEFT>
<ELEM_1/>
<ELEM_1/>
<ELEM_2/>
</LEFT>
<RIGHT>
<ELEM_1/>
<ELEM_2/>
<ELEM_2/>
<ELEM_1/>
</RIGHT>
</TAB>
</GROUP>
<GROUP>
<ELEM_1/>
<ELEM_1/>
<ELEM_1/>
<ELEM_1/>
</GROUP>
У меня есть и xsl, которые преобразуют этот XML для отображения.
Я хочу, чтобы TAB узла отображался как таблица с двумя столбцами LEFT и RIGHT и по одной строке, каждая из которых отображала список с ELEM_1 и ELEM_2.
У меня есть xsl:template
как отображать ELEM_1 и ELEM_2, как я хочу.
У меня есть xsl:template
для вкладки, которая делает то, что я хочу
<xsl:template match="TAB">
<table>
<tr>
<td><xsl:apply-templates select="LEFT"/></td>
<td><xsl:apply-templates select="RIGHT"/></td>
</tr>
</table>
</xsl:template>
Но xsl:template
для ПРАВО и ВЛЕВО не работает так, как я хочу
<xsl:template match="LEFT">
<ul class="Group">
<li class="TabTitle">Left title</li>
<xsl:if test="ELEM_1">
<xsl:apply-templates select="ELEM_1"/>
</xsl:if>
<xsl:if test="ELEM_2">
<xsl:apply-templates select="ELEM_2"/>
</xsl:if>
</ul>
</xsl:template>
<xsl:template match="RIGHT">
<ul class="Group">
<li class="TabTitle">Right title</li>
<xsl:if test="ELEM_1">
<xsl:apply-templates select="ELEM_1"/>
</xsl:if>
<xsl:if test="ELEM_2">
<xsl:apply-templates select="ELEM_2"/>
</xsl:if>
</ul>
</xsl:template>
Как это сделать правильно?
Спасибо