powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / include xml-файла с параметром?
10 сообщений из 10, страница 1 из 1
include xml-файла с параметром?
    #37057288
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
задача такого типа

нужно в зависимости от списка установок(порядок и их показ) в блоке xml показывать или нет поля и их значения
в самой транформации (уже сделанной раньше) показваются все поля

смысл был сделать некий дополнительный файл с параметром (include)
который должен быть показывать или нет соответствующие поля и их порядок
и в клеивать эти поля при показе в основной транформации

возможно ли реализовать такое через один include файла с параметром
полей много писать на каждое поле свой шаблон - убиться

спасибо
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057549
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
include с параметром делать нельзя, можно xsl:call-template с параметрами. Если нужно изменить результат трансформации (спрятать отображенное), то придется делать еще одну трансформацию. Остальное совсем мутно, нужен пример.
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057605
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну как то так хотелось бы получить

данные условные

шаблон полей для показа в транформации
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
        <xsl:output method="html" indent="no"/>
	<xsl:template match=".">
		<B F="1"> код1 </B>
		<B F="2"> код2 </B>
		<B F="3"> код3 </B>
		<B F="4"> код4 </B>
		<B F="5"> код5 </B>
		<B F="6"> код6 </B>
        </xsl:template>
</xsl:stylesheet>	


главная транфорация
в цикле получаю поля для показа из xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
        <xsl:output method="html" indent="no"/>
	<xsl:template match="ROOT">
                <table>
                <xsl:for-each  select="//F">
                    <tr>
                         <td>   ....как то обраться к первой транформации вытащить из блока <B> по номеру F значение  ....  </td>
                     </tr> 
                </xsl:for-each> 
                </table>
        </xsl:template>
</xsl:stylesheet>	


xml
Код: plaintext
1.
2.
3.
4.
5.
<ROOT>
	<F N="2"/>
	<F N="4"/>
	<F N="6"/>
	<F N="1"/>
</ROOT>

то есть выдать должно
код2
код4
код6
код1
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057677
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael R,

Думаю, document() можно использовать...

По примеру: так где у тя шаблон, а где данные? По конечному результату, я бы сказал, что в самый нижний блок - шаблон
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057681
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
document() пользуюсь
Код: plaintext
<xsl:copy select="document('файл.xml')//B[@F=@N]"/>

только чё то пустой результат
<tr> только в цикле

нужно скопировать весь блок который внутри <B> по номеру
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057690
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
michael R,

Проблема с контекстом. А так?
Код: plaintext
1.
<xsl:variable name="curN" select="@N"/>
<xsl:copy select="document('файл.xml')//B[@F=$curN]"/>
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057700
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня цикл идёт
не могу я переменую так поставить внутри
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057712
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
такое впечатление что просто не находит файл

я тестирусь локально
обращаюсь к "c:\файл.xml"

может в этом проблема
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057716
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0">
	<xsl:output method="html" indent="no"/>
	<xsl:template match="/">
		<table>
			<xsl:for-each select="//F">
				<xsl:variable name="curN" select="@N"/>
				<tr>
					<td>
						<xsl:copy-of select="document('file:/d:/qq.xml')//B[@F=$curN]"/>
					</td>
				</tr>
			</xsl:for-each>
		</table>
	</xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
include xml-файла с параметром?
    #37057919
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообщем дурака я свалял
ничего заумного не надо

элементарно <xsl:choose> в цикле использовать
и мою исходную трансформацию
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / include xml-файла с параметром?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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