Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вставка закрывающего тега / 4 сообщений из 4, страница 1 из 1
19.04.2010, 07:39
    #36584787
sherzod_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка закрывающего тега
Здравствуйте.

Есть xml файл примерно такой структуры:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<data>
	<group name="hello1">
		<row>
			<field no="2" name="param1"> 2354 </field>
			<field no="3" name="param2"> 3465 </field>
			<field no="4" name="param3"> 4534 </field>
		</row>
		<row>
			<field no="2" name="param1"> 2354 </field>
			<field no="3" name="param2"> 3465 </field>
			<field no="4" name="param3"> 4534 </field>
		</row>
		<row>
			<field no="2" name="param1"> 2354 </field>
			<field no="3" name="param2"> 3465 </field>
			<field no="4" name="param3"> 4534 </field>
		</row>
	</group>
	<group name="hello2">
		<row>
			<field no="2" name="param1"> 7844 </field>
			<field no="3" name="param2"> 2345 </field>
			<field no="4" name="param3"> 5555 </field>
		</row>
		<row>
			<field no="2" name="param1"> 1232 </field>
			<field no="3" name="param2"> 4523 </field>
			<field no="4" name="param3"> 1111 </field>
		</row>
		<row>
			<field no="2" name="param1"> 4563 </field>
			<field no="3" name="param2"> 2345 </field>
			<field no="4" name="param3"> 4744 </field>
		</row>
	</group>
</data>

для каждого group формирую мини таблицу с заголовком group::@name и тремя рядами соотвественно с полями param1, param2, param3. Таких таблиц много и все они располагаются в итоге в ряд. Мне нужно расположить их по 4(в общен случае по n) на один ряд.

использую табличную разметку html.
Код: plaintext
<tr>....<xsl:if test="position() mod 4 = 0"></tr><tr></xsl:if>...</tr>
не помогает, нарушается валидность xml, в виду перекрывающихся tr, xsl:if.

посоветуйте как быть.
Спасибо.
...
Рейтинг: 0 / 0
19.04.2010, 12:16
    #36585255
Anton_Demin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка закрывающего тега
sherzod_,

покажи xsl, а то не понятно ничего.
...
Рейтинг: 0 / 0
19.04.2010, 13:53
    #36585509
sherzod_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка закрывающего тега
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<xsl:for-each select="group">

<table><tr>

	<td>
	<table border="1" style="border-collapse:1">
		<tr>
			<td colspan="3">
				<xsl:value-of select="@name"/>
			</td>
		</tr>
		<xsl:for-each select="descendant::row">
			<tr>
				<td><xsl:value-of select="field[@name='param1']"/></td>
				<td><xsl:value-of select="field[@name='param1']"/></td>
				<td><xsl:value-of select="field[@name='param1']"/></td>
			</tr>
		</xsl:for-each>
	</table>
	</td>

</tr></table>

</xsl:for-each>
...
Рейтинг: 0 / 0
19.04.2010, 15:22
    #36585752
Anton_Demin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка закрывающего тега
sherzod_,

получилось так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 <xsl:template match="data">
  <body>
  <table>
	<xsl:for-each select="group">
		<xsl:if test="position() mod 2 != 0"><tr></tr></xsl:if>
		<td>
			<xsl:call-template name="group"/>
		</td>
    </xsl:for-each>
   </table>
  </body>
 </xsl:template>
 
 <xsl:template name="group">
       <table border="1" style="border-collapse:1">
        <tr>
         <td colspan="3"><xsl:value-of select="@name"/></td>
        </tr>
        <xsl:for-each select="row">
         <tr>
		  <xsl:for-each select="field">
			<td><xsl:value-of select="text()"/></td>
		  </xsl:for-each>
         </tr>
        </xsl:for-each>
       </table>
 </xsl:template>
не ругайте сильно, сам знаю что изврат.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вставка закрывающего тега / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]