powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT Нумерованный список
19 сообщений из 19, страница 1 из 1
XSLT Нумерованный список
    #36600471
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день раньше не сталкивался с XSLT не подскажете как сделать нумерованный список
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36600487
Фотография Anton_Demin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergGun,

Код: plaintext
<xsl:number>
готовый вариант
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36600824
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anton_Demin,
Я незнаю изначальное количество данных

<xsl:variable name="varSubDoc">;</xsl:variable>
<xsl:for-each select="tutorial/doc163">
<xsl:variable name="varDoc"><xsl:value-of select="docValue"/></xsl:variable>
<xsl:if test="starts-with($varDoc,$varSubDoc)">
<tr valign="top"><td> Вот сдесь должна быть нумерация </td>
<td width="100"></td>
<td colspan="2"><span style="font-size: 12pt; ">
<xsl:value-of select="doc163Caption"/>
</span></td></tr>
</xsl:if>
</xsl:for-each>
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36600830
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<xsl:variable name="varSubDoc">;</xsl:variable>
<xsl:for-each select="tutorial/doc163">
<xsl:variable name="varDoc"><xsl:value-of select="docValue"/></xsl:variable>
<xsl:if test="starts-with($varDoc,$varSubDoc)">
<tr valign="top"><td><xsl:number format="1"/></td> 
<td width="100"></td>
<td colspan="2"><span style="font-size: 12pt; "> 
<xsl:value-of select="doc163Caption"/>
</span></td></tr>
</xsl:if>
</xsl:for-each>
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36601030
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Спасибо но, а как так сделать чтобы номера назначались в арифметическом порядке 1.2.3.4.5.6.7.8. а не по порядку записей в xml файле 1.2.3.5.7.34.56.
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36602387
junb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а чем тебя не устраивает <ol><li>?
Код: plaintext
1.
2.
3.
4.
<ol>
<li> 222 </li>
<li> 222 </li>
<li> 222 </li>
</ol>
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36602516
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
он сюда неподходит
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36602548
junb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xml покажи
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36602569
junb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<xsl:for-each select="tutorial/doc163[starts-with(docValue,$varSubDoc)]">
	<tr valign="top">
		<td> <xsl:value-of select="position()"/> </td>
		<td width="100"></td>
		<td colspan="2">
			<span style="font-size: 12pt; ">
				<xsl:value-of select="doc163Caption"/>
			</span>
		</td>
	</tr>
</xsl:for-each>
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36603984
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
junb1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<xsl:for-each select="tutorial/doc163[starts-with(docValue,$varSubDoc)]">
	<tr valign="top">
		<td> <xsl:value-of select="position()"/> </td>
		<td width="100"></td>
		<td colspan="2">
			<span style="font-size: 12pt; ">
				<xsl:value-of select="doc163Caption"/>
			</span>
		</td>
	</tr>
</xsl:for-each>

Так тоже не то
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36604556
junb1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ты сам не знаешь, что тебе надо.... покажи xml и нарисуй как должно быть
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607346
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
junb1,

Есть таблица в ней есть часть где она разбита на 2-ва столбца
xml
<doc163>
<doc163Value>;</doc163Value>
<doc163Caption>Значение 1</doc163Caption>
</doc163>

<doc163>
<doc163Value>;</doc163Value>
<doc163Caption>Значение 2</doc163Caption>
</doc163>
<doc163>
<doc163Value>Неверное значение</doc163Value>
<doc163Caption>Значение 2</doc163Caption>
</doc163>
И Т.Д.
Отбираю по полю doc163Value на выходе должно быть
<tr>
<td>1.</td>
<td>Значение1</td>
</tr>
<tr>
<td>2.</td>
<td>Значение 2</td>
</tr>
Пронумеровано в арифметическом порядке изначальное количество верных значений не известно понимаю что осталась самое простое но не идет и всё)
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607488
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
<xsl:number format="1"/>

чем это не подошло?
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607498
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

Он выдает нумерацию в соответствии с нумерацией в xml файле т.е.
1, 3, 4, 5, 8, 12
надо
1, 2, 3, 4, 5, 6
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607533
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы что-то не так делаете. давайте сюда выкладывайте ваш входящий xml, xsl для преобразования и html - результат, который нужен
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607555
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,
Вот так помогло

Код: plaintext
1.
2.
3.
4.
								   
                                <xsl:variable name="varSubDoc163">;</xsl:variable>
                                <xsl:for-each select="doc163">
				<xsl:sort select="."/>
				<xsl:number value="position()" format="1. "/>
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607768
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возник еще вопрос в xml есть 20 doc163 из них цикл берёт 17 и нумерует, оставшиеся 3 нумерует но не выводит данные т.е. просто записывает цифры выглядит так
1.Значение
2.Значение
3.Значение
4.Значение
...............
17.Значение
18. 19. 20.
Как не выводить эти цифры 18. 19. 20. или убрать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<tr valign="top">
<td colspan="3"><span style="font-size: 12pt; ">                  			   
                          <xsl:variable name="varSubDoc163">;</xsl:variable>
                          <xsl:for-each select="doc163">		
			  <xsl:number value="position()" format="1. "/>
                          <xsl:variable name="varDoc163"><xsl:value-of select="doc163Value"/></xsl:variable>
			  <xsl:if test="starts-with($varDoc163,$varSubDoc163)">   
			  <xsl:value-of select="doc163Caption"/>   <br></br> 	
			  </xsl:if>
                          </xsl:for-each>
                          </span></td>
                          <td width="100"></td>
                          <td colspan="2"></td></tr>


...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36607856
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
...
<xsl:for-each select="doc163">		
<xsl:if test="doc163Value">			  
          <xsl:number value="position()" format="1. "/>
          <xsl:variable name="varDoc163"><xsl:value-of select="doc163Value"/>
          </xsl:variable>
          <xsl:if test="starts-with($varDoc163,$varSubDoc163)">   
	<xsl:value-of select="doc163Caption"/>   <br></br>
           </xsl:if>
</xsl:if>                          
</xsl:for-each>
...
...
Рейтинг: 0 / 0
XSLT Нумерованный список
    #36610982
SergGun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем еще один вариант
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<style type="text/css">
 ol.dec {list-style-type: decimal}
   LI {
    list-style-type: decimal; 
    list-style-position: inside;
   }
  </style>
..............................................................
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<tr>
 <td width="2%" height="100%"></td>
       <ol class= "dec"><td colspan="2" >
                       <span style="font-size: 12pt; "><div align="justify">
                                     <xsl:variable name="varSubDoc163">;</xsl:variable>
                                     <xsl:for-each select="doc163">             
                                     <xsl:variable name="varDoc163"><xsl:value-of select="doc163Value"/> </xsl:variable>
                                     <xsl:if test="starts-with($varDoc163,$varSubDoc163)">
                                     <li class="dec"><xsl:value-of select="doc163Caption"/></li><br></br>
                                     </xsl:if>
                                     </xsl:for-each>
                                      <xsl:for-each select="/tutorial/doc999">
                                     <li><xsl:value-of select="qw"/></li><br></br>
                                     </xsl:for-each>
                      </div></span>
        </td></ol>
        <td width="100"></td>
        <td colspan="2"></td>
		
        </tr> 

Но в IE 8
Отображается как
1. Значение.
2. Значение.
.................
20. Значение.

Опера 10.53
1. Значение.
2. Значение.
.................
20. Значение.

Лиса
0. Значение.
0. Значение.
.................
0. Значение.

Как сделать чтоб в лисе тоже корректно отображалось?
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSLT Нумерованный список
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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