powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация кода в XSL (Паблишер)
5 сообщений из 5, страница 1 из 1
Оптимизация кода в XSL (Паблишер)
    #39750260
leprechaun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, помогите сообразить. есть у меня в XML исходная таблица со структурой колонок отчета (COL01 - COLXXX), т.е. их количество изменяется каждый раз.
В шаблоне XSL хочу прописать один раз конструкцию, чтобы колонка <Cell></Cell> добавлялась столько же раз, сколько элементов в проходе - COL || position()
Сейчас тупо полотно из зарезервированных 150 колонок.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	<!--Знаю количество колонок-->
	<xsl:variable name="Column_Count">
		<xsl:value-of select="count(XXAR_ACCOUNT_SETTINGS_REPORT/LIST_G_PAGE3_STRUCTURE/G_PAGE3_STRUCTURE)"/>
	</xsl:variable>	
   
	<xsl:for-each select='XXAR_ACCOUNT_SETTINGS_REPORT/LIST_G_DATA_3/G_DATA_3'>
			<Row>
			
				<!--Переменная для стиля, первая строка заголовок-->
				<xsl:variable name="cellStyle">
					<xsl:choose>
					<xsl:when test="position()=1">s99</xsl:when> 		 		
					<xsl:otherwise>s97</xsl:otherwise>
					</xsl:choose>
				</xsl:variable>
			
				<Cell><xsl:attribute name="ss:StyleID"><xsl:value-of select="$cellStyle"/></xsl:attribute><Data ss:Type="String"><xsl:value-of select="COL02"/></Data></Cell>
				<Cell><xsl:attribute name="ss:StyleID"><xsl:value-of select="$cellStyle"/></xsl:attribute><Data ss:Type="String"><xsl:value-of select="COL03"/></Data></Cell>
				<Cell><xsl:attribute name="ss:StyleID"><xsl:value-of select="$cellStyle"/></xsl:attribute><Data ss:Type="String"><xsl:value-of select="COL04"/></Data></Cell>
                                ...
                                <Cell><xsl:attribute name="ss:StyleID"><xsl:value-of select="$cellStyle"/></xsl:attribute><Data ss:Type="String"><xsl:value-of select="COLXX"/></Data></Cell>
			</Row>	
	</xsl:for-each>



Я и XML-то не знаю как сделать динамическую структуру, но это уже второстепенный вопрос.
Заранее спасибо.
...
Рейтинг: 0 / 0
Оптимизация кода в XSL (Паблишер)
    #39750273
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала не знал, как сделать переменное количество колонок 21763466 , теперь, как использовать результат.
...
Рейтинг: 0 / 0
Оптимизация кода в XSL (Паблишер)
    #39750274
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По XSL-T есть отдельный форум

https://www.sql.ru/forum/xml
...
Рейтинг: 0 / 0
Оптимизация кода в XSL (Паблишер)
    #39750283
leprechaun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,

И что, мне не знать нельзя? Там по PIVOT спросил, уже более-менее разобрался, осталось это допилить.
...
Рейтинг: 0 / 0
Оптимизация кода в XSL (Паблишер)
    #39750284
leprechaun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Ну мне кажется и тут народ знает, но если надо то пусть модератор тему туда скинет, я дублировать не хочу.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Оптимизация кода в XSL (Паблишер)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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