Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsl нумерация строк в группе / 4 сообщений из 4, страница 1 из 1
23.06.2008, 13:19
    #35388251
risfek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xsl нумерация строк в группе
подскажите плиз как сделать сквозную нумирацию
данные:
Код: 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.
<?xml version="1.0" encoding="windows-1251"?>
<ROOT xmlns:xs="http://www.w3.org/2001/XMLSchema">
   <X>
      <ROW>
         <X> 1 </X>
         <Y> 1 </Y>
      </ROW>
      <ROW>
         <X> 1 </X>
         <Y> 2 </Y>
      </ROW>
      <ROW>
         <X> 1 </X>
         <Y> 3 </Y>
      </ROW>
   </X>
   <X>
      <ROW>
         <X> 2 </X>
         <Y> 1 </Y>
      </ROW>
      <ROW>
         <X> 2 </X>
         <Y> 2 </Y>
      </ROW>
      <ROW>
         <X> 2 </X>
         <Y> 3 </Y>
      </ROW>
      <ROW>
         <X> 2 </X>
         <Y> 4 </Y>
      </ROW>
   </X>
</ROOT>
стиль:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        version="2.0">
       <xsl:template match="/">
           <body>
                <xsl:for-each select="ROOT/X">
                    <h1><xsl:value-of select="./ROW[1]/X"/></h1>
                    <xsl:for-each select="./ROW">
                        <div><xsl:number value="position()"  format="1"/>/<xsl:value-of select="Y"/></div>
                    </xsl:for-each>
                </xsl:for-each>
           </body>
    </xsl:template>
    </xsl:stylesheet>
результат
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 1 
 1 / 1 
 2 / 2 
 3 / 3 
 2 
 1 / 1 
 2 / 2 
 3 / 3 
 4 / 4 
как сделать при вложенном цикле
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
 1 
 1 / 1 
 2 / 2 
 3 / 3 
 2 
 4 / 1 
 5 / 2 
 6 / 3 
 7 / 4 
...
Рейтинг: 0 / 0
23.06.2008, 16:48
    #35389001
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xsl нумерация строк в группе
Как вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        version="2.0">
       <xsl:template match="/">
           <body>
                <xsl:for-each select="ROOT/X">
                    <xsl:variable name="cnt" select="count(preceding-sibling::X/ROW)"/>
                    <h1><xsl:value-of select="./ROW[1]/X"/></h1>
                    <xsl:for-each select="./ROW">
                        <div><xsl:number value="$cnt + position()"  format="1"/>/<xsl:value-of select="Y"/></div>
                    </xsl:for-each>
                </xsl:for-each>
           </body>
    </xsl:template>
    </xsl:stylesheet>

С уважением, Vasilisk
...
Рейтинг: 0 / 0
23.06.2008, 20:38
    #35389500
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xsl нумерация строк в группе
вариант №2:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="2.0">
	<xsl:template match="ROOT">
		<body>
			<xsl:apply-templates select="X"/>
		</body>
	</xsl:template>
	<xsl:template match="X">
		<h1>
			<xsl:value-of select="ROW[1]/X"/>
		</h1>
		<xsl:apply-templates select="ROW"/>
	</xsl:template>
	<xsl:template match="ROW">
		<div>
			<xsl:number level="any"/>/<xsl:number/>
		</div>
	</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
24.06.2008, 10:57
    #35390125
risfek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
xsl нумерация строк в группе
спасибо!
как всетаки тяжело перестроиться думать в формате xsl
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsl нумерация строк в группе / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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