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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шаблон с хитрым параметром 
V
    Опции темы
StepS
  Дата 27.3.2006, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Есть задача написать шаблон которому на вход подается узел, он анализируя этот узел с ним чего-то делает ?
Как задать что шаблону на вход подается узел, пробовал так:
Код

<xsl:template name="copyelement">
<xsl:param name="node"/>
    <xsl:variable name="nodename" select="name($node)"/>
    <xsl:variable name="countofcondition" select="count(document('Styles_formtwo.xml')//Style[condition/element = $nodename])"/>
    <xsl:element name="{$nodename}">
...........

compiler выдавал ошибку на последней строке и говорил что Non Qname.

Помогите разобраться плз как написать шаблон. В итоге шаблон должен копировать елемент с небольшими модификациями !

Это сообщение отредактировал(а) StepS - 27.3.2006, 12:50
PM MAIL ICQ   Вверх
3,14
Дата 27.3.2006, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

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



Вот пример к-ый просто копирует XML, нужно будет что-то ьолее конкретное, обращайся.

Код

<?xml version="1.0" ?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
   <xsl:template match="*|@*">
     <xsl:copy>
      <xsl:apply-templates select="node()|@*" /> 
    </xsl:copy>
  </xsl:template>
</xsl:stylesheet>



--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
StepS
Дата 27.3.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



надо чтоб не просто копировал, а еще каки-нить преобразования делал ! например добавлял по атрибуту в каждый елемент !?
PM MAIL ICQ   Вверх
3,14
Дата 28.3.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1614
Регистрация: 18.6.2004
Где: Н. Новгород

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



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

Код

   <xsl:template match="*">
           <xsl:copy>
      <xsl:attribute name="attrName">attrVal</xsl:attribute>
                <xsl:apply-templates select="node()|@*" /> 
           </xsl:copy>
  </xsl:template>

   <xsl:template match="@*">
           <xsl:copy>
                <xsl:apply-templates select="node()|@*" /> 
           </xsl:copy>
  </xsl:template>



--------------------
Может быть, это только мой бред,
Может быть, жизнь не так хороша,
Может быть, я не выйду на свет,
Но я летал, когда пела душа...
PM MAIL   Вверх
StepS
Дата 29.3.2006, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Да !! smile спасибо я так и сделал - помогло. То что нунжно.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.