powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Поругайте код
4 сообщений из 4, страница 1 из 1
Поругайте код
    #35653737
Smr_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация создаю html таблицу по xml данным, в ячейку надо вставить nbsp если узел отсутствует или узел пустой и содержимое узла если таковое имеется. Написал такой вот шаблон:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<xsl:template name="GetVal">
	<xsl:param name="src" select="."/>
	<xsl:if test="not($src)"> </xsl:if>
	<xsl:if test="$src">
		<xsl:variable name="val"><xsl:value-of select="$src"/></xsl:variable>
		<xsl:choose>
			<xsl:when test="$val = ''"> </xsl:when>
			<xsl:otherwise><xsl:value-of select="$val"/></xsl:otherwise>
		</xsl:choose>
	</xsl:if>	
</xsl:template>
И соответственно вызов:
Код: plaintext
1.
2.
3.
4.
5.
<td>
	<xsl:call-template name="GetVal">
		<xsl:with-param name="src" select="Bookmark18"/>
	</xsl:call-template>
</td>
Поскольку я в xsl далеко не гуру, хочу что бы знающие люди прокомментировали представленное на предмет "отимальности кода". Спасибо.
...
Рейтинг: 0 / 0
Поругайте код
    #35653811
Smr_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В строках
Код: plaintext
1.
<xsl:if test="not($src)"> </xsl:if>
<xsl:when test="$val = ''"> </xsl:when>
Вместо пробела написано & # 160 ; только слитно )
...
Рейтинг: 0 / 0
Поругайте код
    #35654111
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<xsl:template name="GetVal">
	<xsl:param name="src" select="."/>
	<xsl:variable name="val" select="string($src)"/>
	<xsl:choose>
		<xsl:when test="$val">&# 160 ;</xsl:when>
		<xsl:otherwise><xsl:value-of select="$val"/></xsl:otherwise>
	</xsl:choose>
</xsl:template>
...
Рейтинг: 0 / 0
Поругайте код
    #35656964
Smr_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо, работает как надо, с одним измененеием:
Код: plaintext
<xsl:when test="not($val)">
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Поругайте код
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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