powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Расширяемость XSL
6 сообщений из 6, страница 1 из 1
Расширяемость XSL
    #33823610
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня.
Интересен такой момент: в xsl шаблоне мне постоянно приходится использовать, например, такие строки


<xsl:text>color="</xsl:text>
<xsl:value-of select="@X"/>
<xsl:text>" </xsl:text>

Нельзя ли это где-то один раз объявить, а потом везде использовать это объявление?
...
Рейтинг: 0 / 0
Расширяемость XSL
    #33824015
ibnTeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Всем доброго дня.
> Интересен такой момент: в xsl шаблоне мне постоянно приходится
> использовать, например, такие строки
>
> <xsl:text>color="</xsl:text>
> <xsl:value-of select="@X"/>
> <xsl:text>" </xsl:text>
>
> Нельзя ли это где-то один раз объявить, а потом везде использовать это
> объявление?

Можно сделать именованный шаблон:
<xsl:template name="color_x">
<xsl:text>color="</xsl:text>
<xsl:value-of select="@X"/>
<xsl:text>" </xsl:text>
</xsl:template>
и вызывать
<xsl:call-template name="color_x"/>

Если не атрибут @X может иметь и другое имя, то можно воспользоваться
передачей параметров:
<xsl:call-template name="color_x"><xsl:with-param name="x"
value="@X2"/></xsl:call-template>

<xsl:tempate name="color_x">
<xsl:param name="x"/>
<xsl:text>color="</xsl:text>
<xsl:value-of select="$x"/>
<xsl:text>" </xsl:text>
</xsl:template>Posted via RSDN NNTP Server 2.0
...
Рейтинг: 0 / 0
Расширяемость XSL
    #33824072
Varg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Нельзя ли это где-то один раз объявить, а потом везде использовать это объявление?
 
см. <xsl:call-template> и <xsl:attribute-set>

> <xsl:text>color="</xsl:text>
<xsl:value-of select="@X"/>
<xsl:text>" </xsl:text>
 
если это для создания атрибута, то можно сделать так:
<xsl:attribute name="color"><xsl:value-of select="@X" /></xsl:attribute>

---
см.: TaskRunner, PopupWindow, Html2XmlConverter, Win32ResourceManager, MenuBuilder, Lens .
 
...
Рейтинг: 0 / 0
Расширяемость XSL
    #33824389
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, ibnTeo, Вы писали:

T>Можно сделать именованный шаблон:
T><xsl:template name="color_x">
T><xsl:text>color="</xsl:text>
T><xsl:value-of select="@X"/>
T><xsl:text>" </xsl:text>
T></xsl:template>
T>и вызывать
T><xsl:call-template name="color_x"/>

T>Если не атрибут @X может иметь и другое имя, то можно воспользоваться
T>передачей параметров:
T><xsl:call-template name="color_x"><xsl:with-param name="x"
T>value="@X2"/></xsl:call-template>

T><xsl:tempate name="color_x">
T><xsl:param name="x"/>
T><xsl:text>color="</xsl:text>
T><xsl:value-of select="$x"/>
T><xsl:text>" </xsl:text>
T></xsl:template>

Спасибо. Появился еще один вопрос. Можно ли при создании xsl использовать результат С# — функции? То есть допустим я в зависимости от value должен понять какой тэг писать, что умеет делать метод method(value) какого-либо C# класса.
...
Рейтинг: 0 / 0
Расширяемость XSL
    #33824591
Varg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Можно ли при создании xsl использовать результат С# — функции? То есть допустим я в зависимости от value должен понять какой тэг писать, что умеет делать метод method(value) какого-либо C# класса

см в MSDN описание метода XsltArgumentList.AddExtensionObject

---
см.: TaskRunner, PopupWindow, Html2XmlConverter, Win32ResourceManager, MenuBuilder, Lens .
 
...
Рейтинг: 0 / 0
Расширяемость XSL
    #33824639
ibnTeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Спасибо. Появился еще один вопрос. Можно ли при создании xsl
> использовать результат С# — функции? То есть допустим я в зависимости от
> value должен понять какой тэг писать, что умеет делать метод
> method(value) какого-либо C# класса.

У меня складывается впечатление что вы пытаетесь решить задачу способом,
который не использует вовсе XSLT возможностей. Задачу (кратко) в студию,
сейчас посмотрим что там не так.
Если нужно писать неизвестный тэг, то можно воспользоваться:
<xsl:element name="{tagName}">, где имя тэга находится в узле tagName.
А расширять возможности XSLT вполне можно через функции расширения. В
вышеуказанном посте уже сказали.Posted via RSDN NNTP Server 2.0
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Расширяемость XSL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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