Динамический атрибут mode у apply-templates
От: fox_2000  
Дата: 28.03.03 11:27
Оценка:
Такая конструкция:


<xsl:variable name="k" select="......"/>
<xsl:apply-templates select="data" mode="$k"/>


не работает. Как это можно сделать что-то аналогичное? Чтобы вызывался темплейт с mode'ом, зависящим от значения переменной.
Re: Динамический атрибут mode у apply-templates
От: mikkri Великобритания  
Дата: 28.03.03 12:36
Оценка:
Здравствуйте, fox_2000, Вы писали:

F2>Такая конструкция:


F2>

F2>
F2><xsl:variable name="k" select="......"/>
F2><xsl:apply-templates select="data" mode="$k"/>
F2>


F2>не работает. Как это можно сделать что-то аналогичное? Чтобы вызывался темплейт с mode'ом, зависящим от значения переменной.


Совет 1:
Используй Case по всем возможным значениям k и проблема отпадет.

Совет 2:
Или вместо apply-templates используй call-template с параметром k.
Re: Динамический атрибут mode у apply-templates
От: Koxa  
Дата: 28.03.03 12:41
Оценка:
Здравствуйте, fox_2000, Вы писали:

F2>Такая конструкция:


F2>

F2>
F2><xsl:variable name="k" select="......"/>
F2><xsl:apply-templates select="data" mode="$k"/>
F2>


F2>не работает. Как это можно сделать что-то аналогичное? Чтобы вызывался темплейт с mode'ом, зависящим от значения переменной.



Может с таким вариантом поэксперементировать?

<xsl:call-template name="check">
  <xsl:with-param name="mode" select="$k"/>
</xsl:call-template>

<xsl:template name="check">
  <xsl:param name="descr"/>
   ...


Не совсем полный эквивалент — придется иначе шаблоны написать, но...
Re: Динамический атрибут mode у apply-templates
От: Аноним  
Дата: 28.03.03 12:49
Оценка:
Здравствуйте, fox_2000, Вы писали:

Попробуй:

F2>
F2><xsl:variable name="k" select="......"/>
F2><xsl:apply-templates select="data" mode="{$k}"/>
F2>
Re[2]: Динамический атрибут mode у apply-templates
От: mikkri Великобритания  
Дата: 28.03.03 13:24
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, fox_2000, Вы писали:


А>Попробуй:


F2>>
F2>><xsl:variable name="k" select="......"/>
F2>><xsl:apply-templates select="data" mode="{$k}"/>
F2>>


MS XML Parser говорит, что фигурные скобки ему не понятны.
А что они должны значить? Первый раз их использование в XSLT вижу
Re[3]: Динамический атрибут mode у apply-templates
От: Аноним  
Дата: 28.03.03 13:29
Оценка: 6 (1)
Здравствуйте, mikkri, Вы писали:

M>MS XML Parser говорит, что фигурные скобки ему не понятны.

M>А что они должны значить? Первый раз их использование в XSLT вижу

Это attribute value template — конструкция, посредством которой в атрибутах пользовательских элементов и некоторых элементов XSL можно употреблять выражения.
Re[4]: Динамический атрибут mode у apply-templates
От: mikkri Великобритания  
Дата: 28.03.03 14:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, mikkri, Вы писали:


M>>MS XML Parser говорит, что фигурные скобки ему не понятны.

M>>А что они должны значить? Первый раз их использование в XSLT вижу

А>Это attribute value template — конструкция, посредством которой в атрибутах пользовательских элементов и некоторых элементов XSL можно употреблять выражения.

NOTE: Not all attributes are interpreted as attribute value templates. Attributes whose value is an expression or pattern, attributes of top-level elements and attributes that refer to named XSLT objects are not interpreted as attribute value templates. In addition, xmlns attributes are not interpreted as attribute value templates; it would not be conformant with the XML Namespaces Recommendation to do this.


Видимо, работать не будет.
Спасибо за инфу.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.