powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsl нумерация строк в группе
4 сообщений из 4, страница 1 из 1
xsl нумерация строк в группе
    #35388251
risfek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подскажите плиз как сделать сквозную нумирацию
данные:
Код: 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
xsl нумерация строк в группе
    #35389001
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант
Код: 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
xsl нумерация строк в группе
    #35389500
Volder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вариант №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
xsl нумерация строк в группе
    #35390125
risfek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо!
как всетаки тяжело перестроиться думать в формате xsl
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xsl нумерация строк в группе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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