Модераторы: diadiavova
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> xslt как передовать параметры? передача параметров в xsl 
:(
    Опции темы
Bandit
Дата 20.5.2008, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 27.11.2007
Где: Минск

Репутация: нет
Всего: нет



Доброго дня! 
Проблема в следущем: необходимо передать парамтры в шаблон
как это сделать? пишу на Java

Код

                       TransformerFactory tFact = TransformerFactory.newInstance(); 
            
            Transformer transformer = 
                tFact.newTransformer(new StreamSource(styleSheetPath));  
            
            PrintWriter printWriter =  response.getWriter();
            StreamResult streamResutl = new StreamResult(printWriter);
            
            transformer.setParameter("key", nameProduct);


в *.xsl
Код

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:myClassValid="xalan://by.testapp.handlers.Validator">
    <xsl:output method="xml"/> 
    <xsl:param name="namеP        select="1"/>???????????????????

***************

</xsl:stylesheet>


как я понял должен быть ключ по которому я достал бы из параметров но если я делаю так:

<xsl:param name="nameP"    select="key"/>
то потом когда я использую этот параметр при генерации файла получается
<name/>

помогите! может я чего не знаю про <xsl:param/> ???  Спасибо!
PM MAIL   Вверх
aranea
Дата 3.6.2008, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 5.5.2008

Репутация: нет
Всего: нет



Привет, только что нашел на сайте http://data.mf.grsu.by/OReilly/xml/xslt/ch04_04.htm
Надеюсь пригодится
так передаввать параметр:

Код

 transformer.setParameter("namеP", nameProduct);


так его получать в xsl:
Код

 <xsl:param name="namеP" select="defaultName"/>

если не передашь из явы, параметр namеP будет равен значению по умолчанию "defaultName"

да, и вот так использовать:
Код

  <xsl:apply-templates select="$namеP"/>



Это сообщение отредактировал(а) aranea - 3.6.2008, 17:01
PM MAIL WWW   Вверх
aranea
Дата 3.6.2008, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 5.5.2008

Репутация: нет
Всего: нет



может и мне кто поможет, пока тема наверху smile

есть идея выводить данные из одного xml файла с одним xsl файлом, но в xsl запихать параметр по критерию (количеству) выборки. Запихать хочу через Яву:
Код

...
Transformer xformer = template.newTransformer();
xformer.setParameter("id", "1");
xformer.transform(source, result);


В xsl файле ставлю параметр с дефолтным значением звездочка:
Код

<xsl:param name="id" select="*" /> 
<xsl:for-each select="//DATA/OBJECT[@TYPE='Сотрудники'][$id]">


xsl при этом валидный (в эксплорере отображаетсяsmile)) из xml (из которого есть ссылка на этот xsl) выводится полная выборка (по звездочке *). 
Это когда параметра нет, а если его задавать из Явы, то выводится инфа по нужному id
проблема появляется если из Явы задать id звездочкой, или вообще убрать эту строчку.
Код

Transformer.setParameter("id", "1");


выводится пустой результат, только заголовок....
Код

<?xml version="1.0" encoding="UTF-8"?>


Может кто уже боролся с этим? smile
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0407 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.