Доброго времени суток! Возникла такая проблема нужно полученые данные в формате xml преобразовать в html при помощи шаблона xsl. Сам шаблон XSL:
Входные данные идут в формате:
Проблема в том, что при обходе внутреннего цикла у меня не производится отображение записей. Если делаю вывод какой-либо строки (типа 'Hello world!') без цикла, то всё ок. То что разные кодировки ничего не меняет. Пробовал переделывать - результата 0. Может у кого есть идеи по этому поводу?
Код:
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:for-each select="data">
<b><xsl:value-of select="Headers" /></b><br /><br />
</xsl:for-each>
<xsl:call-template name="menu" />
</xsl:template>
<xsl:template name="menu">
<table border="1" cellpadding="5" cellspacing="0" bordercolor="#505C96" align="center">
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
</tr>
<xsl:for-each select="data/row">
<tr>
<td><xsl:value-of select="1" /></td>
<td><xsl:value-of select="2" /></td>
<td><xsl:value-of select="3" /></td>
<td><table border="1" cellpadding="5" cellspacing="0">
<xsl:for-each select="data/row/4">
<tr>
<td><xsl:value-of select="5" /></td>
<td><xsl:value-of select="6" /></td>
</tr>
</xsl:for-each>
</table>
</td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
Код:
<?xml version="1.0" encoding="UTF-8" ?>
- <data>
<Headers>Хедерсы</Headers>
- <row>
<1>1</1>
<2>2</2>
<3>3</3>
- <4>
<5>5</5>
<6>6</6>
<5>5</5>
<6>6</6>
</4>
</row>
- <row>
<1>1</1>
<2>2</2>
<3>3</3>
- <4>
<5>5</5>
<6>6</6>
<5>5</5>
<6>6</6>
</4>
</row>